ref: 7a4d64125176d9bd946682a3f9440de0f71324af
parent: 86fd37af164110c9b85c5e132c02be0368c9c779
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Tue Dec 26 20:29:15 EST 2017
Remove redundant data/ filename prefixes
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -1,9 +1,9 @@
; item ids
; indexes for:
-; - ItemAttributes (see data/items/item_attributes.asm)
-; - ItemDescriptions (see data/items/item_descriptions.asm)
+; - ItemNames (see data/items/names.asm)
+; - ItemDescriptions (see data/items/descriptions.asm)
+; - ItemAttributes (see data/items/attributes.asm)
; - ItemEffects (see engine/item_effects.asm)
-; - ItemNames (see data/items/item_names.asm)
const_def
const NO_ITEM ; $00
const MASTER_BALL ; $01
--- a/constants/item_data_constants.asm
+++ b/constants/item_data_constants.asm
@@ -1,4 +1,4 @@
-; item_attributes struct members (see data/items/item_attributes.asm)
+; item_attributes struct members (see data/items/attributes.asm)
const_def
const ITEMATTR_PRICE
const ITEMATTR_PRICE_HI
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -16,8 +16,8 @@
; map group ids
; `newgroup` indexes are for:
; - MapGroupPointers (see maps/map_headers.asm)
+; - MapGroupRoofs (see data/maps/roofs.asm)
; - OutdoorSprites (see data/maps/outdoor_sprites.asm)
-; - MapGroupRoofs (see data/maps/mapgroup_roofs.asm)
; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
const_def
--- a/constants/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -1,5 +1,5 @@
; hMapEntryMethod values
-; MapSetupScripts indexes (see data/maps/map_setup_scripts.asm)
+; MapSetupScripts indexes (see data/maps/setup_scripts.asm)
const_value SET $f1
const MAPSETUP_WARP ; f1
const MAPSETUP_CONTINUE ; f2
--- a/constants/move_constants.asm
+++ b/constants/move_constants.asm
@@ -1,9 +1,9 @@
; move ids
; indexes for:
; - Moves (see data/moves/moves.asm)
-; - MoveNames (see data/moves/move_names.asm)
-; - MoveDescriptions (see data/moves/move_descriptions.asm)
-; - BattleAnimations (see data/moves/move_anims.asm)
+; - MoveNames (see data/moves/names.asm)
+; - MoveDescriptions (see data/moves/descriptions.asm)
+; - BattleAnimations (see data/moves/animations.asm)
const_def
const NO_MOVE ; 00
const POUND ; 01
--- a/constants/move_effect_constants.asm
+++ b/constants/move_effect_constants.asm
@@ -1,4 +1,4 @@
-; MoveEffectsPointers indexes (see data/moves/move_effects_pointers.asm)
+; MoveEffectsPointers indexes (see data/moves/effects_pointers.asm)
const_def
const EFFECT_NORMAL_HIT
const EFFECT_SLEEP
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -1,21 +1,21 @@
; pokemon ids
; indexes for:
-; - PokemonCries (see data/pokemon/cries.asm)
+; - PokemonNames (see data/pokemon/names.asm)
; - BaseData (see data/pokemon/base_stats.asm)
-; - EggMovePointers (see data/pokemon/egg_move_pointers.asm)
; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm)
-; - PokemonNames (see data/pokemon/pokemon_names.asm)
+; - EggMovePointers (see data/pokemon/egg_move_pointers.asm)
+; - PokemonCries (see data/pokemon/cries.asm)
+; - MonMenuIcons (see data/pokemon/menu_icons.asm)
+; - PokemonPalettes (see data/pokemon/palettes.asm)
; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm)
-; - AnimationPointers (see gfx/pokemon/anim_pointers.asm)
-; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
-; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm)
-; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
-; - PicPointers (see gfx/pokemon/pic_pointers.asm)
-; - PokemonPalettes (see data/palettes/pokemon_palettes.asm)
; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm)
; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
-; - MonMenuIcons (see data/pokemon/menu_icons.asm)
; - Pokered_MonIndices (see data/time_capsule/mon_order.asm)
+; - PokemonPicPointers (see gfx/pokemon/pic_pointers.asm)
+; - AnimationPointers (see gfx/pokemon/anim_pointers.asm)
+; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm)
+; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
+; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
; - SortedPokemon (see mobile/fixed_words.asm)
const_value set 1
const BULBASAUR ; 01
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -5,12 +5,14 @@
; trainer class ids
; `trainerclass` indexes are for:
-; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm)
-; - TrainerClassDVs (see data/trainers/trainer_dvs.asm)
-; - TrainerClassNames (see data/trainers/trainer_class_names.asm)
-; - TrainerEncounterMusic (see data/trainers/encounter_music.asm)
+; - TrainerClassNames (see data/trainers/class_names.asm)
+; - TrainerClassAttributes (see data/trainers/attributes.asm)
+; - TrainerClassDVs (see data/trainers/dvs.asm)
; - TrainerGroups (see data/trainers/party_pointers.asm)
-; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm)
+; - TrainerEncounterMusic (see data/trainers/encounter_music.asm)
+; - TrainerPicPointers (see data/trainers/pic_pointers.asm)
+; - TrainerPalettes (see data/trainers/palettes.asm)
+; - BTTrainerClassGenders (see data/trainers/genders.asm)
; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm)
enum_start
CHRIS EQU __enum__
--- a/constants/trainer_data_constants.asm
+++ b/constants/trainer_data_constants.asm
@@ -1,4 +1,4 @@
-; TrainerClassAttributes struct members (see data/trainers/trainer_attributes.asm)
+; TrainerClassAttributes struct members (see data/trainers/attributes.asm)
const_def
const TRNATTR_ITEM1 ; 0
const TRNATTR_ITEM2 ; 1
@@ -45,7 +45,7 @@
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
-; TrainerTypes indexes (see trainers/read_party.asm)
+; TrainerTypes indexes (see engine/battle/read_trainer_party.asm)
const_def
const TRAINERTYPE_NORMAL
const TRAINERTYPE_MOVES
--- /dev/null
+++ b/data/battle_command_pointers.asm
@@ -1,0 +1,180 @@
+ dw 0 ; padding
+
+BattleCommandPointers: ; 3fd28
+; entries correspond to macros/scripts/battle_commands.asm
+ dw BattleCommand_CheckTurn ; 34084
+ dw BattleCommand_CheckObedience ; 343db
+ dw BattleCommand_UsedMoveText ; 34541
+ dw BattleCommand_DoTurn ; 34555
+ dw BattleCommand_Critical ; 34631
+ dw BattleCommand_DamageStats ; 352dc
+ dw BattleCommand_Stab ; 346d2 - 07
+ dw BattleCommand_DamageVariation ; 34cfd
+ dw BattleCommand_CheckHit ; 34d32
+ dw BattleCommand_LowerSub ; 34eee
+ dw BattleCommand_HitTargetNoSub ; 34f60
+ dw BattleCommand_RaiseSub ; 35004
+ dw BattleCommand_FailureText ; 35023
+ dw BattleCommand_CheckFaint ; 3505e
+ dw BattleCommand_CriticalText ; 35175
+ dw BattleCommand_SuperEffectiveText ; 351ad
+ dw BattleCommand_CheckDestinyBond ; 351c0
+ dw BattleCommand_BuildOpponentRage ; 35250
+ dw BattleCommand_PoisonTarget ; 35eee
+ dw BattleCommand_SleepTarget ; 35e5c
+ dw BattleCommand_DrainTarget ; 35fff
+ dw BattleCommand_EatDream ; 36008
+ dw BattleCommand_BurnTarget ; 3608c
+ dw BattleCommand_FreezeTarget ; 36102
+ dw BattleCommand_ParalyzeTarget ; 36165
+ dw BattleCommand_Selfdestruct ; 37380
+ dw BattleCommand_MirrorMove ; 373c9
+ dw BattleCommand_StatUp ; 361e4
+ dw BattleCommand_StatDown ; 362e3
+ dw BattleCommand_PayDay ; 3705c
+ dw BattleCommand_Conversion ; 3707f
+ dw BattleCommand_ResetStats ; 3710e
+ dw BattleCommand_StoreEnergy ; 36671
+ dw BattleCommand_UnleashEnergy ; 366e5
+ dw BattleCommand_ForceSwitch ; 3680f
+ dw BattleCommand_EndLoop ; 369b6
+ dw BattleCommand_FlinchTarget ; 36aa0
+ dw BattleCommand_OHKO ; 36af3
+ dw BattleCommand_Recoil ; 36cb2
+ dw BattleCommand_Mist ; 36c7e
+ dw BattleCommand_FocusEnergy ; 36c98
+ dw BattleCommand_Confuse ; 36d3b
+ dw BattleCommand_ConfuseTarget ; 36d1d
+ dw BattleCommand_Heal ; 3713e
+ dw BattleCommand_Transform ; 371cd
+ dw BattleCommand_Screen ; 372fc
+ dw BattleCommand_Poison ; 35f2c
+ dw BattleCommand_Paralyze ; 36dc7
+ dw BattleCommand_Substitute ; 36e7c
+ dw BattleCommand_RechargeNextTurn ; 36f0b
+ dw BattleCommand_Mimic ; 36f46
+ dw BattleCommand_Metronome ; 37418
+ dw BattleCommand_LeechSeed ; 36f9d
+ dw BattleCommand_Splash ; 36fe1
+ dw BattleCommand_Disable ; 36fed
+ dw BattleCommand_ClearText ; 37e85
+ dw BattleCommand_Charge ; 36b4d
+ dw BattleCommand_CheckCharge ; 36b3a
+ dw BattleCommand_TrapTarget ; 36c2d
+ dw BattleCommand3c ; 36c2c
+ dw BattleCommand_Rampage ; 36751
+ dw BattleCommand_CheckRampage ; 3671a
+ dw BattleCommand_ConstantDamage ; 35726
+ dw BattleCommand_Counter ; 35813
+ dw BattleCommand_Encore ; 35864
+ dw BattleCommand_PainSplit ; 35926
+ dw BattleCommand_Snore ; 359d0
+ dw BattleCommand_Conversion2 ; 359e6
+ dw BattleCommand_LockOn ; 35a53
+ dw BattleCommand_Sketch ; 35a74
+ dw BattleCommand_DefrostOpponent ; 35b16
+ dw BattleCommand_SleepTalk ; 35b33
+ dw BattleCommand_DestinyBond ; 35bff
+ dw BattleCommand_Spite ; 35c0f
+ dw BattleCommand_FalseSwipe ; 35c94
+ dw BattleCommand_HealBell ; 35cc9
+ dw BattleCommand_HeldFlinch ; 36ac9
+ dw BattleCommand_TripleKick ; 346b2
+ dw BattleCommand_KickCounter ; 346cd
+ dw BattleCommand_Thief ; 37492
+ dw BattleCommand_ArenaTrap ; 37517
+ dw BattleCommand_Nightmare ; 37536
+ dw BattleCommand_Defrost ; 37563
+ dw BattleCommand_Curse ; 37588
+ dw BattleCommand_Protect ; 37618
+ dw BattleCommand_Spikes ; 37683
+ dw BattleCommand_Foresight ; 376a0
+ dw BattleCommand_PerishSong ; 376c2
+ dw BattleCommand_StartSandstorm ; 376f8
+ dw BattleCommand_Endure ; 3766f
+ dw BattleCommand_CheckCurl ; 37718
+ dw BattleCommand_RolloutPower ; 37734
+ dw BattleCommand5d ; 37791
+ dw BattleCommand_FuryCutter ; 37792
+ dw BattleCommand_Attract ; 377ce
+ dw BattleCommand_HappinessPower ; 3784b
+ dw BattleCommand_Present ; 37874
+ dw BattleCommand_DamageCalc ; 35612 - 62
+ dw BattleCommand_FrustrationPower ; 3790e
+ dw BattleCommand_Safeguard ; 37939
+ dw BattleCommand_CheckSafeguard ; 37972
+ dw BattleCommand_GetMagnitude ; 37991
+ dw BattleCommand_BatonPass ; 379c9
+ dw BattleCommand_Pursuit ; 37b1d
+ dw BattleCommand_ClearHazards ; 37b39
+ dw BattleCommand_HealMorn ; 37b74
+ dw BattleCommand_HealDay ; 37b78
+ dw BattleCommand_HealNite ; 37b7c
+ dw BattleCommand_HiddenPower ; 37be8
+ dw BattleCommand_StartRain ; 37bf4
+ dw BattleCommand_StartSun ; 37c07
+ dw BattleCommand_AttackUp ; 361ac
+ dw BattleCommand_DefenseUp ; 361b0
+ dw BattleCommand_SpeedUp ; 361b4
+ dw BattleCommand_SpecialAttackUp ; 361b8
+ dw BattleCommand_SpecialDefenseUp ; 361bc
+ dw BattleCommand_AccuracyUp ; 361c0
+ dw BattleCommand_EvasionUp ; 361c4
+ dw BattleCommand_AttackUp2 ; 361c8
+ dw BattleCommand_DefenseUp2 ; 361cc
+ dw BattleCommand_SpeedUp2 ; 361d0
+ dw BattleCommand_SpecialAttackUp2 ; 361d4
+ dw BattleCommand_SpecialDefenseUp2 ; 361d8
+ dw BattleCommand_AccuracyUp2 ; 361dc
+ dw BattleCommand_EvasionUp2 ; 361e0
+ dw BattleCommand_AttackDown ; 362ad
+ dw BattleCommand_DefenseDown ; 362b1
+ dw BattleCommand_SpeedDown ; 362b5
+ dw BattleCommand_SpecialAttackDown ; 362b9
+ dw BattleCommand_SpecialDefenseDown ; 362bd
+ dw BattleCommand_AccuracyDown ; 362c1
+ dw BattleCommand_EvasionDown ; 362c5
+ dw BattleCommand_AttackDown2 ; 362c9
+ dw BattleCommand_DefenseDown2 ; 362cd
+ dw BattleCommand_SpeedDown2 ; 362d1
+ dw BattleCommand_SpecialAttackDown2 ; 362d5
+ dw BattleCommand_SpecialDefenseDown2 ; 362d9
+ dw BattleCommand_AccuracyDown2 ; 362dd
+ dw BattleCommand_EvasionDown2 ; 362e1
+ dw BattleCommand_StatUpMessage ; 363b8
+ dw BattleCommand_StatDownMessage ; 363e9
+ dw BattleCommand_StatUpFailText ; 3644c
+ dw BattleCommand_StatDownFailText ; 3646a
+ dw BattleCommand_EffectChance ; 34ecc
+ dw BattleCommand_StatDownAnim ; 34fdb
+ dw BattleCommand_StatUpAnim ; 34fd1
+ dw BattleCommand_SwitchTurn ; 34ffd - 93
+ dw BattleCommand_FakeOut ; 36a82
+ dw BattleCommand_BellyDrum ; 37c1a
+ dw BattleCommand_PsychUp ; 37c55
+ dw BattleCommand_Rage ; 36f1d
+ dw BattleCommand_DoubleFlyingDamage ; 36f25
+ dw BattleCommand_DoubleUndergroundDamage ; 36f2f
+ dw BattleCommand_MirrorCoat ; 37c95
+ dw BattleCommand_CheckFutureSight ; 37d0d
+ dw BattleCommand_FutureSight ; 37d34
+ dw BattleCommand_DoubleMinimizeDamage ; 37ce6
+ dw BattleCommand_SkipSunCharge ; 37d02
+ dw BattleCommand_ThunderAccuracy ; 37d94
+ dw BattleCommand_Teleport ; 36778
+ dw BattleCommand_BeatUp ; 35461
+ dw BattleCommand_RageDamage ; 3527b
+ dw BattleCommand_ResetTypeMatchup ; 34833
+ dw BattleCommand_AllStatsUp ; 36500
+ dw BattleCommanda5 ; 35165
+ dw BattleCommand_RaiseSubNoAnim ; 365af
+ dw BattleCommand_LowerSubNoAnim ; 365c3
+ dw BattleCommanda8 ; 355b5
+ dw BattleCommand_ClearMissDamage ; 355d5 - a9
+ dw BattleCommand_MoveDelay ; 37e80
+ dw BattleCommand_HitTarget ; 34f57
+ dw BattleCommand_TriStatusChance ; 3658f
+ dw BattleCommand_SuperEffectiveLoopText ; 351a5
+ dw BattleCommand_StartLoop ; 35197
+ dw BattleCommand_Curl ; 365a7
+; 3fe86
--- /dev/null
+++ b/data/items/attributes.asm
@@ -1,0 +1,521 @@
+item_attribute: MACRO
+; price, held effect, parameter, property, pocket, field menu, battle menu
+ dw \1
+ db \2, \3, \4, \5
+ dn \6, \7
+ENDM
+
+ItemAttributes: ; 67c1
+; entries correspond to constants/item_constants.asm
+; MASTER BALL
+ item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ULTRA BALL
+ item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; BRIGHTPOWDER
+ item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GREAT BALL
+ item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; # BALL
+ item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BICYCLE
+ item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MOON STONE
+ item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ANTIDOTE
+ item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; BURN HEAL
+ item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE HEAL
+ item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; AWAKENING
+ item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PARLYZ HEAL
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FULL RESTORE
+ item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX POTION
+ item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HYPER POTION
+ item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SUPER POTION
+ item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POTION
+ item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ESCAPE ROPE
+ item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; REPEL
+ item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX ELIXER
+ item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FIRE STONE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; THUNDERSTONE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; WATER STONE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; HP UP
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; PROTEIN
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; IRON
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; CARBOS
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; LUCKY PUNCH
+ item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CALCIUM
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; RARE CANDY
+ item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; X ACCURACY
+ item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LEAF STONE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; METAL POWDER
+ item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; NUGGET
+ item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; # DOLL
+ item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FULL HEAL
+ item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVE
+ item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX REVIVE
+ item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GUARD SPEC.
+ item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; SUPER REPEL
+ item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX REPEL
+ item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; DIRE HIT
+ item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRESH WATER
+ item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SODA POP
+ item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; LEMONADE
+ item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; X ATTACK
+ item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; X DEFEND
+ item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X SPEED
+ item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X SPECIAL
+ item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; COIN CASE
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; ITEMFINDER
+ item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EXP.SHARE
+ item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; OLD ROD
+ item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; GOOD ROD
+ item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; SILVER LEAF
+ item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SUPER ROD
+ item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PP UP
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ETHER
+ item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX ETHER
+ item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ELIXER
+ item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED SCALE
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SECRETPOTION
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; S.S.TICKET
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERY EGG
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CLEAR BELL
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SILVER WING
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MOOMOO MILK
+ item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; QUICK CLAW
+ item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PSNCUREBERRY
+ item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GOLD LEAF
+ item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SOFT SAND
+ item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SHARP BEAK
+ item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PRZCUREBERRY
+ item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; BURNT BERRY
+ item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE BERRY
+ item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POISON BARB
+ item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; KING'S ROCK
+ item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BITTER BERRY
+ item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
+; MINT BERRY
+ item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TINYMUSHROOM
+ item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG MUSHROOM
+ item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SILVERPOWDER
+ item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLU APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; AMULET COIN
+ item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; YLW APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GRN APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CLEANSE TAG
+ item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTIC WATER
+ item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TWISTEDSPOON
+ item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; WHT APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLACKBELT
+ item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLK APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PNK APRICORN
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLACKGLASSES
+ item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SLOWPOKETAIL
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PINK BOW
+ item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STICK
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SMOKE BALL
+ item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; NEVERMELTICE
+ item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MAGNET
+ item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRACLEBERRY
+ item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PEARL
+ item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG PEARL
+ item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EVERSTONE
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SPELL TAG
+ item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; RAGECANDYBAR
+ item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GS BALL
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLUE CARD
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MIRACLE SEED
+ item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; THICK CLUB
+ item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FOCUS BAND
+ item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ENERGYPOWDER
+ item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ENERGY ROOT
+ item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HEAL POWDER
+ item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVAL HERB
+ item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HARD STONE
+ item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LUCKY EGG
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CARD KEY
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MACHINE PART
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EGG TICKET
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOST ITEM
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STARDUST
+ item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STAR PIECE
+ item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BASEMENT KEY
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PASS
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CHARCOAL
+ item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY JUICE
+ item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SCOPE LENS
+ item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; METAL COAT
+ item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; DRAGON FANG
+ item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEFTOVERS
+ item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERYBERRY
+ item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; DRAGON SCALE
+ item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERSERK GENE
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SACRED ASH
+ item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; HEAVY BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FLOWER MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEVEL BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LURE BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FAST BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LIGHT BALL
+ item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRIEND BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; MOON BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LOVE BALL
+ item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; NORMAL BOX
+ item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; GORGEOUS BOX
+ item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; SUN STONE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; POLKADOT BOW
+ item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; UP-GRADE
+ item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY
+ item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GOLD BERRY
+ item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SQUIRTBOTTLE
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PARK BALL
+ item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; RAINBOW WING
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BRICK PIECE
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SURF MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LITEBLUEMAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PORTRAITMAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOVELY MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EON MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MORPH MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLUESKY MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MUSIC MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRAGE MAIL
+ item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM01
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM02
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM03
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM04
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM05
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM06
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM07
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM08
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM09
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM10
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM11
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM12
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM13
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM14
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM15
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM16
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM17
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM18
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM19
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM20
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM21
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM22
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM23
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM24
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM25
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM26
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM27
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM28
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM29
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM30
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM31
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM32
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM33
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM34
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM35
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM36
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM37
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM38
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM39
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM40
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM41
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM42
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM43
+ item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM44
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM45
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM46
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM47
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM48
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM49
+ item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM50
+ item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM01
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM02
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM03
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM04
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM05
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM06
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM07
+ item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TERU-SAMA
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ?
+ item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
--- /dev/null
+++ b/data/items/descriptions.asm
@@ -1,0 +1,1042 @@
+PrintItemDescription: ; 0x1c8955
+; Print the description for item [CurSpecies] at de.
+
+ ld a, [CurSpecies]
+ cp TM01
+ jr c, .not_a_tm
+
+ ld [CurItem], a
+ push de
+ farcall GetTMHMItemMove
+ pop hl
+ ld a, [wd265]
+ ld [CurSpecies], a
+ predef PrintMoveDesc
+ ret
+
+.not_a_tm
+ push de
+ ld hl, ItemDescriptions
+ ld a, [CurSpecies]
+ dec a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ jp PlaceString
+; 0x1c8987
+
+
+ItemDescriptions:
+ dw MasterBallDesc
+ dw UltraBallDesc
+ dw BrightpowderDesc
+ dw GreatBallDesc
+ dw PokeBallDesc
+ dw TeruSama1Desc
+ dw BicycleDesc
+ dw MoonStoneDesc
+ dw AntidoteDesc
+ dw BurnHealDesc
+ dw IceHealDesc
+ dw AwakeningDesc
+ dw ParlyzHealDesc
+ dw FullRestoreDesc
+ dw MaxPotionDesc
+ dw HyperPotionDesc
+ dw SuperPotionDesc
+ dw PotionDesc
+ dw EscapeRopeDesc
+ dw RepelDesc
+ dw MaxElixerDesc
+ dw FireStoneDesc
+ dw ThunderStoneDesc
+ dw WaterStoneDesc
+ dw TeruSama2Desc
+ dw HPUpDesc
+ dw ProteinDesc
+ dw IronDesc
+ dw CarbosDesc
+ dw LuckyPunchDesc
+ dw CalciumDesc
+ dw RareCandyDesc
+ dw XAccuracyDesc
+ dw LeafStoneDesc
+ dw MetalPowderDesc
+ dw NuggetDesc
+ dw PokeDollDesc
+ dw FullHealDesc
+ dw ReviveDesc
+ dw MaxReviveDesc
+ dw GuardSpecDesc
+ dw SuperRepelDesc
+ dw MaxRepelDesc
+ dw DireHitDesc
+ dw TeruSama3Desc
+ dw FreshWaterDesc
+ dw SodaPopDesc
+ dw LemonadeDesc
+ dw XAttackDesc
+ dw TeruSama4Desc
+ dw XDefendDesc
+ dw XSpeedDesc
+ dw XSpecialDesc
+ dw CoinCaseDesc
+ dw ItemfinderDesc
+ dw TeruSama5Desc
+ dw ExpShareDesc
+ dw OldRodDesc
+ dw GoodRodDesc
+ dw SilverLeafDesc
+ dw SuperRodDesc
+ dw PPUpDesc
+ dw EtherDesc
+ dw MaxEtherDesc
+ dw ElixerDesc
+ dw RedScaleDesc
+ dw SecretPotionDesc
+ dw SSTicketDesc
+ dw MysteryEggDesc
+ dw ClearBellDesc
+ dw SilverWingDesc
+ dw MoomooMilkDesc
+ dw QuickClawDesc
+ dw PsnCureBerryDesc
+ dw GoldLeafDesc
+ dw SoftSandDesc
+ dw SharpBeakDesc
+ dw PrzCureBerryDesc
+ dw BurntBerryDesc
+ dw IceBerryDesc
+ dw PoisonBarbDesc
+ dw KingsRockDesc
+ dw BitterBerryDesc
+ dw MintBerryDesc
+ dw RedApricornDesc
+ dw TinyMushroomDesc
+ dw BigMushroomDesc
+ dw SilverPowderDesc
+ dw BluApricornDesc
+ dw TeruSama6Desc
+ dw AmuletCoinDesc
+ dw YlwApricornDesc
+ dw GrnApricornDesc
+ dw CleanseTagDesc
+ dw MysticWaterDesc
+ dw TwistedSpoonDesc
+ dw WhtApricornDesc
+ dw BlackbeltDesc
+ dw BlkApricornDesc
+ dw TeruSama7Desc
+ dw PnkApricornDesc
+ dw BlackGlassesDesc
+ dw SlowpokeTailDesc
+ dw PinkBowDesc
+ dw StickDesc
+ dw SmokeBallDesc
+ dw NeverMeltIceDesc
+ dw MagnetDesc
+ dw MiracleBerryDesc
+ dw PearlDesc
+ dw BigPearlDesc
+ dw EverStoneDesc
+ dw SpellTagDesc
+ dw RageCandyBarDesc
+ dw GSBallDesc
+ dw BlueCardDesc
+ dw MiracleSeedDesc
+ dw ThickClubDesc
+ dw FocusBandDesc
+ dw TeruSama8Desc
+ dw EnergyPowderDesc
+ dw EnergyRootDesc
+ dw HealPowderDesc
+ dw RevivalHerbDesc
+ dw HardStoneDesc
+ dw LuckyEggDesc
+ dw CardKeyDesc
+ dw MachinePartDesc
+ dw EggTicketDesc
+ dw LostItemDesc
+ dw StardustDesc
+ dw StarPieceDesc
+ dw BasementKeyDesc
+ dw PassDesc
+ dw TeruSama9Desc
+ dw TeruSama10Desc
+ dw TeruSama11Desc
+ dw CharcoalDesc
+ dw BerryJuiceDesc
+ dw ScopeLensDesc
+ dw TeruSama12Desc
+ dw TeruSama13Desc
+ dw MetalCoatDesc
+ dw DragonFangDesc
+ dw TeruSama14Desc
+ dw LeftoversDesc
+ dw TeruSama15Desc
+ dw TeruSama16Desc
+ dw TeruSama17Desc
+ dw MysteryBerryDesc
+ dw DragonScaleDesc
+ dw BerserkGeneDesc
+ dw TeruSama18Desc
+ dw TeruSama19Desc
+ dw TeruSama20Desc
+ dw SacredAshDesc
+ dw HeavyBallDesc
+ dw FlowerMailDesc
+ dw LevelBallDesc
+ dw LureBallDesc
+ dw FastBallDesc
+ dw TeruSama21Desc
+ dw LightBallDesc
+ dw FriendBallDesc
+ dw MoonBallDesc
+ dw LoveBallDesc
+ dw NormalBoxDesc
+ dw GorgeousBoxDesc
+ dw SunStoneDesc
+ dw PolkadotBowDesc
+ dw TeruSama22Desc
+ dw UpGradeDesc
+ dw BerryDesc
+ dw GoldBerryDesc
+ dw SquirtBottleDesc
+ dw TeruSama23Desc
+ dw ParkBallDesc
+ dw RainbowWingDesc
+ dw TeruSama24Desc
+ dw BrickPieceDesc
+ dw SurfMailDesc
+ dw LiteBlueMailDesc
+ dw PortraitMailDesc
+ dw LovelyMailDesc
+ dw EonMailDesc
+ dw MorphMailDesc
+ dw BlueSkyMailDesc
+ dw MusicMailDesc
+ dw MewMailDesc
+ dw TeruSama25Desc
+ dw TeruSama26Desc
+ dw TeruSama26Desc
+ dw TeruSama26Desc
+ dw TeruSama26Desc
+ dw TeruSama26Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama27Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama28Desc
+ dw TeruSama29Desc
+ dw TeruSama30Desc
+ dw TeruSama31Desc
+ dw TeruSama32Desc
+ dw TeruSama33Desc
+
+MasterBallDesc:
+ db "The best BALL. It"
+ next "never misses.@"
+
+UltraBallDesc:
+ db "A BALL with a high"
+ next "rate of success.@"
+
+BrightpowderDesc:
+ db "Lowers the foe's"
+ next "accuracy. (HOLD)@"
+
+GreatBallDesc:
+ db "A BALL with a de-"
+ next "cent success rate.@"
+
+PokeBallDesc:
+ db "An item for catch-"
+ next "ing #MON.@"
+
+TeruSama1Desc:
+ db "?@"
+
+BicycleDesc:
+ db "A collapsible bike"
+ next "for fast movement.@"
+
+MoonStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+AntidoteDesc:
+ db "Cures poisoned"
+ next "#MON.@"
+
+BurnHealDesc:
+ db "Heals burned"
+ next "#MON.@"
+
+IceHealDesc:
+ db "Defrosts frozen"
+ next "#MON.@"
+
+AwakeningDesc:
+ db "Awakens sleeping"
+ next "#MON.@"
+
+ParlyzHealDesc:
+ db "Heals paralyzed"
+ next "#MON.@"
+
+FullRestoreDesc:
+ db "Fully restores HP"
+ next "& status.@"
+
+MaxPotionDesc:
+ db "Fully restores"
+ next "#MON HP.@"
+
+HyperPotionDesc:
+ db "Restores #MON"
+ next "HP by 200.@"
+
+SuperPotionDesc:
+ db "Restores #MON"
+ next "HP by 50.@"
+
+PotionDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+EscapeRopeDesc:
+ db "Use for escaping"
+ next "from caves, etc.@"
+
+RepelDesc:
+ db "Repels weak #-"
+ next "MON for 100 steps.@"
+
+MaxElixerDesc:
+ db "Fully restores the"
+ next "PP of one #MON.@"
+
+FireStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+ThunderStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+WaterStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+TeruSama2Desc:
+ db "?@"
+
+HPUpDesc:
+ db "Raises the HP of"
+ next "one #MON.@"
+
+ProteinDesc:
+ db "Raises ATTACK of"
+ next "one #MON.@"
+
+IronDesc:
+ db "Raises DEFENSE of"
+ next "one #MON.@"
+
+CarbosDesc:
+ db "Raises SPEED of"
+ next "one #MON.@"
+
+LuckyPunchDesc:
+ db "Ups critical hit"
+ next "ratio of CHANSEY.@"
+
+CalciumDesc:
+ db "Ups SPECIAL stats"
+ next "of one #MON.@"
+
+RareCandyDesc:
+ db "Raises level of a"
+ next "#MON by one.@"
+
+XAccuracyDesc:
+ db "Raises accuracy."
+ next "(1 BTL)@"
+
+LeafStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+MetalPowderDesc:
+ db "Raises DEFENSE of"
+ next "DITTO. (HOLD)@"
+
+NuggetDesc:
+ db "Made of pure gold."
+ next "Sell high.@"
+
+PokeDollDesc:
+ db "Use to escape from"
+ next "a wild #MON.@"
+
+FullHealDesc:
+ db "Eliminates all"
+ next "status problems.@"
+
+ReviveDesc:
+ db "Restores a fainted"
+ next "#MON to 1/2 HP.@"
+
+MaxReviveDesc:
+ db "Fully restores a"
+ next "fainted #MON.@"
+
+GuardSpecDesc:
+ db "Prevents stats"
+ next "reduction. (1 BTL)@"
+
+SuperRepelDesc:
+ db "Repels weak #-"
+ next "MON for 200 steps.@"
+
+MaxRepelDesc:
+ db "Repels weak #-"
+ next "MON for 250 steps.@"
+
+DireHitDesc:
+ db "Ups critical hit"
+ next "ratio. (1 BTL)@"
+
+TeruSama3Desc:
+ db "?@"
+
+FreshWaterDesc:
+ db "Restores #MON"
+ next "HP by 50.@"
+
+SodaPopDesc:
+ db "Restores #MON"
+ next "HP by 60.@"
+
+LemonadeDesc:
+ db "Restores #MON"
+ next "HP by 80.@"
+
+XAttackDesc:
+ db "Raises ATTACK."
+ next "(1 BTL)@"
+
+TeruSama4Desc:
+ db "?@"
+
+XDefendDesc:
+ db "Raises DEFENSE."
+ next "(1 BTL)@"
+
+XSpeedDesc:
+ db "Raises SPEED."
+ next "(1 BTL)@"
+
+XSpecialDesc:
+ db "Raises SPECIAL"
+ next "ATTACK. (1 BTL)@"
+
+CoinCaseDesc:
+ db "Holds up to 9,999"
+ next "game coins.@"
+
+ItemfinderDesc:
+ db "Checks for unseen"
+ next "items in the area.@"
+
+TeruSama5Desc:
+ db "?@"
+
+ExpShareDesc:
+ db "Shares battle EXP."
+ next "Points. (HOLD)@"
+
+OldRodDesc:
+ db "Use by water to"
+ next "fish for #MON.@"
+
+GoodRodDesc:
+ db "A good ROD for"
+ next "catching #MON.@"
+
+SilverLeafDesc:
+ db "A strange, silver-"
+ next "colored leaf.@"
+
+SuperRodDesc:
+ db "The best ROD for"
+ next "catching #MON.@"
+
+PPUpDesc:
+ db "Raises max PP of"
+ next "a selected move.@"
+
+EtherDesc:
+ db "Restores PP of one"
+ next "move by 10.@"
+
+MaxEtherDesc:
+ db "Fully restores PP"
+ next "of one move.@"
+
+ElixerDesc:
+ db "Restores PP of all"
+ next "moves by 10.@"
+
+RedScaleDesc:
+ db "A scale from the"
+ next "red GYARADOS.@"
+
+SecretPotionDesc:
+ db "Fully heals any"
+ next "#MON.@"
+
+SSTicketDesc:
+ db "A ticket for the"
+ next "S.S.AQUA.@"
+
+MysteryEggDesc:
+ db "An EGG obtained"
+ next "from MR.#MON.@"
+
+ClearBellDesc:
+ db "Makes a gentle"
+ next "ringing.@"
+
+SilverWingDesc:
+ db "A strange, silver-"
+ next "colored feather.@"
+
+MoomooMilkDesc:
+ db "Restores #MON"
+ next "HP by 100.@"
+
+QuickClawDesc:
+ db "Raises 1st strike"
+ next "ratio. (HOLD)@"
+
+PsnCureBerryDesc:
+ db "A self-cure for"
+ next "poison. (HOLD)@"
+
+GoldLeafDesc:
+ db "A strange, gold-"
+ next "colored leaf.@"
+
+SoftSandDesc:
+ db "Powers up ground-"
+ next "type moves. (HOLD)@"
+
+SharpBeakDesc:
+ db "Powers up flying-"
+ next "type moves. (HOLD)@"
+
+PrzCureBerryDesc:
+ db "A self-cure for"
+ next "paralysis. (HOLD)@"
+
+BurntBerryDesc:
+ db "A self-cure for"
+ next "freezing. (HOLD)@"
+
+IceBerryDesc:
+ db "A self-heal for a"
+ next "burn. (HOLD)@"
+
+PoisonBarbDesc:
+ db "Powers up poison-"
+ next "type moves. (HOLD)@"
+
+KingsRockDesc:
+ db "May make the foe"
+ next "flinch. (HOLD)@"
+
+BitterBerryDesc:
+ db "A self-cure for"
+ next "confusion. (HOLD)@"
+
+MintBerryDesc:
+ db "A self-awakening"
+ next "for sleep. (HOLD)@"
+
+RedApricornDesc:
+ db "A red APRICORN.@"
+
+TinyMushroomDesc:
+ db "An ordinary mush-"
+ next "room. Sell low.@"
+
+BigMushroomDesc:
+ db "A rare mushroom."
+ next "Sell high.@"
+
+SilverPowderDesc:
+ db "Powers up bug-type"
+ next "moves. (HOLD)@"
+
+BluApricornDesc:
+ db "A blue APRICORN.@"
+
+TeruSama6Desc:
+ db "?@"
+
+AmuletCoinDesc:
+ db "Doubles monetary"
+ next "earnings. (HOLD)@"
+
+YlwApricornDesc:
+ db "A yellow APRICORN.@"
+
+GrnApricornDesc:
+ db "A green APRICORN.@"
+
+CleanseTagDesc:
+ db "Helps repel wild"
+ next "#MON. (HOLD)@"
+
+MysticWaterDesc:
+ db "Powers up water-"
+ next "type moves. (HOLD)@"
+
+TwistedSpoonDesc:
+ db "Powers up psychic-"
+ next "type moves. (HOLD)@"
+
+WhtApricornDesc:
+ db "A white APRICORN.@"
+
+BlackbeltDesc:
+ db "Boosts fighting-"
+ next "type moves. (HOLD)@"
+
+BlkApricornDesc:
+ db "A black APRICORN."
+ next "@"
+
+TeruSama7Desc:
+ db "?@"
+
+PnkApricornDesc:
+ db "A pink APRICORN."
+ next "@"
+
+BlackGlassesDesc:
+ db "Powers up dark-"
+ next "type moves. (HOLD)@"
+
+SlowpokeTailDesc:
+ db "Very tasty. Sell"
+ next "high.@"
+
+PinkBowDesc:
+ db "Powers up normal-"
+ next "type moves. (HOLD)@"
+
+StickDesc:
+ db "An ordinary stick."
+ next "Sell low.@"
+
+SmokeBallDesc:
+ db "Escape from wild"
+ next "#MON. (HOLD)@"
+
+NeverMeltIceDesc:
+ db "Powers up ice-type"
+ next "moves. (HOLD)@"
+
+MagnetDesc:
+ db "Boosts electric-"
+ next "type moves. (HOLD)@"
+
+MiracleBerryDesc:
+ db "Cures all status"
+ next "problems. (HOLD)@"
+
+PearlDesc:
+ db "A beautiful pearl."
+ next "Sell low.@"
+
+BigPearlDesc:
+ db "A big, beautiful"
+ next "pearl. Sell high.@"
+
+EverStoneDesc:
+ db "Stops evolution."
+ next "(HOLD)@"
+
+SpellTagDesc:
+ db "Powers up ghost-"
+ next "type moves. (HOLD)@"
+
+RageCandyBarDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+GSBallDesc:
+ db "The mysterious"
+ next "BALL.@"
+
+BlueCardDesc:
+ db "Card to save"
+ next "points.@"
+
+MiracleSeedDesc:
+ db "Powers up grass-"
+ next "type moves. (HOLD)@"
+
+ThickClubDesc:
+ db "A bone of some"
+ next "sort. Sell low.@"
+
+FocusBandDesc:
+ db "May prevent faint-"
+ next "ing. (HOLD)@"
+
+TeruSama8Desc:
+ db "?@"
+
+EnergyPowderDesc:
+ db "Restores #MON"
+ next "HP by 50. Bitter.@"
+
+EnergyRootDesc:
+ db "Restores #MON"
+ next "HP by 200. Bitter.@"
+
+HealPowderDesc:
+ db "Cures all status"
+ next "problems. Bitter.@"
+
+RevivalHerbDesc:
+ db "Revives fainted"
+ next "#MON. Bitter.@"
+
+HardStoneDesc:
+ db "Powers up rock-"
+ next "type moves. (HOLD)@"
+
+LuckyEggDesc:
+ db "Earns extra EXP."
+ next "points. (HOLD)@"
+
+CardKeyDesc:
+ db "Opens shutters in"
+ next "the RADIO TOWER.@"
+
+MachinePartDesc:
+ db "A machine part for"
+ next "the POWER PLANT.@"
+
+EggTicketDesc:
+ db "May use at Golden-"
+ next "rod trade corner.@"
+
+LostItemDesc:
+ db "The # DOLL lost"
+ next "by the COPYCAT.@"
+
+StardustDesc:
+ db "Pretty, red sand."
+ next "Sell high.@"
+
+StarPieceDesc:
+ db "A hunk of red gem."
+ next "Sell very high.@"
+
+BasementKeyDesc:
+ db "Opens doors.@"
+
+PassDesc:
+ db "A ticket for the"
+ next "MAGNET TRAIN.@"
+
+TeruSama9Desc:
+ db "?@"
+
+TeruSama10Desc:
+ db "?@"
+
+TeruSama11Desc:
+ db "?@"
+
+CharcoalDesc:
+ db "Powers up fire-"
+ next "type moves. (HOLD)@"
+
+BerryJuiceDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+ScopeLensDesc:
+ db "Raises critical"
+ next "hit ratio. (HOLD)@"
+
+TeruSama12Desc:
+ db "?@"
+
+TeruSama13Desc:
+ db "?@"
+
+MetalCoatDesc:
+ db "Powers up steel-"
+ next "type moves. (HOLD)@"
+
+DragonFangDesc:
+ db "Powers up dragon-"
+ next "type moves. (HOLD)@"
+
+TeruSama14Desc:
+ db "?@"
+
+LeftoversDesc:
+ db "Restores HP during"
+ next "battle. (HOLD)@"
+
+TeruSama15Desc:
+ db "?@"
+
+TeruSama16Desc:
+ db "?@"
+
+TeruSama17Desc:
+ db "?@"
+
+MysteryBerryDesc:
+ db "A self-restore"
+ next "for PP. (HOLD)@"
+
+DragonScaleDesc:
+ db "A rare dragon-type"
+ next "item.@"
+
+BerserkGeneDesc:
+ db "Boosts ATTACK but"
+ next "causes confusion.@"
+
+TeruSama18Desc:
+ db "?@"
+
+TeruSama19Desc:
+ db "?@"
+
+TeruSama20Desc:
+ db "?@"
+
+SacredAshDesc:
+ db "Fully revives all"
+ next "fainted #MON.@"
+
+HeavyBallDesc:
+ db "A BALL for catch-"
+ next "ing heavy #MON.@"
+
+FlowerMailDesc:
+ db "Flower-print MAIL."
+ next "(HOLD)@"
+
+LevelBallDesc:
+ db "A BALL for lower-"
+ next "level #MON.@"
+
+LureBallDesc:
+ db "A BALL for #MON"
+ next "hooked by a ROD.@"
+
+FastBallDesc:
+ db "A BALL for catch-"
+ next "ing fast #MON.@"
+
+TeruSama21Desc:
+ db "?@"
+
+LightBallDesc:
+ db "An odd, electrical"
+ next "orb. (HOLD)@"
+
+FriendBallDesc:
+ db "A BALL that makes"
+ next "#MON friendly.@"
+
+MoonBallDesc:
+ db "A BALL for MOON"
+ next "STONE evolvers.@"
+
+LoveBallDesc:
+ db "For catching the"
+ next "opposite gender.@"
+
+NormalBoxDesc:
+ db "Open it and see"
+ next "what's inside.@"
+
+GorgeousBoxDesc:
+ db "Open it and see"
+ next "what's inside.@"
+
+SunStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+PolkadotBowDesc:
+ db "Powers up normal-"
+ next "type moves. (HOLD)@"
+
+TeruSama22Desc:
+ db "?@"
+
+UpGradeDesc:
+ db "A mysterious box"
+ next "made by SILPH CO.@"
+
+BerryDesc:
+ db "A self-restore"
+ next "item. (10HP, HOLD)@"
+
+GoldBerryDesc:
+ db "A self-restore"
+ next "item. (30HP, HOLD)@"
+
+SquirtBottleDesc:
+ db "A bottle used for"
+ next "watering plants.@"
+
+TeruSama23Desc:
+ db "?@"
+
+ParkBallDesc:
+ db "The Bug-Catching"
+ next "Contest BALL.@"
+
+RainbowWingDesc:
+ db "A mystical feather"
+ next "of rainbow colors.@"
+
+TeruSama24Desc:
+ db "?@"
+
+BrickPieceDesc:
+ db "A rare chunk of"
+ next "tile.@"
+
+SurfMailDesc:
+ db "LAPRAS-print MAIL."
+ next "(HOLD)@"
+
+LiteBlueMailDesc:
+ db "DRATINI-print"
+ next "MAIL. (HOLD)@"
+
+PortraitMailDesc:
+ db "MAIL featuring the"
+ next "holder's likeness.@"
+
+LovelyMailDesc:
+ db "Heart-print MAIL."
+ next "(HOLD)@"
+
+EonMailDesc:
+ db "EEVEE-print MAIL."
+ next "(HOLD)@"
+
+MorphMailDesc:
+ db "DITTO-print MAIL."
+ next "(HOLD)@"
+
+BlueSkyMailDesc:
+ db "Sky-print MAIL."
+ next "(HOLD)@"
+
+MusicMailDesc:
+ db "NATU-print MAIL."
+ next "(HOLD)@"
+
+MewMailDesc:
+ db "MEW-print MAIL."
+ next "(HOLD)@"
+
+TeruSama25Desc:
+ db "?@"
+
+TeruSama26Desc:
+ db "?@"
+
+TeruSama27Desc:
+ db "?@"
+
+TeruSama28Desc:
+ db "?@"
+
+TeruSama29Desc:
+ db "?@"
+
+TeruSama30Desc:
+ db "?@"
+
+TeruSama31Desc:
+ db "?@"
+
+TeruSama32Desc:
+ db "?@"
+
+TeruSama33Desc:
+ db "?@"
--- a/data/items/item_attributes.asm
+++ /dev/null
@@ -1,521 +1,0 @@
-item_attribute: MACRO
-; price, held effect, parameter, property, pocket, field menu, battle menu
- dw \1
- db \2, \3, \4, \5
- dn \6, \7
-ENDM
-
-ItemAttributes: ; 67c1
-; entries correspond to constants/item_constants.asm
-; MASTER BALL
- item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; ULTRA BALL
- item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; BRIGHTPOWDER
- item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GREAT BALL
- item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; # BALL
- item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BICYCLE
- item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MOON STONE
- item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; ANTIDOTE
- item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURN HEAL
- item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE HEAL
- item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; AWAKENING
- item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PARLYZ HEAL
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FULL RESTORE
- item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX POTION
- item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HYPER POTION
- item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SUPER POTION
- item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POTION
- item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ESCAPE ROPE
- item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; REPEL
- item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX ELIXER
- item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FIRE STONE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; THUNDERSTONE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; WATER STONE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; HP UP
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; PROTEIN
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; IRON
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; CARBOS
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; LUCKY PUNCH
- item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CALCIUM
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; RARE CANDY
- item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; X ACCURACY
- item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LEAF STONE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; METAL POWDER
- item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; NUGGET
- item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; # DOLL
- item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FULL HEAL
- item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVE
- item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX REVIVE
- item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GUARD SPEC.
- item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; SUPER REPEL
- item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX REPEL
- item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; DIRE HIT
- item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRESH WATER
- item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SODA POP
- item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; LEMONADE
- item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; X ATTACK
- item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; X DEFEND
- item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPEED
- item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPECIAL
- item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; COIN CASE
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; ITEMFINDER
- item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EXP.SHARE
- item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; OLD ROD
- item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; GOOD ROD
- item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; SILVER LEAF
- item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SUPER ROD
- item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PP UP
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; ETHER
- item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX ETHER
- item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ELIXER
- item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED SCALE
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SECRETPOTION
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; S.S.TICKET
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERY EGG
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEAR BELL
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVER WING
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MOOMOO MILK
- item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; QUICK CLAW
- item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PSNCUREBERRY
- item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD LEAF
- item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SOFT SAND
- item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SHARP BEAK
- item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PRZCUREBERRY
- item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURNT BERRY
- item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE BERRY
- item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POISON BARB
- item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; KING'S ROCK
- item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BITTER BERRY
- item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
-; MINT BERRY
- item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TINYMUSHROOM
- item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG MUSHROOM
- item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVERPOWDER
- item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLU APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; AMULET COIN
- item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; YLW APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GRN APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEANSE TAG
- item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTIC WATER
- item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TWISTEDSPOON
- item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; WHT APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLACKBELT
- item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLK APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PNK APRICORN
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLACKGLASSES
- item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SLOWPOKETAIL
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PINK BOW
- item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STICK
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SMOKE BALL
- item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; NEVERMELTICE
- item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MAGNET
- item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRACLEBERRY
- item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PEARL
- item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG PEARL
- item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EVERSTONE
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SPELL TAG
- item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; RAGECANDYBAR
- item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GS BALL
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUE CARD
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MIRACLE SEED
- item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; THICK CLUB
- item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FOCUS BAND
- item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ENERGYPOWDER
- item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ENERGY ROOT
- item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HEAL POWDER
- item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVAL HERB
- item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HARD STONE
- item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LUCKY EGG
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CARD KEY
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MACHINE PART
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EGG TICKET
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOST ITEM
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STARDUST
- item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; STAR PIECE
- item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BASEMENT KEY
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PASS
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CHARCOAL
- item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY JUICE
- item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SCOPE LENS
- item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; METAL COAT
- item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; DRAGON FANG
- item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEFTOVERS
- item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERYBERRY
- item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; DRAGON SCALE
- item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERSERK GENE
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SACRED ASH
- item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; HEAVY BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FLOWER MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEVEL BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LURE BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FAST BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LIGHT BALL
- item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRIEND BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; MOON BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LOVE BALL
- item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; NORMAL BOX
- item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; GORGEOUS BOX
- item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; SUN STONE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; POLKADOT BOW
- item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; UP-GRADE
- item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY
- item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD BERRY
- item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SQUIRTBOTTLE
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PARK BALL
- item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; RAINBOW WING
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BRICK PIECE
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SURF MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LITEBLUEMAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PORTRAITMAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOVELY MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EON MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MORPH MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUESKY MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MUSIC MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRAGE MAIL
- item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM01
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM02
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM03
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM04
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM05
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM06
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM07
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM08
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM09
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM10
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM11
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM12
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM13
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM14
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM15
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM16
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM17
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM18
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM19
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM20
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM21
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM22
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM23
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM24
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM25
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM26
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM27
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM28
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TM29
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM30
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM31
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM32
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM33
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM34
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM35
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM36
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM37
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM38
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM39
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM40
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM41
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM42
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM43
- item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM44
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM45
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM46
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM47
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM48
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM49
- item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TM50
- item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM01
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM02
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM03
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM04
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM05
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM06
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; HM07
- item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ?
- item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
--- a/data/items/item_descriptions.asm
+++ /dev/null
@@ -1,1042 +1,0 @@
-PrintItemDescription: ; 0x1c8955
-; Print the description for item [CurSpecies] at de.
-
- ld a, [CurSpecies]
- cp TM01
- jr c, .not_a_tm
-
- ld [CurItem], a
- push de
- farcall GetTMHMItemMove
- pop hl
- ld a, [wd265]
- ld [CurSpecies], a
- predef PrintMoveDesc
- ret
-
-.not_a_tm
- push de
- ld hl, ItemDescriptions
- ld a, [CurSpecies]
- dec a
- ld c, a
- ld b, 0
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- jp PlaceString
-; 0x1c8987
-
-
-ItemDescriptions:
- dw MasterBallDesc
- dw UltraBallDesc
- dw BrightpowderDesc
- dw GreatBallDesc
- dw PokeBallDesc
- dw TeruSama1Desc
- dw BicycleDesc
- dw MoonStoneDesc
- dw AntidoteDesc
- dw BurnHealDesc
- dw IceHealDesc
- dw AwakeningDesc
- dw ParlyzHealDesc
- dw FullRestoreDesc
- dw MaxPotionDesc
- dw HyperPotionDesc
- dw SuperPotionDesc
- dw PotionDesc
- dw EscapeRopeDesc
- dw RepelDesc
- dw MaxElixerDesc
- dw FireStoneDesc
- dw ThunderStoneDesc
- dw WaterStoneDesc
- dw TeruSama2Desc
- dw HPUpDesc
- dw ProteinDesc
- dw IronDesc
- dw CarbosDesc
- dw LuckyPunchDesc
- dw CalciumDesc
- dw RareCandyDesc
- dw XAccuracyDesc
- dw LeafStoneDesc
- dw MetalPowderDesc
- dw NuggetDesc
- dw PokeDollDesc
- dw FullHealDesc
- dw ReviveDesc
- dw MaxReviveDesc
- dw GuardSpecDesc
- dw SuperRepelDesc
- dw MaxRepelDesc
- dw DireHitDesc
- dw TeruSama3Desc
- dw FreshWaterDesc
- dw SodaPopDesc
- dw LemonadeDesc
- dw XAttackDesc
- dw TeruSama4Desc
- dw XDefendDesc
- dw XSpeedDesc
- dw XSpecialDesc
- dw CoinCaseDesc
- dw ItemfinderDesc
- dw TeruSama5Desc
- dw ExpShareDesc
- dw OldRodDesc
- dw GoodRodDesc
- dw SilverLeafDesc
- dw SuperRodDesc
- dw PPUpDesc
- dw EtherDesc
- dw MaxEtherDesc
- dw ElixerDesc
- dw RedScaleDesc
- dw SecretPotionDesc
- dw SSTicketDesc
- dw MysteryEggDesc
- dw ClearBellDesc
- dw SilverWingDesc
- dw MoomooMilkDesc
- dw QuickClawDesc
- dw PsnCureBerryDesc
- dw GoldLeafDesc
- dw SoftSandDesc
- dw SharpBeakDesc
- dw PrzCureBerryDesc
- dw BurntBerryDesc
- dw IceBerryDesc
- dw PoisonBarbDesc
- dw KingsRockDesc
- dw BitterBerryDesc
- dw MintBerryDesc
- dw RedApricornDesc
- dw TinyMushroomDesc
- dw BigMushroomDesc
- dw SilverPowderDesc
- dw BluApricornDesc
- dw TeruSama6Desc
- dw AmuletCoinDesc
- dw YlwApricornDesc
- dw GrnApricornDesc
- dw CleanseTagDesc
- dw MysticWaterDesc
- dw TwistedSpoonDesc
- dw WhtApricornDesc
- dw BlackbeltDesc
- dw BlkApricornDesc
- dw TeruSama7Desc
- dw PnkApricornDesc
- dw BlackGlassesDesc
- dw SlowpokeTailDesc
- dw PinkBowDesc
- dw StickDesc
- dw SmokeBallDesc
- dw NeverMeltIceDesc
- dw MagnetDesc
- dw MiracleBerryDesc
- dw PearlDesc
- dw BigPearlDesc
- dw EverStoneDesc
- dw SpellTagDesc
- dw RageCandyBarDesc
- dw GSBallDesc
- dw BlueCardDesc
- dw MiracleSeedDesc
- dw ThickClubDesc
- dw FocusBandDesc
- dw TeruSama8Desc
- dw EnergyPowderDesc
- dw EnergyRootDesc
- dw HealPowderDesc
- dw RevivalHerbDesc
- dw HardStoneDesc
- dw LuckyEggDesc
- dw CardKeyDesc
- dw MachinePartDesc
- dw EggTicketDesc
- dw LostItemDesc
- dw StardustDesc
- dw StarPieceDesc
- dw BasementKeyDesc
- dw PassDesc
- dw TeruSama9Desc
- dw TeruSama10Desc
- dw TeruSama11Desc
- dw CharcoalDesc
- dw BerryJuiceDesc
- dw ScopeLensDesc
- dw TeruSama12Desc
- dw TeruSama13Desc
- dw MetalCoatDesc
- dw DragonFangDesc
- dw TeruSama14Desc
- dw LeftoversDesc
- dw TeruSama15Desc
- dw TeruSama16Desc
- dw TeruSama17Desc
- dw MysteryBerryDesc
- dw DragonScaleDesc
- dw BerserkGeneDesc
- dw TeruSama18Desc
- dw TeruSama19Desc
- dw TeruSama20Desc
- dw SacredAshDesc
- dw HeavyBallDesc
- dw FlowerMailDesc
- dw LevelBallDesc
- dw LureBallDesc
- dw FastBallDesc
- dw TeruSama21Desc
- dw LightBallDesc
- dw FriendBallDesc
- dw MoonBallDesc
- dw LoveBallDesc
- dw NormalBoxDesc
- dw GorgeousBoxDesc
- dw SunStoneDesc
- dw PolkadotBowDesc
- dw TeruSama22Desc
- dw UpGradeDesc
- dw BerryDesc
- dw GoldBerryDesc
- dw SquirtBottleDesc
- dw TeruSama23Desc
- dw ParkBallDesc
- dw RainbowWingDesc
- dw TeruSama24Desc
- dw BrickPieceDesc
- dw SurfMailDesc
- dw LiteBlueMailDesc
- dw PortraitMailDesc
- dw LovelyMailDesc
- dw EonMailDesc
- dw MorphMailDesc
- dw BlueSkyMailDesc
- dw MusicMailDesc
- dw MewMailDesc
- dw TeruSama25Desc
- dw TeruSama26Desc
- dw TeruSama26Desc
- dw TeruSama26Desc
- dw TeruSama26Desc
- dw TeruSama26Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama27Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama28Desc
- dw TeruSama29Desc
- dw TeruSama30Desc
- dw TeruSama31Desc
- dw TeruSama32Desc
- dw TeruSama33Desc
-
-MasterBallDesc:
- db "The best BALL. It"
- next "never misses.@"
-
-UltraBallDesc:
- db "A BALL with a high"
- next "rate of success.@"
-
-BrightpowderDesc:
- db "Lowers the foe's"
- next "accuracy. (HOLD)@"
-
-GreatBallDesc:
- db "A BALL with a de-"
- next "cent success rate.@"
-
-PokeBallDesc:
- db "An item for catch-"
- next "ing #MON.@"
-
-TeruSama1Desc:
- db "?@"
-
-BicycleDesc:
- db "A collapsible bike"
- next "for fast movement.@"
-
-MoonStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-AntidoteDesc:
- db "Cures poisoned"
- next "#MON.@"
-
-BurnHealDesc:
- db "Heals burned"
- next "#MON.@"
-
-IceHealDesc:
- db "Defrosts frozen"
- next "#MON.@"
-
-AwakeningDesc:
- db "Awakens sleeping"
- next "#MON.@"
-
-ParlyzHealDesc:
- db "Heals paralyzed"
- next "#MON.@"
-
-FullRestoreDesc:
- db "Fully restores HP"
- next "& status.@"
-
-MaxPotionDesc:
- db "Fully restores"
- next "#MON HP.@"
-
-HyperPotionDesc:
- db "Restores #MON"
- next "HP by 200.@"
-
-SuperPotionDesc:
- db "Restores #MON"
- next "HP by 50.@"
-
-PotionDesc:
- db "Restores #MON"
- next "HP by 20.@"
-
-EscapeRopeDesc:
- db "Use for escaping"
- next "from caves, etc.@"
-
-RepelDesc:
- db "Repels weak #-"
- next "MON for 100 steps.@"
-
-MaxElixerDesc:
- db "Fully restores the"
- next "PP of one #MON.@"
-
-FireStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-ThunderStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-WaterStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-TeruSama2Desc:
- db "?@"
-
-HPUpDesc:
- db "Raises the HP of"
- next "one #MON.@"
-
-ProteinDesc:
- db "Raises ATTACK of"
- next "one #MON.@"
-
-IronDesc:
- db "Raises DEFENSE of"
- next "one #MON.@"
-
-CarbosDesc:
- db "Raises SPEED of"
- next "one #MON.@"
-
-LuckyPunchDesc:
- db "Ups critical hit"
- next "ratio of CHANSEY.@"
-
-CalciumDesc:
- db "Ups SPECIAL stats"
- next "of one #MON.@"
-
-RareCandyDesc:
- db "Raises level of a"
- next "#MON by one.@"
-
-XAccuracyDesc:
- db "Raises accuracy."
- next "(1 BTL)@"
-
-LeafStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-MetalPowderDesc:
- db "Raises DEFENSE of"
- next "DITTO. (HOLD)@"
-
-NuggetDesc:
- db "Made of pure gold."
- next "Sell high.@"
-
-PokeDollDesc:
- db "Use to escape from"
- next "a wild #MON.@"
-
-FullHealDesc:
- db "Eliminates all"
- next "status problems.@"
-
-ReviveDesc:
- db "Restores a fainted"
- next "#MON to 1/2 HP.@"
-
-MaxReviveDesc:
- db "Fully restores a"
- next "fainted #MON.@"
-
-GuardSpecDesc:
- db "Prevents stats"
- next "reduction. (1 BTL)@"
-
-SuperRepelDesc:
- db "Repels weak #-"
- next "MON for 200 steps.@"
-
-MaxRepelDesc:
- db "Repels weak #-"
- next "MON for 250 steps.@"
-
-DireHitDesc:
- db "Ups critical hit"
- next "ratio. (1 BTL)@"
-
-TeruSama3Desc:
- db "?@"
-
-FreshWaterDesc:
- db "Restores #MON"
- next "HP by 50.@"
-
-SodaPopDesc:
- db "Restores #MON"
- next "HP by 60.@"
-
-LemonadeDesc:
- db "Restores #MON"
- next "HP by 80.@"
-
-XAttackDesc:
- db "Raises ATTACK."
- next "(1 BTL)@"
-
-TeruSama4Desc:
- db "?@"
-
-XDefendDesc:
- db "Raises DEFENSE."
- next "(1 BTL)@"
-
-XSpeedDesc:
- db "Raises SPEED."
- next "(1 BTL)@"
-
-XSpecialDesc:
- db "Raises SPECIAL"
- next "ATTACK. (1 BTL)@"
-
-CoinCaseDesc:
- db "Holds up to 9,999"
- next "game coins.@"
-
-ItemfinderDesc:
- db "Checks for unseen"
- next "items in the area.@"
-
-TeruSama5Desc:
- db "?@"
-
-ExpShareDesc:
- db "Shares battle EXP."
- next "Points. (HOLD)@"
-
-OldRodDesc:
- db "Use by water to"
- next "fish for #MON.@"
-
-GoodRodDesc:
- db "A good ROD for"
- next "catching #MON.@"
-
-SilverLeafDesc:
- db "A strange, silver-"
- next "colored leaf.@"
-
-SuperRodDesc:
- db "The best ROD for"
- next "catching #MON.@"
-
-PPUpDesc:
- db "Raises max PP of"
- next "a selected move.@"
-
-EtherDesc:
- db "Restores PP of one"
- next "move by 10.@"
-
-MaxEtherDesc:
- db "Fully restores PP"
- next "of one move.@"
-
-ElixerDesc:
- db "Restores PP of all"
- next "moves by 10.@"
-
-RedScaleDesc:
- db "A scale from the"
- next "red GYARADOS.@"
-
-SecretPotionDesc:
- db "Fully heals any"
- next "#MON.@"
-
-SSTicketDesc:
- db "A ticket for the"
- next "S.S.AQUA.@"
-
-MysteryEggDesc:
- db "An EGG obtained"
- next "from MR.#MON.@"
-
-ClearBellDesc:
- db "Makes a gentle"
- next "ringing.@"
-
-SilverWingDesc:
- db "A strange, silver-"
- next "colored feather.@"
-
-MoomooMilkDesc:
- db "Restores #MON"
- next "HP by 100.@"
-
-QuickClawDesc:
- db "Raises 1st strike"
- next "ratio. (HOLD)@"
-
-PsnCureBerryDesc:
- db "A self-cure for"
- next "poison. (HOLD)@"
-
-GoldLeafDesc:
- db "A strange, gold-"
- next "colored leaf.@"
-
-SoftSandDesc:
- db "Powers up ground-"
- next "type moves. (HOLD)@"
-
-SharpBeakDesc:
- db "Powers up flying-"
- next "type moves. (HOLD)@"
-
-PrzCureBerryDesc:
- db "A self-cure for"
- next "paralysis. (HOLD)@"
-
-BurntBerryDesc:
- db "A self-cure for"
- next "freezing. (HOLD)@"
-
-IceBerryDesc:
- db "A self-heal for a"
- next "burn. (HOLD)@"
-
-PoisonBarbDesc:
- db "Powers up poison-"
- next "type moves. (HOLD)@"
-
-KingsRockDesc:
- db "May make the foe"
- next "flinch. (HOLD)@"
-
-BitterBerryDesc:
- db "A self-cure for"
- next "confusion. (HOLD)@"
-
-MintBerryDesc:
- db "A self-awakening"
- next "for sleep. (HOLD)@"
-
-RedApricornDesc:
- db "A red APRICORN.@"
-
-TinyMushroomDesc:
- db "An ordinary mush-"
- next "room. Sell low.@"
-
-BigMushroomDesc:
- db "A rare mushroom."
- next "Sell high.@"
-
-SilverPowderDesc:
- db "Powers up bug-type"
- next "moves. (HOLD)@"
-
-BluApricornDesc:
- db "A blue APRICORN.@"
-
-TeruSama6Desc:
- db "?@"
-
-AmuletCoinDesc:
- db "Doubles monetary"
- next "earnings. (HOLD)@"
-
-YlwApricornDesc:
- db "A yellow APRICORN.@"
-
-GrnApricornDesc:
- db "A green APRICORN.@"
-
-CleanseTagDesc:
- db "Helps repel wild"
- next "#MON. (HOLD)@"
-
-MysticWaterDesc:
- db "Powers up water-"
- next "type moves. (HOLD)@"
-
-TwistedSpoonDesc:
- db "Powers up psychic-"
- next "type moves. (HOLD)@"
-
-WhtApricornDesc:
- db "A white APRICORN.@"
-
-BlackbeltDesc:
- db "Boosts fighting-"
- next "type moves. (HOLD)@"
-
-BlkApricornDesc:
- db "A black APRICORN."
- next "@"
-
-TeruSama7Desc:
- db "?@"
-
-PnkApricornDesc:
- db "A pink APRICORN."
- next "@"
-
-BlackGlassesDesc:
- db "Powers up dark-"
- next "type moves. (HOLD)@"
-
-SlowpokeTailDesc:
- db "Very tasty. Sell"
- next "high.@"
-
-PinkBowDesc:
- db "Powers up normal-"
- next "type moves. (HOLD)@"
-
-StickDesc:
- db "An ordinary stick."
- next "Sell low.@"
-
-SmokeBallDesc:
- db "Escape from wild"
- next "#MON. (HOLD)@"
-
-NeverMeltIceDesc:
- db "Powers up ice-type"
- next "moves. (HOLD)@"
-
-MagnetDesc:
- db "Boosts electric-"
- next "type moves. (HOLD)@"
-
-MiracleBerryDesc:
- db "Cures all status"
- next "problems. (HOLD)@"
-
-PearlDesc:
- db "A beautiful pearl."
- next "Sell low.@"
-
-BigPearlDesc:
- db "A big, beautiful"
- next "pearl. Sell high.@"
-
-EverStoneDesc:
- db "Stops evolution."
- next "(HOLD)@"
-
-SpellTagDesc:
- db "Powers up ghost-"
- next "type moves. (HOLD)@"
-
-RageCandyBarDesc:
- db "Restores #MON"
- next "HP by 20.@"
-
-GSBallDesc:
- db "The mysterious"
- next "BALL.@"
-
-BlueCardDesc:
- db "Card to save"
- next "points.@"
-
-MiracleSeedDesc:
- db "Powers up grass-"
- next "type moves. (HOLD)@"
-
-ThickClubDesc:
- db "A bone of some"
- next "sort. Sell low.@"
-
-FocusBandDesc:
- db "May prevent faint-"
- next "ing. (HOLD)@"
-
-TeruSama8Desc:
- db "?@"
-
-EnergyPowderDesc:
- db "Restores #MON"
- next "HP by 50. Bitter.@"
-
-EnergyRootDesc:
- db "Restores #MON"
- next "HP by 200. Bitter.@"
-
-HealPowderDesc:
- db "Cures all status"
- next "problems. Bitter.@"
-
-RevivalHerbDesc:
- db "Revives fainted"
- next "#MON. Bitter.@"
-
-HardStoneDesc:
- db "Powers up rock-"
- next "type moves. (HOLD)@"
-
-LuckyEggDesc:
- db "Earns extra EXP."
- next "points. (HOLD)@"
-
-CardKeyDesc:
- db "Opens shutters in"
- next "the RADIO TOWER.@"
-
-MachinePartDesc:
- db "A machine part for"
- next "the POWER PLANT.@"
-
-EggTicketDesc:
- db "May use at Golden-"
- next "rod trade corner.@"
-
-LostItemDesc:
- db "The # DOLL lost"
- next "by the COPYCAT.@"
-
-StardustDesc:
- db "Pretty, red sand."
- next "Sell high.@"
-
-StarPieceDesc:
- db "A hunk of red gem."
- next "Sell very high.@"
-
-BasementKeyDesc:
- db "Opens doors.@"
-
-PassDesc:
- db "A ticket for the"
- next "MAGNET TRAIN.@"
-
-TeruSama9Desc:
- db "?@"
-
-TeruSama10Desc:
- db "?@"
-
-TeruSama11Desc:
- db "?@"
-
-CharcoalDesc:
- db "Powers up fire-"
- next "type moves. (HOLD)@"
-
-BerryJuiceDesc:
- db "Restores #MON"
- next "HP by 20.@"
-
-ScopeLensDesc:
- db "Raises critical"
- next "hit ratio. (HOLD)@"
-
-TeruSama12Desc:
- db "?@"
-
-TeruSama13Desc:
- db "?@"
-
-MetalCoatDesc:
- db "Powers up steel-"
- next "type moves. (HOLD)@"
-
-DragonFangDesc:
- db "Powers up dragon-"
- next "type moves. (HOLD)@"
-
-TeruSama14Desc:
- db "?@"
-
-LeftoversDesc:
- db "Restores HP during"
- next "battle. (HOLD)@"
-
-TeruSama15Desc:
- db "?@"
-
-TeruSama16Desc:
- db "?@"
-
-TeruSama17Desc:
- db "?@"
-
-MysteryBerryDesc:
- db "A self-restore"
- next "for PP. (HOLD)@"
-
-DragonScaleDesc:
- db "A rare dragon-type"
- next "item.@"
-
-BerserkGeneDesc:
- db "Boosts ATTACK but"
- next "causes confusion.@"
-
-TeruSama18Desc:
- db "?@"
-
-TeruSama19Desc:
- db "?@"
-
-TeruSama20Desc:
- db "?@"
-
-SacredAshDesc:
- db "Fully revives all"
- next "fainted #MON.@"
-
-HeavyBallDesc:
- db "A BALL for catch-"
- next "ing heavy #MON.@"
-
-FlowerMailDesc:
- db "Flower-print MAIL."
- next "(HOLD)@"
-
-LevelBallDesc:
- db "A BALL for lower-"
- next "level #MON.@"
-
-LureBallDesc:
- db "A BALL for #MON"
- next "hooked by a ROD.@"
-
-FastBallDesc:
- db "A BALL for catch-"
- next "ing fast #MON.@"
-
-TeruSama21Desc:
- db "?@"
-
-LightBallDesc:
- db "An odd, electrical"
- next "orb. (HOLD)@"
-
-FriendBallDesc:
- db "A BALL that makes"
- next "#MON friendly.@"
-
-MoonBallDesc:
- db "A BALL for MOON"
- next "STONE evolvers.@"
-
-LoveBallDesc:
- db "For catching the"
- next "opposite gender.@"
-
-NormalBoxDesc:
- db "Open it and see"
- next "what's inside.@"
-
-GorgeousBoxDesc:
- db "Open it and see"
- next "what's inside.@"
-
-SunStoneDesc:
- db "Evolves certain"
- next "kinds of #MON.@"
-
-PolkadotBowDesc:
- db "Powers up normal-"
- next "type moves. (HOLD)@"
-
-TeruSama22Desc:
- db "?@"
-
-UpGradeDesc:
- db "A mysterious box"
- next "made by SILPH CO.@"
-
-BerryDesc:
- db "A self-restore"
- next "item. (10HP, HOLD)@"
-
-GoldBerryDesc:
- db "A self-restore"
- next "item. (30HP, HOLD)@"
-
-SquirtBottleDesc:
- db "A bottle used for"
- next "watering plants.@"
-
-TeruSama23Desc:
- db "?@"
-
-ParkBallDesc:
- db "The Bug-Catching"
- next "Contest BALL.@"
-
-RainbowWingDesc:
- db "A mystical feather"
- next "of rainbow colors.@"
-
-TeruSama24Desc:
- db "?@"
-
-BrickPieceDesc:
- db "A rare chunk of"
- next "tile.@"
-
-SurfMailDesc:
- db "LAPRAS-print MAIL."
- next "(HOLD)@"
-
-LiteBlueMailDesc:
- db "DRATINI-print"
- next "MAIL. (HOLD)@"
-
-PortraitMailDesc:
- db "MAIL featuring the"
- next "holder's likeness.@"
-
-LovelyMailDesc:
- db "Heart-print MAIL."
- next "(HOLD)@"
-
-EonMailDesc:
- db "EEVEE-print MAIL."
- next "(HOLD)@"
-
-MorphMailDesc:
- db "DITTO-print MAIL."
- next "(HOLD)@"
-
-BlueSkyMailDesc:
- db "Sky-print MAIL."
- next "(HOLD)@"
-
-MusicMailDesc:
- db "NATU-print MAIL."
- next "(HOLD)@"
-
-MewMailDesc:
- db "MEW-print MAIL."
- next "(HOLD)@"
-
-TeruSama25Desc:
- db "?@"
-
-TeruSama26Desc:
- db "?@"
-
-TeruSama27Desc:
- db "?@"
-
-TeruSama28Desc:
- db "?@"
-
-TeruSama29Desc:
- db "?@"
-
-TeruSama30Desc:
- db "?@"
-
-TeruSama31Desc:
- db "?@"
-
-TeruSama32Desc:
- db "?@"
-
-TeruSama33Desc:
- db "?@"
--- a/data/items/item_names.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-ItemNames::
- db "MASTER BALL@"
- db "ULTRA BALL@"
- db "BRIGHTPOWDER@"
- db "GREAT BALL@"
- db "# BALL@"
- db "TERU-SAMA@"
- db "BICYCLE@"
- db "MOON STONE@"
- db "ANTIDOTE@"
- db "BURN HEAL@"
- db "ICE HEAL@"
- db "AWAKENING@"
- db "PARLYZ HEAL@"
- db "FULL RESTORE@"
- db "MAX POTION@"
- db "HYPER POTION@"
- db "SUPER POTION@"
- db "POTION@"
- db "ESCAPE ROPE@"
- db "REPEL@"
- db "MAX ELIXER@"
- db "FIRE STONE@"
- db "THUNDERSTONE@"
- db "WATER STONE@"
- db "TERU-SAMA@"
- db "HP UP@"
- db "PROTEIN@"
- db "IRON@"
- db "CARBOS@"
- db "LUCKY PUNCH@"
- db "CALCIUM@"
- db "RARE CANDY@"
- db "X ACCURACY@"
- db "LEAF STONE@"
- db "METAL POWDER@"
- db "NUGGET@"
- db "# DOLL@"
- db "FULL HEAL@"
- db "REVIVE@"
- db "MAX REVIVE@"
- db "GUARD SPEC.@"
- db "SUPER REPEL@"
- db "MAX REPEL@"
- db "DIRE HIT@"
- db "TERU-SAMA@"
- db "FRESH WATER@"
- db "SODA POP@"
- db "LEMONADE@"
- db "X ATTACK@"
- db "TERU-SAMA@"
- db "X DEFEND@"
- db "X SPEED@"
- db "X SPECIAL@"
- db "COIN CASE@"
- db "ITEMFINDER@"
- db "TERU-SAMA@"
- db "EXP.SHARE@"
- db "OLD ROD@"
- db "GOOD ROD@"
- db "SILVER LEAF@"
- db "SUPER ROD@"
- db "PP UP@"
- db "ETHER@"
- db "MAX ETHER@"
- db "ELIXER@"
- db "RED SCALE@"
- db "SECRETPOTION@"
- db "S.S.TICKET@"
- db "MYSTERY EGG@"
- db "CLEAR BELL@"
- db "SILVER WING@"
- db "MOOMOO MILK@"
- db "QUICK CLAW@"
- db "PSNCUREBERRY@"
- db "GOLD LEAF@"
- db "SOFT SAND@"
- db "SHARP BEAK@"
- db "PRZCUREBERRY@"
- db "BURNT BERRY@"
- db "ICE BERRY@"
- db "POISON BARB@"
- db "KING'S ROCK@"
- db "BITTER BERRY@"
- db "MINT BERRY@"
- db "RED APRICORN@"
- db "TINYMUSHROOM@"
- db "BIG MUSHROOM@"
- db "SILVERPOWDER@"
- db "BLU APRICORN@"
- db "TERU-SAMA@"
- db "AMULET COIN@"
- db "YLW APRICORN@"
- db "GRN APRICORN@"
- db "CLEANSE TAG@"
- db "MYSTIC WATER@"
- db "TWISTEDSPOON@"
- db "WHT APRICORN@"
- db "BLACKBELT@"
- db "BLK APRICORN@"
- db "TERU-SAMA@"
- db "PNK APRICORN@"
- db "BLACKGLASSES@"
- db "SLOWPOKETAIL@"
- db "PINK BOW@"
- db "STICK@"
- db "SMOKE BALL@"
- db "NEVERMELTICE@"
- db "MAGNET@"
- db "MIRACLEBERRY@"
- db "PEARL@"
- db "BIG PEARL@"
- db "EVERSTONE@"
- db "SPELL TAG@"
- db "RAGECANDYBAR@"
- db "GS BALL@"
- db "BLUE CARD@"
- db "MIRACLE SEED@"
- db "THICK CLUB@"
- db "FOCUS BAND@"
- db "TERU-SAMA@"
- db "ENERGYPOWDER@"
- db "ENERGY ROOT@"
- db "HEAL POWDER@"
- db "REVIVAL HERB@"
- db "HARD STONE@"
- db "LUCKY EGG@"
- db "CARD KEY@"
- db "MACHINE PART@"
- db "EGG TICKET@"
- db "LOST ITEM@"
- db "STARDUST@"
- db "STAR PIECE@"
- db "BASEMENT KEY@"
- db "PASS@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "CHARCOAL@"
- db "BERRY JUICE@"
- db "SCOPE LENS@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "METAL COAT@"
- db "DRAGON FANG@"
- db "TERU-SAMA@"
- db "LEFTOVERS@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "MYSTERYBERRY@"
- db "DRAGON SCALE@"
- db "BERSERK GENE@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "SACRED ASH@"
- db "HEAVY BALL@"
- db "FLOWER MAIL@"
- db "LEVEL BALL@"
- db "LURE BALL@"
- db "FAST BALL@"
- db "TERU-SAMA@"
- db "LIGHT BALL@"
- db "FRIEND BALL@"
- db "MOON BALL@"
- db "LOVE BALL@"
- db "NORMAL BOX@"
- db "GORGEOUS BOX@"
- db "SUN STONE@"
- db "POLKADOT BOW@"
- db "TERU-SAMA@"
- db "UP-GRADE@"
- db "BERRY@"
- db "GOLD BERRY@"
- db "SQUIRTBOTTLE@"
- db "TERU-SAMA@"
- db "PARK BALL@"
- db "RAINBOW WING@"
- db "TERU-SAMA@"
- db "BRICK PIECE@"
- db "SURF MAIL@"
- db "LITEBLUEMAIL@"
- db "PORTRAITMAIL@"
- db "LOVELY MAIL@"
- db "EON MAIL@"
- db "MORPH MAIL@"
- db "BLUESKY MAIL@"
- db "MUSIC MAIL@"
- db "MIRAGE MAIL@"
- db "TERU-SAMA@"
- db "TM01@"
- db "TM02@"
- db "TM03@"
- db "TM04@"
- db "TERU-SAMA@"
- db "TM05@"
- db "TM06@"
- db "TM07@"
- db "TM08@"
- db "TM09@"
- db "TM10@"
- db "TM11@"
- db "TM12@"
- db "TM13@"
- db "TM14@"
- db "TM15@"
- db "TM16@"
- db "TM17@"
- db "TM18@"
- db "TM19@"
- db "TM20@"
- db "TM21@"
- db "TM22@"
- db "TM23@"
- db "TM24@"
- db "TM25@"
- db "TM26@"
- db "TM27@"
- db "TM28@"
- db "TERU-SAMA@"
- db "TM29@"
- db "TM30@"
- db "TM31@"
- db "TM32@"
- db "TM33@"
- db "TM34@"
- db "TM35@"
- db "TM36@"
- db "TM37@"
- db "TM38@"
- db "TM39@"
- db "TM40@"
- db "TM41@"
- db "TM42@"
- db "TM43@"
- db "TM44@"
- db "TM45@"
- db "TM46@"
- db "TM47@"
- db "TM48@"
- db "TM49@"
- db "TM50@"
- db "HM01@"
- db "HM02@"
- db "HM03@"
- db "HM04@"
- db "HM05@"
- db "HM06@"
- db "HM07@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "TERU-SAMA@"
- db "?@"
--- /dev/null
+++ b/data/items/names.asm
@@ -1,0 +1,257 @@
+ItemNames::
+ db "MASTER BALL@"
+ db "ULTRA BALL@"
+ db "BRIGHTPOWDER@"
+ db "GREAT BALL@"
+ db "# BALL@"
+ db "TERU-SAMA@"
+ db "BICYCLE@"
+ db "MOON STONE@"
+ db "ANTIDOTE@"
+ db "BURN HEAL@"
+ db "ICE HEAL@"
+ db "AWAKENING@"
+ db "PARLYZ HEAL@"
+ db "FULL RESTORE@"
+ db "MAX POTION@"
+ db "HYPER POTION@"
+ db "SUPER POTION@"
+ db "POTION@"
+ db "ESCAPE ROPE@"
+ db "REPEL@"
+ db "MAX ELIXER@"
+ db "FIRE STONE@"
+ db "THUNDERSTONE@"
+ db "WATER STONE@"
+ db "TERU-SAMA@"
+ db "HP UP@"
+ db "PROTEIN@"
+ db "IRON@"
+ db "CARBOS@"
+ db "LUCKY PUNCH@"
+ db "CALCIUM@"
+ db "RARE CANDY@"
+ db "X ACCURACY@"
+ db "LEAF STONE@"
+ db "METAL POWDER@"
+ db "NUGGET@"
+ db "# DOLL@"
+ db "FULL HEAL@"
+ db "REVIVE@"
+ db "MAX REVIVE@"
+ db "GUARD SPEC.@"
+ db "SUPER REPEL@"
+ db "MAX REPEL@"
+ db "DIRE HIT@"
+ db "TERU-SAMA@"
+ db "FRESH WATER@"
+ db "SODA POP@"
+ db "LEMONADE@"
+ db "X ATTACK@"
+ db "TERU-SAMA@"
+ db "X DEFEND@"
+ db "X SPEED@"
+ db "X SPECIAL@"
+ db "COIN CASE@"
+ db "ITEMFINDER@"
+ db "TERU-SAMA@"
+ db "EXP.SHARE@"
+ db "OLD ROD@"
+ db "GOOD ROD@"
+ db "SILVER LEAF@"
+ db "SUPER ROD@"
+ db "PP UP@"
+ db "ETHER@"
+ db "MAX ETHER@"
+ db "ELIXER@"
+ db "RED SCALE@"
+ db "SECRETPOTION@"
+ db "S.S.TICKET@"
+ db "MYSTERY EGG@"
+ db "CLEAR BELL@"
+ db "SILVER WING@"
+ db "MOOMOO MILK@"
+ db "QUICK CLAW@"
+ db "PSNCUREBERRY@"
+ db "GOLD LEAF@"
+ db "SOFT SAND@"
+ db "SHARP BEAK@"
+ db "PRZCUREBERRY@"
+ db "BURNT BERRY@"
+ db "ICE BERRY@"
+ db "POISON BARB@"
+ db "KING'S ROCK@"
+ db "BITTER BERRY@"
+ db "MINT BERRY@"
+ db "RED APRICORN@"
+ db "TINYMUSHROOM@"
+ db "BIG MUSHROOM@"
+ db "SILVERPOWDER@"
+ db "BLU APRICORN@"
+ db "TERU-SAMA@"
+ db "AMULET COIN@"
+ db "YLW APRICORN@"
+ db "GRN APRICORN@"
+ db "CLEANSE TAG@"
+ db "MYSTIC WATER@"
+ db "TWISTEDSPOON@"
+ db "WHT APRICORN@"
+ db "BLACKBELT@"
+ db "BLK APRICORN@"
+ db "TERU-SAMA@"
+ db "PNK APRICORN@"
+ db "BLACKGLASSES@"
+ db "SLOWPOKETAIL@"
+ db "PINK BOW@"
+ db "STICK@"
+ db "SMOKE BALL@"
+ db "NEVERMELTICE@"
+ db "MAGNET@"
+ db "MIRACLEBERRY@"
+ db "PEARL@"
+ db "BIG PEARL@"
+ db "EVERSTONE@"
+ db "SPELL TAG@"
+ db "RAGECANDYBAR@"
+ db "GS BALL@"
+ db "BLUE CARD@"
+ db "MIRACLE SEED@"
+ db "THICK CLUB@"
+ db "FOCUS BAND@"
+ db "TERU-SAMA@"
+ db "ENERGYPOWDER@"
+ db "ENERGY ROOT@"
+ db "HEAL POWDER@"
+ db "REVIVAL HERB@"
+ db "HARD STONE@"
+ db "LUCKY EGG@"
+ db "CARD KEY@"
+ db "MACHINE PART@"
+ db "EGG TICKET@"
+ db "LOST ITEM@"
+ db "STARDUST@"
+ db "STAR PIECE@"
+ db "BASEMENT KEY@"
+ db "PASS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "CHARCOAL@"
+ db "BERRY JUICE@"
+ db "SCOPE LENS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "METAL COAT@"
+ db "DRAGON FANG@"
+ db "TERU-SAMA@"
+ db "LEFTOVERS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "MYSTERYBERRY@"
+ db "DRAGON SCALE@"
+ db "BERSERK GENE@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "SACRED ASH@"
+ db "HEAVY BALL@"
+ db "FLOWER MAIL@"
+ db "LEVEL BALL@"
+ db "LURE BALL@"
+ db "FAST BALL@"
+ db "TERU-SAMA@"
+ db "LIGHT BALL@"
+ db "FRIEND BALL@"
+ db "MOON BALL@"
+ db "LOVE BALL@"
+ db "NORMAL BOX@"
+ db "GORGEOUS BOX@"
+ db "SUN STONE@"
+ db "POLKADOT BOW@"
+ db "TERU-SAMA@"
+ db "UP-GRADE@"
+ db "BERRY@"
+ db "GOLD BERRY@"
+ db "SQUIRTBOTTLE@"
+ db "TERU-SAMA@"
+ db "PARK BALL@"
+ db "RAINBOW WING@"
+ db "TERU-SAMA@"
+ db "BRICK PIECE@"
+ db "SURF MAIL@"
+ db "LITEBLUEMAIL@"
+ db "PORTRAITMAIL@"
+ db "LOVELY MAIL@"
+ db "EON MAIL@"
+ db "MORPH MAIL@"
+ db "BLUESKY MAIL@"
+ db "MUSIC MAIL@"
+ db "MIRAGE MAIL@"
+ db "TERU-SAMA@"
+ db "TM01@"
+ db "TM02@"
+ db "TM03@"
+ db "TM04@"
+ db "TERU-SAMA@"
+ db "TM05@"
+ db "TM06@"
+ db "TM07@"
+ db "TM08@"
+ db "TM09@"
+ db "TM10@"
+ db "TM11@"
+ db "TM12@"
+ db "TM13@"
+ db "TM14@"
+ db "TM15@"
+ db "TM16@"
+ db "TM17@"
+ db "TM18@"
+ db "TM19@"
+ db "TM20@"
+ db "TM21@"
+ db "TM22@"
+ db "TM23@"
+ db "TM24@"
+ db "TM25@"
+ db "TM26@"
+ db "TM27@"
+ db "TM28@"
+ db "TERU-SAMA@"
+ db "TM29@"
+ db "TM30@"
+ db "TM31@"
+ db "TM32@"
+ db "TM33@"
+ db "TM34@"
+ db "TM35@"
+ db "TM36@"
+ db "TM37@"
+ db "TM38@"
+ db "TM39@"
+ db "TM40@"
+ db "TM41@"
+ db "TM42@"
+ db "TM43@"
+ db "TM44@"
+ db "TM45@"
+ db "TM46@"
+ db "TM47@"
+ db "TM48@"
+ db "TM49@"
+ db "TM50@"
+ db "HM01@"
+ db "HM02@"
+ db "HM03@"
+ db "HM04@"
+ db "HM05@"
+ db "HM06@"
+ db "HM07@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "?@"
--- a/data/maps/map_scenes.asm
+++ /dev/null
@@ -1,89 +1,0 @@
-scene_def: MACRO
-; db group, map
-; dw address
- map \1
- dw \2
-ENDM
-
-MapScenes:: ; 4d01e
- scene_def POKECENTER_2F, wPokecenter2FSceneID
- scene_def TRADE_CENTER, wTradeCenterSceneID
- scene_def COLOSSEUM, wColosseumSceneID
- scene_def TIME_CAPSULE, wTimeCapsuleSceneID
- scene_def POWER_PLANT, wPowerPlantSceneID
- scene_def CERULEAN_GYM, wCeruleanGymSceneID
- scene_def ROUTE_25, wRoute25SceneID
- scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID
- scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID
- scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID
- scene_def ROUTE_16_GATE, wRoute16GateSceneID
- scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID
- scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID
- scene_def WILLS_ROOM, wWillsRoomSceneID
- scene_def KOGAS_ROOM, wKogasRoomSceneID
- scene_def BRUNOS_ROOM, wBrunosRoomSceneID
- scene_def KARENS_ROOM, wKarensRoomSceneID
- scene_def LANCES_ROOM, wLancesRoomSceneID
- scene_def HALL_OF_FAME, wHallOfFameSceneID
- scene_def ROUTE_27, wRoute27SceneID
- scene_def NEW_BARK_TOWN, wNewBarkTownSceneID
- scene_def ELMS_LAB, wElmsLabSceneID
- scene_def KRISS_HOUSE_1F, wKrissHouse1FSceneID
- scene_def ROUTE_29, wRoute29SceneID
- scene_def CHERRYGROVE_CITY, wCherrygroveCitySceneID
- scene_def MR_POKEMONS_HOUSE, wMrPokemonsHouseSceneID
- scene_def ROUTE_32, wRoute32SceneID
- scene_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateSceneID
- scene_def ROUTE_36, wRoute36SceneID
- scene_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateSceneID
- scene_def AZALEA_TOWN, wAzaleaTownSceneID
- scene_def GOLDENROD_GYM, wGoldenrodGymSceneID
- scene_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationSceneID
- scene_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FSceneID
- scene_def OLIVINE_CITY, wOlivineCitySceneID
- scene_def ROUTE_34, wRoute34SceneID
- scene_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateSceneID
- scene_def ECRUTEAK_HOUSE, wEcruteakHouseSceneID
- scene_def WISE_TRIOS_ROOM, wWiseTriosRoomSceneID
- scene_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FSceneID
- scene_def ECRUTEAK_GYM, wEcruteakGymSceneID
- scene_def MAHOGANY_TOWN, wMahoganyTownSceneID
- scene_def ROUTE_42, wRoute42SceneID
- scene_def CIANWOOD_CITY, wCianwoodCitySceneID
- scene_def BATTLE_TOWER_1F, wBattleTower1FSceneID
- scene_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomSceneID
- scene_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorSceneID
- scene_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwaySceneID
- scene_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideSceneID
- scene_def ROUTE_43_GATE, wRoute43GateSceneID
- scene_def MOUNT_MOON, wMountMoonSceneID
- scene_def SPROUT_TOWER_3F, wSproutTower3FSceneID
- scene_def TIN_TOWER_1F, wTinTower1FSceneID
- scene_def BURNED_TOWER_1F, wBurnedTower1FSceneID
- scene_def BURNED_TOWER_B1F, wBurnedTowerB1FSceneID
- scene_def RADIO_TOWER_5F, wRadioTower5FSceneID
- scene_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideSceneID
- scene_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterSceneID
- scene_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberSceneID
- scene_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberSceneID
- scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberSceneID
- scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberSceneID
- scene_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberSceneID
- scene_def MAHOGANY_MART_1F, wMahoganyMart1FSceneID
- scene_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FSceneID
- scene_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FSceneID
- scene_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FSceneID
- scene_def GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID
- scene_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3SceneID
- scene_def VICTORY_ROAD, wVictoryRoadSceneID
- scene_def DRAGONS_DEN_B1F, wDragonsDenB1FSceneID
- scene_def DRAGON_SHRINE, wDragonShrineSceneID
- scene_def OLIVINE_PORT, wOlivinePortSceneID
- scene_def VERMILION_PORT, wVermilionPortSceneID
- scene_def FAST_SHIP_1F, wFastShip1FSceneID
- scene_def FAST_SHIP_B1F, wFastShipB1FSceneID
- scene_def MOUNT_MOON_SQUARE, wMountMoonSquareSceneID
- scene_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileSceneID
- scene_def MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID
- db -1
-; 4d15b
--- a/data/maps/map_setup_scripts.asm
+++ /dev/null
@@ -1,177 +1,0 @@
-MapSetupScripts: ; 15377
-; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm)
- dw MapSetupScript_Warp
- dw MapSetupScript_Continue
- dw MapSetupScript_ReloadMap
- dw MapSetupScript_Teleport
- dw MapSetupScript_Door
- dw MapSetupScript_Fall
- dw MapSetupScript_Connection
- dw MapSetupScript_LinkReturn
- dw MapSetupScript_Train
- dw MapSetupScript_Submenu
- dw MapSetupScript_BadWarp
- dw MapSetupScript_Fly
-; 1538f
-
-MapSetupScript_Teleport: ; 1538f
- db map_prolong_sprites
-MapSetupScript_Fly: ; 15390
- db map_fade_out_palettes
- db map_keep_roam
-MapSetupScript_Warp: ; 15392
- db map_lcd_off
- db map_sound_off
- db map_load_spawn
- db map_attributes
- db map_change_callback
- db map_spawn_coord
- db map_player_coord
- db map_anchor_screen
- db map_load_blocks
- db map_buffer_screen
- db map_load_graphics
- db map_time_of_day
- db map_load_objects
- db map_lcd_on
- db map_palettes
- db map_face_down
- db map_sprites
- db map_bike_music
- db map_max_volume
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_end
-
-MapSetupScript_BadWarp: ; 153a9
- db map_load_spawn
- db map_attributes
- db map_change_callback
- db map_spawn_coord
- db map_player_coord
- db map_anchor_screen
- db map_load_blocks
- db map_buffer_screen
- db map_lcd_off
- db map_load_graphics
- db map_time_of_day
- db map_fade_out_music
- db map_lcd_on
- db map_load_objects
- db map_palettes
- db map_face_down
- db map_sprites
- db map_fade_music
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_end
-
-MapSetupScript_Connection: ; 153bf
- db map_animations_off
- db map_load_connection
- db map_attributes
- db map_change_callback
- db map_player_coord
- db map_load_blocks
- db map_load_tileset
- db map_save_screen
- db map_load_objects
- db map_fade_music
- db map_palettes
- db map_stop_script
- db map_keep_palettes
- db map_wildmons
- db map_update_roam
- db map_animations_on
- db map_end
-
-MapSetupScript_Fall: ; 153d0
- db map_prolong_sprites
-MapSetupScript_Door: ; 153d1
- db map_fade_out_palettes
-MapSetupScript_Train: ; 153d2
- db map_load_warp
- db map_attributes
- db map_warp_face
- db map_change_callback
- db map_player_coord
- db map_load_blocks
- db map_buffer_screen
- db map_lcd_off
- db map_load_graphics
- db map_time_of_day
- db map_fade_out_music
- db map_lcd_on
- db map_load_objects
- db map_palettes
- db map_sprites
- db map_fade_music
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_update_roam
- db map_end
-
-MapSetupScript_ReloadMap: ; 153e7
- db map_fade
- db map_clear_bg_palettes
- db map_lcd_off
- db map_sound_off
- db map_load_blocks
- db map_connection_blocks
- db map_load_graphics
- db map_time_of_day
- db map_lcd_on
- db map_palettes
- db map_sprites
- db map_music_force
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_end
-
-MapSetupScript_LinkReturn: ; 153f7
- db map_fade
- db map_lcd_off
- db map_sound_off
- db map_change_callback
- db map_load_blocks
- db map_buffer_screen
- db map_load_graphics
- db map_time_of_day
- db map_lcd_on
- db map_palettes
- db map_sprites
- db map_bike_music
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_text_scroll_off
- db map_end
-
-MapSetupScript_Continue: ; 15408
- db map_lcd_off
- db map_sound_off
- db map_attributes_2
- db map_anchor_screen
- db map_start_callback
- db map_load_blocks
- db map_connection_blocks
- db map_buffer_screen
- db map_load_graphics
- db map_time_of_day
- db map_lcd_on
- db map_palettes
- db map_sprites
- db map_bike_music
- db map_fade_in_palettes
- db map_animations_on
- db map_wildmons
- db map_end
-
-MapSetupScript_Submenu: ; 1541a
- db map_load_blocks
- db map_connection_blocks
- db map_end
--- a/data/maps/mapgroup_roofs.asm
+++ /dev/null
@@ -1,38 +1,0 @@
-MapGroupRoofs: ; 1c021i
-; entries correspond to Roofs (see below)
- db -1 ; group 0 (unused)
- db 3 ; group 1 (Olivine)
- db 2 ; group 2 (Mahogany)
- db -1 ; group 3
- db 1 ; group 4 (Ecruteak)
- db 2 ; group 5 (Blackthorn)
- db -1 ; group 6
- db -1 ; group 7
- db 2 ; group 8 (Azalea)
- db 2 ; group 9 (Lake of Rage)
- db 1 ; group 10 (Violet)
- db 4 ; group 11 (Goldenrod)
- db -1 ; group 12
- db -1 ; group 13
- db -1 ; group 14
- db -1 ; group 15
- db -1 ; group 16
- db -1 ; group 17
- db -1 ; group 18
- db 0 ; group 19 (Silver Cave)
- db -1 ; group 20
- db -1 ; group 21
- db 3 ; group 22 (Cianwood)
- db -1 ; group 23
- db 0 ; group 24 (New Bark)
- db -1 ; group 25
- db 0 ; group 26 (Cherrygrove)
-; 1c03c
-
-Roofs: ; 1c03c
-INCBIN "gfx/tilesets/roofs/0.2bpp"
-INCBIN "gfx/tilesets/roofs/1.2bpp"
-INCBIN "gfx/tilesets/roofs/2.2bpp"
-INCBIN "gfx/tilesets/roofs/3.2bpp"
-INCBIN "gfx/tilesets/roofs/4.2bpp"
-; 1c30c
--- /dev/null
+++ b/data/maps/roofs.asm
@@ -1,0 +1,38 @@
+MapGroupRoofs: ; 1c021i
+; entries correspond to Roofs (see below)
+ db -1 ; group 0 (unused)
+ db 3 ; group 1 (Olivine)
+ db 2 ; group 2 (Mahogany)
+ db -1 ; group 3
+ db 1 ; group 4 (Ecruteak)
+ db 2 ; group 5 (Blackthorn)
+ db -1 ; group 6
+ db -1 ; group 7
+ db 2 ; group 8 (Azalea)
+ db 2 ; group 9 (Lake of Rage)
+ db 1 ; group 10 (Violet)
+ db 4 ; group 11 (Goldenrod)
+ db -1 ; group 12
+ db -1 ; group 13
+ db -1 ; group 14
+ db -1 ; group 15
+ db -1 ; group 16
+ db -1 ; group 17
+ db -1 ; group 18
+ db 0 ; group 19 (Silver Cave)
+ db -1 ; group 20
+ db -1 ; group 21
+ db 3 ; group 22 (Cianwood)
+ db -1 ; group 23
+ db 0 ; group 24 (New Bark)
+ db -1 ; group 25
+ db 0 ; group 26 (Cherrygrove)
+; 1c03c
+
+Roofs: ; 1c03c
+INCBIN "gfx/tilesets/roofs/0.2bpp"
+INCBIN "gfx/tilesets/roofs/1.2bpp"
+INCBIN "gfx/tilesets/roofs/2.2bpp"
+INCBIN "gfx/tilesets/roofs/3.2bpp"
+INCBIN "gfx/tilesets/roofs/4.2bpp"
+; 1c30c
--- /dev/null
+++ b/data/maps/scenes.asm
@@ -1,0 +1,89 @@
+scene_def: MACRO
+; db group, map
+; dw address
+ map \1
+ dw \2
+ENDM
+
+MapScenes:: ; 4d01e
+ scene_def POKECENTER_2F, wPokecenter2FSceneID
+ scene_def TRADE_CENTER, wTradeCenterSceneID
+ scene_def COLOSSEUM, wColosseumSceneID
+ scene_def TIME_CAPSULE, wTimeCapsuleSceneID
+ scene_def POWER_PLANT, wPowerPlantSceneID
+ scene_def CERULEAN_GYM, wCeruleanGymSceneID
+ scene_def ROUTE_25, wRoute25SceneID
+ scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID
+ scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID
+ scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID
+ scene_def ROUTE_16_GATE, wRoute16GateSceneID
+ scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID
+ scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID
+ scene_def WILLS_ROOM, wWillsRoomSceneID
+ scene_def KOGAS_ROOM, wKogasRoomSceneID
+ scene_def BRUNOS_ROOM, wBrunosRoomSceneID
+ scene_def KARENS_ROOM, wKarensRoomSceneID
+ scene_def LANCES_ROOM, wLancesRoomSceneID
+ scene_def HALL_OF_FAME, wHallOfFameSceneID
+ scene_def ROUTE_27, wRoute27SceneID
+ scene_def NEW_BARK_TOWN, wNewBarkTownSceneID
+ scene_def ELMS_LAB, wElmsLabSceneID
+ scene_def KRISS_HOUSE_1F, wKrissHouse1FSceneID
+ scene_def ROUTE_29, wRoute29SceneID
+ scene_def CHERRYGROVE_CITY, wCherrygroveCitySceneID
+ scene_def MR_POKEMONS_HOUSE, wMrPokemonsHouseSceneID
+ scene_def ROUTE_32, wRoute32SceneID
+ scene_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateSceneID
+ scene_def ROUTE_36, wRoute36SceneID
+ scene_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateSceneID
+ scene_def AZALEA_TOWN, wAzaleaTownSceneID
+ scene_def GOLDENROD_GYM, wGoldenrodGymSceneID
+ scene_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationSceneID
+ scene_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FSceneID
+ scene_def OLIVINE_CITY, wOlivineCitySceneID
+ scene_def ROUTE_34, wRoute34SceneID
+ scene_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateSceneID
+ scene_def ECRUTEAK_HOUSE, wEcruteakHouseSceneID
+ scene_def WISE_TRIOS_ROOM, wWiseTriosRoomSceneID
+ scene_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FSceneID
+ scene_def ECRUTEAK_GYM, wEcruteakGymSceneID
+ scene_def MAHOGANY_TOWN, wMahoganyTownSceneID
+ scene_def ROUTE_42, wRoute42SceneID
+ scene_def CIANWOOD_CITY, wCianwoodCitySceneID
+ scene_def BATTLE_TOWER_1F, wBattleTower1FSceneID
+ scene_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomSceneID
+ scene_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorSceneID
+ scene_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwaySceneID
+ scene_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideSceneID
+ scene_def ROUTE_43_GATE, wRoute43GateSceneID
+ scene_def MOUNT_MOON, wMountMoonSceneID
+ scene_def SPROUT_TOWER_3F, wSproutTower3FSceneID
+ scene_def TIN_TOWER_1F, wTinTower1FSceneID
+ scene_def BURNED_TOWER_1F, wBurnedTower1FSceneID
+ scene_def BURNED_TOWER_B1F, wBurnedTowerB1FSceneID
+ scene_def RADIO_TOWER_5F, wRadioTower5FSceneID
+ scene_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideSceneID
+ scene_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterSceneID
+ scene_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberSceneID
+ scene_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberSceneID
+ scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberSceneID
+ scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberSceneID
+ scene_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberSceneID
+ scene_def MAHOGANY_MART_1F, wMahoganyMart1FSceneID
+ scene_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FSceneID
+ scene_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FSceneID
+ scene_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FSceneID
+ scene_def GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID
+ scene_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3SceneID
+ scene_def VICTORY_ROAD, wVictoryRoadSceneID
+ scene_def DRAGONS_DEN_B1F, wDragonsDenB1FSceneID
+ scene_def DRAGON_SHRINE, wDragonShrineSceneID
+ scene_def OLIVINE_PORT, wOlivinePortSceneID
+ scene_def VERMILION_PORT, wVermilionPortSceneID
+ scene_def FAST_SHIP_1F, wFastShip1FSceneID
+ scene_def FAST_SHIP_B1F, wFastShipB1FSceneID
+ scene_def MOUNT_MOON_SQUARE, wMountMoonSquareSceneID
+ scene_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileSceneID
+ scene_def MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID
+ db -1
+; 4d15b
--- /dev/null
+++ b/data/maps/setup_scripts.asm
@@ -1,0 +1,177 @@
+MapSetupScripts: ; 15377
+; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm)
+ dw MapSetupScript_Warp
+ dw MapSetupScript_Continue
+ dw MapSetupScript_ReloadMap
+ dw MapSetupScript_Teleport
+ dw MapSetupScript_Door
+ dw MapSetupScript_Fall
+ dw MapSetupScript_Connection
+ dw MapSetupScript_LinkReturn
+ dw MapSetupScript_Train
+ dw MapSetupScript_Submenu
+ dw MapSetupScript_BadWarp
+ dw MapSetupScript_Fly
+; 1538f
+
+MapSetupScript_Teleport: ; 1538f
+ db map_prolong_sprites
+MapSetupScript_Fly: ; 15390
+ db map_fade_out_palettes
+ db map_keep_roam
+MapSetupScript_Warp: ; 15392
+ db map_lcd_off
+ db map_sound_off
+ db map_load_spawn
+ db map_attributes
+ db map_change_callback
+ db map_spawn_coord
+ db map_player_coord
+ db map_anchor_screen
+ db map_load_blocks
+ db map_buffer_screen
+ db map_load_graphics
+ db map_time_of_day
+ db map_load_objects
+ db map_lcd_on
+ db map_palettes
+ db map_face_down
+ db map_sprites
+ db map_bike_music
+ db map_max_volume
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_end
+
+MapSetupScript_BadWarp: ; 153a9
+ db map_load_spawn
+ db map_attributes
+ db map_change_callback
+ db map_spawn_coord
+ db map_player_coord
+ db map_anchor_screen
+ db map_load_blocks
+ db map_buffer_screen
+ db map_lcd_off
+ db map_load_graphics
+ db map_time_of_day
+ db map_fade_out_music
+ db map_lcd_on
+ db map_load_objects
+ db map_palettes
+ db map_face_down
+ db map_sprites
+ db map_fade_music
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_end
+
+MapSetupScript_Connection: ; 153bf
+ db map_animations_off
+ db map_load_connection
+ db map_attributes
+ db map_change_callback
+ db map_player_coord
+ db map_load_blocks
+ db map_load_tileset
+ db map_save_screen
+ db map_load_objects
+ db map_fade_music
+ db map_palettes
+ db map_stop_script
+ db map_keep_palettes
+ db map_wildmons
+ db map_update_roam
+ db map_animations_on
+ db map_end
+
+MapSetupScript_Fall: ; 153d0
+ db map_prolong_sprites
+MapSetupScript_Door: ; 153d1
+ db map_fade_out_palettes
+MapSetupScript_Train: ; 153d2
+ db map_load_warp
+ db map_attributes
+ db map_warp_face
+ db map_change_callback
+ db map_player_coord
+ db map_load_blocks
+ db map_buffer_screen
+ db map_lcd_off
+ db map_load_graphics
+ db map_time_of_day
+ db map_fade_out_music
+ db map_lcd_on
+ db map_load_objects
+ db map_palettes
+ db map_sprites
+ db map_fade_music
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_update_roam
+ db map_end
+
+MapSetupScript_ReloadMap: ; 153e7
+ db map_fade
+ db map_clear_bg_palettes
+ db map_lcd_off
+ db map_sound_off
+ db map_load_blocks
+ db map_connection_blocks
+ db map_load_graphics
+ db map_time_of_day
+ db map_lcd_on
+ db map_palettes
+ db map_sprites
+ db map_music_force
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_end
+
+MapSetupScript_LinkReturn: ; 153f7
+ db map_fade
+ db map_lcd_off
+ db map_sound_off
+ db map_change_callback
+ db map_load_blocks
+ db map_buffer_screen
+ db map_load_graphics
+ db map_time_of_day
+ db map_lcd_on
+ db map_palettes
+ db map_sprites
+ db map_bike_music
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_text_scroll_off
+ db map_end
+
+MapSetupScript_Continue: ; 15408
+ db map_lcd_off
+ db map_sound_off
+ db map_attributes_2
+ db map_anchor_screen
+ db map_start_callback
+ db map_load_blocks
+ db map_connection_blocks
+ db map_buffer_screen
+ db map_load_graphics
+ db map_time_of_day
+ db map_lcd_on
+ db map_palettes
+ db map_sprites
+ db map_bike_music
+ db map_fade_in_palettes
+ db map_animations_on
+ db map_wildmons
+ db map_end
+
+MapSetupScript_Submenu: ; 1541a
+ db map_load_blocks
+ db map_connection_blocks
+ db map_end
--- /dev/null
+++ b/data/moves/animations.asm
@@ -1,0 +1,5176 @@
+BattleAnimations:: ; c906f
+; entries correspond to constants/move_constants.asm
+ dw BattleAnim_0
+ dw BattleAnim_Pound
+ dw BattleAnim_KarateChop
+ dw BattleAnim_Doubleslap
+ dw BattleAnim_CometPunch
+ dw BattleAnim_MegaPunch
+ dw BattleAnim_PayDay
+ dw BattleAnim_FirePunch
+ dw BattleAnim_IcePunch
+ dw BattleAnim_Thunderpunch
+ dw BattleAnim_Scratch
+ dw BattleAnim_Vicegrip
+ dw BattleAnim_Guillotine
+ dw BattleAnim_RazorWind
+ dw BattleAnim_SwordsDance
+ dw BattleAnim_Cut
+ dw BattleAnim_Gust
+ dw BattleAnim_WingAttack
+ dw BattleAnim_Whirlwind
+ dw BattleAnim_Fly
+ dw BattleAnim_Bind
+ dw BattleAnim_Slam
+ dw BattleAnim_VineWhip
+ dw BattleAnim_Stomp
+ dw BattleAnim_DoubleKick
+ dw BattleAnim_MegaKick
+ dw BattleAnim_JumpKick
+ dw BattleAnim_RollingKick
+ dw BattleAnim_SandAttack
+ dw BattleAnim_Headbutt
+ dw BattleAnim_HornAttack
+ dw BattleAnim_FuryAttack
+ dw BattleAnim_HornDrill
+ dw BattleAnim_Tackle
+ dw BattleAnim_BodySlam
+ dw BattleAnim_Wrap
+ dw BattleAnim_TakeDown
+ dw BattleAnim_Thrash
+ dw BattleAnim_DoubleEdge
+ dw BattleAnim_TailWhip
+ dw BattleAnim_PoisonSting
+ dw BattleAnim_Twineedle
+ dw BattleAnim_PinMissile
+ dw BattleAnim_Leer
+ dw BattleAnim_Bite
+ dw BattleAnim_Growl
+ dw BattleAnim_Roar
+ dw BattleAnim_Sing
+ dw BattleAnim_Supersonic
+ dw BattleAnim_Sonicboom
+ dw BattleAnim_Disable
+ dw BattleAnim_Acid
+ dw BattleAnim_Ember
+ dw BattleAnim_Flamethrower
+ dw BattleAnim_Mist
+ dw BattleAnim_WaterGun
+ dw BattleAnim_HydroPump
+ dw BattleAnim_Surf
+ dw BattleAnim_IceBeam
+ dw BattleAnim_Blizzard
+ dw BattleAnim_Psybeam
+ dw BattleAnim_Bubblebeam
+ dw BattleAnim_AuroraBeam
+ dw BattleAnim_HyperBeam
+ dw BattleAnim_Peck
+ dw BattleAnim_DrillPeck
+ dw BattleAnim_Submission
+ dw BattleAnim_LowKick
+ dw BattleAnim_Counter
+ dw BattleAnim_SeismicToss
+ dw BattleAnim_Strength
+ dw BattleAnim_Absorb
+ dw BattleAnim_MegaDrain
+ dw BattleAnim_LeechSeed
+ dw BattleAnim_Growth
+ dw BattleAnim_RazorLeaf
+ dw BattleAnim_Solarbeam
+ dw BattleAnim_Poisonpowder
+ dw BattleAnim_StunSpore
+ dw BattleAnim_SleepPowder
+ dw BattleAnim_PetalDance
+ dw BattleAnim_StringShot
+ dw BattleAnim_DragonRage
+ dw BattleAnim_FireSpin
+ dw BattleAnim_Thundershock
+ dw BattleAnim_Thunderbolt
+ dw BattleAnim_ThunderWave
+ dw BattleAnim_Thunder
+ dw BattleAnim_RockThrow
+ dw BattleAnim_Earthquake
+ dw BattleAnim_Fissure
+ dw BattleAnim_Dig
+ dw BattleAnim_Toxic
+ dw BattleAnim_Confusion
+ dw BattleAnim_PsychicM
+ dw BattleAnim_Hypnosis
+ dw BattleAnim_Meditate
+ dw BattleAnim_Agility
+ dw BattleAnim_QuickAttack
+ dw BattleAnim_Rage
+ dw BattleAnim_Teleport
+ dw BattleAnim_NightShade
+ dw BattleAnim_Mimic
+ dw BattleAnim_Screech
+ dw BattleAnim_DoubleTeam
+ dw BattleAnim_Recover
+ dw BattleAnim_Harden
+ dw BattleAnim_Minimize
+ dw BattleAnim_Smokescreen
+ dw BattleAnim_ConfuseRay
+ dw BattleAnim_Withdraw
+ dw BattleAnim_DefenseCurl
+ dw BattleAnim_Barrier
+ dw BattleAnim_LightScreen
+ dw BattleAnim_Haze
+ dw BattleAnim_Reflect
+ dw BattleAnim_FocusEnergy
+ dw BattleAnim_Bide
+ dw BattleAnim_Metronome
+ dw BattleAnim_MirrorMove
+ dw BattleAnim_Selfdestruct
+ dw BattleAnim_EggBomb
+ dw BattleAnim_Lick
+ dw BattleAnim_Smog
+ dw BattleAnim_Sludge
+ dw BattleAnim_BoneClub
+ dw BattleAnim_FireBlast
+ dw BattleAnim_Waterfall
+ dw BattleAnim_Clamp
+ dw BattleAnim_Swift
+ dw BattleAnim_SkullBash
+ dw BattleAnim_SpikeCannon
+ dw BattleAnim_Constrict
+ dw BattleAnim_Amnesia
+ dw BattleAnim_Kinesis
+ dw BattleAnim_Softboiled
+ dw BattleAnim_HiJumpKick
+ dw BattleAnim_Glare
+ dw BattleAnim_DreamEater
+ dw BattleAnim_PoisonGas
+ dw BattleAnim_Barrage
+ dw BattleAnim_LeechLife
+ dw BattleAnim_LovelyKiss
+ dw BattleAnim_SkyAttack
+ dw BattleAnim_Transform
+ dw BattleAnim_Bubble
+ dw BattleAnim_DizzyPunch
+ dw BattleAnim_Spore
+ dw BattleAnim_Flash
+ dw BattleAnim_Psywave
+ dw BattleAnim_Splash
+ dw BattleAnim_AcidArmor
+ dw BattleAnim_Crabhammer
+ dw BattleAnim_Explosion
+ dw BattleAnim_FurySwipes
+ dw BattleAnim_Bonemerang
+ dw BattleAnim_Rest
+ dw BattleAnim_RockSlide
+ dw BattleAnim_HyperFang
+ dw BattleAnim_Sharpen
+ dw BattleAnim_Conversion
+ dw BattleAnim_TriAttack
+ dw BattleAnim_SuperFang
+ dw BattleAnim_Slash
+ dw BattleAnim_Substitute
+ dw BattleAnim_Struggle
+ dw BattleAnim_Sketch
+ dw BattleAnim_TripleKick
+ dw BattleAnim_Thief
+ dw BattleAnim_SpiderWeb
+ dw BattleAnim_MindReader
+ dw BattleAnim_Nightmare
+ dw BattleAnim_FlameWheel
+ dw BattleAnim_Snore
+ dw BattleAnim_Curse
+ dw BattleAnim_Flail
+ dw BattleAnim_Conversion2
+ dw BattleAnim_Aeroblast
+ dw BattleAnim_CottonSpore
+ dw BattleAnim_Reversal
+ dw BattleAnim_Spite
+ dw BattleAnim_PowderSnow
+ dw BattleAnim_Protect
+ dw BattleAnim_MachPunch
+ dw BattleAnim_ScaryFace
+ dw BattleAnim_FaintAttack
+ dw BattleAnim_SweetKiss
+ dw BattleAnim_BellyDrum
+ dw BattleAnim_SludgeBomb
+ dw BattleAnim_MudSlap
+ dw BattleAnim_Octazooka
+ dw BattleAnim_Spikes
+ dw BattleAnim_ZapCannon
+ dw BattleAnim_Foresight
+ dw BattleAnim_DestinyBond
+ dw BattleAnim_PerishSong
+ dw BattleAnim_IcyWind
+ dw BattleAnim_Detect
+ dw BattleAnim_BoneRush
+ dw BattleAnim_LockOn
+ dw BattleAnim_Outrage
+ dw BattleAnim_Sandstorm
+ dw BattleAnim_GigaDrain
+ dw BattleAnim_Endure
+ dw BattleAnim_Charm
+ dw BattleAnim_Rollout
+ dw BattleAnim_FalseSwipe
+ dw BattleAnim_Swagger
+ dw BattleAnim_MilkDrink
+ dw BattleAnim_Spark
+ dw BattleAnim_FuryCutter
+ dw BattleAnim_SteelWing
+ dw BattleAnim_MeanLook
+ dw BattleAnim_Attract
+ dw BattleAnim_SleepTalk
+ dw BattleAnim_HealBell
+ dw BattleAnim_Return
+ dw BattleAnim_Present
+ dw BattleAnim_Frustration
+ dw BattleAnim_Safeguard
+ dw BattleAnim_PainSplit
+ dw BattleAnim_SacredFire
+ dw BattleAnim_Magnitude
+ dw BattleAnim_Dynamicpunch
+ dw BattleAnim_Megahorn
+ dw BattleAnim_Dragonbreath
+ dw BattleAnim_BatonPass
+ dw BattleAnim_Encore
+ dw BattleAnim_Pursuit
+ dw BattleAnim_RapidSpin
+ dw BattleAnim_SweetScent
+ dw BattleAnim_IronTail
+ dw BattleAnim_MetalClaw
+ dw BattleAnim_VitalThrow
+ dw BattleAnim_MorningSun
+ dw BattleAnim_Synthesis
+ dw BattleAnim_Moonlight
+ dw BattleAnim_HiddenPower
+ dw BattleAnim_CrossChop
+ dw BattleAnim_Twister
+ dw BattleAnim_RainDance
+ dw BattleAnim_SunnyDay
+ dw BattleAnim_Crunch
+ dw BattleAnim_MirrorCoat
+ dw BattleAnim_PsychUp
+ dw BattleAnim_Extremespeed
+ dw BattleAnim_Ancientpower
+ dw BattleAnim_ShadowBall
+ dw BattleAnim_FutureSight
+ dw BattleAnim_RockSmash
+ dw BattleAnim_Whirlpool
+ dw BattleAnim_BeatUp
+ dw BattleAnim_252
+ dw BattleAnim_253
+ dw BattleAnim_254
+ dw BattleAnim_SweetScent2
+; $100
+ dw BattleAnim_ThrowPokeBall
+ dw BattleAnim_SendOutMon
+ dw BattleAnim_ReturnMon
+ dw BattleAnim_Confused
+ dw BattleAnim_Slp
+ dw BattleAnim_Brn
+ dw BattleAnim_Psn
+ dw BattleAnim_Sap
+ dw BattleAnim_Frz
+ dw BattleAnim_Par
+ dw BattleAnim_InLove
+ dw BattleAnim_InSandstorm
+ dw BattleAnim_InNightmare
+ dw BattleAnim_InWhirlpool
+ dw BattleAnim_Miss
+ dw BattleAnim_EnemyDamage
+ dw BattleAnim_EnemyStatDown
+ dw BattleAnim_PlayerStatDown
+ dw BattleAnim_PlayerDamage
+ dw BattleAnim_Wobble
+ dw BattleAnim_Shake
+ dw BattleAnim_HitConfusion
+; c929b
+
+BattleAnim_0: ; c929b
+BattleAnim_252: ; c929b
+BattleAnim_253: ; c929b
+BattleAnim_254: ; c929b
+BattleAnim_MirrorMove: ; c929b
+ anim_ret
+; c929c
+
+BattleAnim_SweetScent2: ; c929c
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
+ anim_wait 64
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_wait 128
+ anim_ret
+; c92c1
+
+BattleAnim_ThrowPokeBall
+ anim_if_param_equal NO_ITEM, .TheTrainerBlockedTheBall
+ anim_if_param_equal MASTER_BALL, .MasterBall
+ anim_if_param_equal ULTRA_BALL, .UltraBall
+ anim_if_param_equal GREAT_BALL, .GreatBall
+ ; any other ball
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
+ anim_wait 16
+ anim_jump .Shake
+; c92f2
+
+.TheTrainerBlockedTheBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 8, 0, 11, 4, $20
+ anim_wait 20
+ anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0
+ anim_wait 32
+ anim_ret
+; c9305
+
+.UltraBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
+ anim_wait 16
+ anim_jump .Shake
+; c9326
+
+.GreatBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
+ anim_wait 16
+ anim_jump .Shake
+; c9347
+
+.MasterBall:
+ anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
+ anim_wait 24
+ anim_sound 0, 1, SFX_MASTER_BALL
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $30
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $31
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $32
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $33
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $34
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $35
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $36
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $37
+ anim_wait 64
+.Shake:
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
+ anim_wait 8
+ anim_incobj 2
+ anim_wait 16
+ anim_sound 0, 1, SFX_CHANGE_DEX_MODE
+ anim_incobj 1
+ anim_wait 32
+ anim_sound 0, 1, SFX_BALL_BOUNCE
+ anim_wait 32
+ anim_wait 32
+ anim_wait 32
+ anim_wait 8
+ anim_setvar $0
+.Loop:
+ anim_wait 48
+ anim_checkpokeball
+ anim_if_var_equal $1, .Click
+ anim_if_var_equal $2, .BreakFree
+ anim_incobj 1
+ anim_sound 0, 1, SFX_BALL_WIGGLE
+ anim_jump .Loop
+; c93bc
+
+.Click:
+ anim_clearsprites
+ anim_ret
+; c93be
+
+.BreakFree:
+ anim_setobj $1, $b
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
+ anim_wait 2
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
+ anim_wait 32
+ anim_ret
+; c93d1
+
+BattleAnim_SendOutMon: ; c93d1
+ anim_if_param_equal $0, .Normal
+ anim_if_param_equal $1, .Shiny
+ anim_if_param_equal $2, .Unknown
+ anim_1gfx ANIM_GFX_SMOKE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2B, $0, $1, $0
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 128
+ anim_wait 4
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+.Unknown:
+ anim_1gfx ANIM_GFX_SMOKE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2A, $0, $1, $0
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
+ anim_incbgeffect ANIM_BG_2A
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_2A
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+.Shiny:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38
+ anim_wait 32
+ anim_ret
+
+.Normal:
+ anim_1gfx ANIM_GFX_SMOKE
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 5, 4, 12, 0, $0
+ anim_wait 4
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; c9483
+
+BattleAnim_ReturnMon: ; c9483
+ anim_sound 0, 0, SFX_BALL_POOF
+BattleAnim_BatonPass_branch_c9486: ; c9486
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; c948d
+
+BattleAnim_Confused: ; c948d
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf
+ anim_wait 96
+ anim_ret
+; c94a3
+
+BattleAnim_Slp: ; c94a3
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
+ anim_wait 40
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+; c94b4
+
+BattleAnim_Brn: ; c94b4
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 0, 0, SFX_BURN
+ anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10
+ anim_wait 4
+ anim_loop 3, .loop
+ anim_wait 6
+ anim_ret
+; c94c5
+
+BattleAnim_Psn: ; c94c5
+ anim_1gfx ANIM_GFX_POISON
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0
+ anim_wait 8
+ anim_ret
+; c94da
+
+BattleAnim_Sap: ; c94da
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
+ anim_wait 16
+ anim_ret
+; c94f8
+
+BattleAnim_Frz: ; c94f8
+ anim_1gfx ANIM_GFX_ICE
+ anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_wait 16
+ anim_sound 0, 0, SFX_SHINE
+ anim_wait 16
+ anim_ret
+; c9508
+
+BattleAnim_Par: ; c9508
+ anim_1gfx ANIM_GFX_STATUS
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42
+ anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2
+ anim_wait 128
+ anim_ret
+; c951e
+
+BattleAnim_InLove: ; c951e
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0
+ anim_wait 32
+ anim_ret
+; c9533
+
+BattleAnim_InSandstorm: ; c9533
+ anim_1gfx ANIM_GFX_POWDER
+ anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_wait 8
+ anim_loop 6, .loop
+ anim_wait 8
+ anim_ret
+; c9550
+
+BattleAnim_InNightmare: ; c9550
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_sound 0, 0, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0
+ anim_wait 40
+ anim_ret
+; c955c
+
+BattleAnim_InWhirlpool: ; c955c
+ anim_1gfx ANIM_GFX_WIND
+ anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
+ anim_sound 0, 1, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
+ anim_wait 6
+ anim_loop 6, .loop
+ anim_incbgeffect ANIM_BG_WHIRLPOOL
+ anim_wait 1
+ anim_ret
+; c9574
+
+BattleAnim_HitConfusion: ; c9574
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_POUND
+ anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
+ anim_wait 16
+ anim_ret
+; c9580
+
+BattleAnim_Miss: ; c9580
+ anim_ret
+; c9581
+
+BattleAnim_EnemyDamage: ; c9581
+.loop
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
+ anim_wait 5
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 5
+ anim_loop 3, .loop
+ anim_ret
+; c9592
+
+BattleAnim_EnemyStatDown: ; c9592
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0
+ anim_wait 40
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+; c95a0
+
+BattleAnim_PlayerStatDown: ; c95a0
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0
+ anim_wait 40
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+; c95ae
+
+BattleAnim_PlayerDamage: ; c95ae
+ anim_bgeffect ANIM_BG_20, $20, $2, $20
+ anim_wait 40
+ anim_ret
+; c95b5
+
+BattleAnim_Wobble: ; c95b5
+ anim_bgeffect ANIM_BG_35, $0, $0, $0
+ anim_wait 40
+ anim_ret
+; c95bc
+
+BattleAnim_Shake: ; c95bc
+ anim_bgeffect ANIM_BG_1F, $20, $2, $40
+ anim_wait 40
+ anim_ret
+; c95c3
+
+BattleAnim_Pound: ; c95c3
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; c95d5
+
+BattleAnim_KarateChop: ; c95d5
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; c9605
+
+BattleAnim_Doubleslap: ; c9605
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b
+ anim_sound 0, 1, SFX_DOUBLESLAP
+ anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; c961b
+
+BattleAnim_Doubleslap_branch_c961b: ; c961b
+ anim_sound 0, 1, SFX_DOUBLESLAP
+ anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; c962b
+
+BattleAnim_CometPunch: ; c962b
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; c9641
+
+BattleAnim_CometPunch_branch_c9641: ; c9641
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
+ anim_wait 8
+ anim_ret
+; c9651
+
+BattleAnim_Bide_branch_c9651: ; c9651
+BattleAnim_MegaPunch: ; c9651
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_wait 48
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+.loop
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+; c9677
+
+BattleAnim_Stomp: ; c9677
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; c96a7
+
+BattleAnim_DoubleKick: ; c96a7
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; c96bd
+
+BattleAnim_DoubleKick_branch_c96bd: ; c96bd
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
+ anim_wait 8
+ anim_ret
+; c96cd
+
+BattleAnim_JumpKick: ; c96cd
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1
+ anim_sound 0, 1, SFX_JUMP_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0
+ anim_setobj $1, $2
+ anim_setobj $2, $2
+ anim_wait 24
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; c96f1
+
+BattleAnim_JumpKick_branch_c96f1: ; c96f1
+ anim_wait 8
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
+ anim_wait 16
+ anim_ret
+; c96fc
+
+BattleAnim_HiJumpKick: ; c96fc
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e
+ anim_wait 32
+ anim_sound 0, 1, SFX_JUMP_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
+ anim_setobj $1, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; c971e
+
+BattleAnim_HiJumpKick_branch_c971e: ; c971e
+ anim_wait 16
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
+ anim_wait 16
+ anim_ret
+; c9729
+
+BattleAnim_RollingKick: ; c9729
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0
+ anim_setobj $1, $3
+ anim_wait 12
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; c973e
+
+BattleAnim_MegaKick: ; c973e
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_wait 67
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+.loop
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+; c9764
+
+BattleAnim_HyperFang: ; c9764
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $20, $1, $0
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; c977b
+
+BattleAnim_SuperFang: ; c977b
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_wait 48
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+.loop
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+; c97a1
+
+BattleAnim_Ember: ; c97a1
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12
+ anim_wait 4
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14
+ anim_wait 4
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13
+ anim_wait 16
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30
+ anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30
+ anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30
+ anim_wait 32
+ anim_ret
+; c97d8
+
+BattleAnim_FirePunch: ; c97d8
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
+ anim_call BattleAnim_FirePunch_branch_cbbcc
+ anim_wait 16
+ anim_ret
+; c97e5
+
+BattleAnim_FireSpin: ; c97e5
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4
+ anim_wait 2
+ anim_loop 2, .loop
+ anim_wait 96
+ anim_ret
+; c9811
+
+BattleAnim_DragonRage: ; c9811
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0
+ anim_wait 3
+ anim_loop 16, .loop
+ anim_wait 64
+ anim_ret
+; c9822
+
+BattleAnim_Flamethrower: ; c9822
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a
+ anim_wait 2
+ anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8
+ anim_wait 16
+.loop
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 16
+ anim_loop 6, .loop
+ anim_wait 16
+ anim_ret
+; c9861
+
+BattleAnim_FireBlast: ; c9861
+ anim_1gfx ANIM_GFX_FIRE
+.loop1
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7
+ anim_wait 6
+ anim_loop 10, .loop1
+.loop2
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 8
+ anim_loop 10, .loop2
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_incobj 10
+ anim_wait 2
+.loop3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5
+ anim_wait 16
+ anim_loop 2, .loop3
+ anim_wait 32
+ anim_ret
+; c98b0
+
+BattleAnim_IcePunch: ; c98b0
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
+ anim_call BattleAnim_IcePunch_branch_cbbdf
+ anim_wait 32
+ anim_ret
+; c98bd
+
+BattleAnim_IceBeam: ; c98bd
+ anim_1gfx ANIM_GFX_ICE
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4
+ anim_wait 4
+ anim_loop 5, .loop
+ anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10
+.loop2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4
+ anim_wait 4
+ anim_loop 15, .loop2
+ anim_wait 48
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 8
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 8
+ anim_ret
+; c98e8
+
+BattleAnim_Blizzard: ; c98e8
+ anim_1gfx ANIM_GFX_ICE
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 11, 0, $63
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 10, 0, $64
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 12, 0, $63
+ anim_wait 2
+ anim_loop 3, .loop
+ anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10
+ anim_wait 128
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 8
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 24
+ anim_ret
+; c991e
+
+BattleAnim_Bubble: ; c991e
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $c1
+ anim_wait 6
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $e1
+ anim_wait 6
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $d1
+ anim_wait 128
+ anim_wait 32
+ anim_ret
+; c993d
+
+BattleAnim_Bubblebeam: ; c993d
+ anim_1gfx ANIM_GFX_BUBBLE
+.loop
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $92
+ anim_wait 6
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $b3
+ anim_wait 6
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $f4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 64
+ anim_clearobjs
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
+ anim_wait 1
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
+ anim_wait 19
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
+ anim_wait 8
+ anim_ret
+; c9979
+
+BattleAnim_WaterGun: ; c9979
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
+ anim_1gfx ANIM_GFX_WATER
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 16, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0
+ anim_wait 24
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
+ anim_wait 32
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
+ anim_wait 16
+ anim_ret
+; c99b4
+
+BattleAnim_HydroPump: ; c99b4
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
+ anim_1gfx ANIM_GFX_WATER
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
+ anim_wait 32
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
+ anim_wait 16
+ anim_ret
+; c9a2a
+
+BattleAnim_Surf: ; c9a2a
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_bgeffect ANIM_BG_SURF, $0, $0, $0
+ anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8
+.loop
+ anim_sound 0, 1, SFX_SURF
+ anim_wait 32
+ anim_loop 4, .loop
+ anim_incobj 1
+ anim_wait 56
+ anim_ret
+; c9a42
+
+BattleAnim_VineWhip: ; c9a42
+ anim_1gfx ANIM_GFX_WHIP
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80
+ anim_wait 4
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0
+ anim_wait 4
+ anim_incobj 1
+ anim_wait 4
+ anim_ret
+; c9a5a
+
+BattleAnim_LeechSeed: ; c9a5a
+ anim_1gfx ANIM_GFX_PLANT
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $20
+ anim_wait 8
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $30
+ anim_wait 8
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $28
+ anim_wait 32
+ anim_sound 0, 1, SFX_CHARGE
+ anim_wait 128
+ anim_ret
+; c9a7c
+
+BattleAnim_RazorLeaf: ; c9a7c
+ anim_1gfx ANIM_GFX_PLANT
+ anim_sound 0, 0, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $28
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $5c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $10
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $e8
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $9c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $d0
+ anim_wait 6
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $1c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $50
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $dc
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $90
+ anim_wait 80
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 3
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 5
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 7
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 9
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 1
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 2
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 4
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 6
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 8
+ anim_wait 2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 10
+ anim_wait 64
+ anim_ret
+; c9af2
+
+BattleAnim_Solarbeam: ; c9af2
+ anim_if_param_equal $0, .FireSolarBeam
+ ; charge turn
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_sound 0, 0, SFX_CHARGE
+ anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38
+ anim_wait 104
+ anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2
+ anim_wait 64
+ anim_ret
+; c9b30
+
+.FireSolarBeam
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_Solarbeam_branch_cbb39
+ anim_wait 48
+ anim_ret
+; c9b3c
+
+BattleAnim_Thunderpunch: ; c9b3c
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
+ anim_wait 64
+ anim_ret
+; c9b53
+
+BattleAnim_Thundershock: ; c9b53
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
+ anim_wait 96
+ anim_ret
+; c9b66
+
+BattleAnim_Thunderbolt: ; c9b66
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
+ anim_wait 16
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
+ anim_wait 64
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_wait 64
+ anim_ret
+; c9b84
+
+BattleAnim_ThunderWave: ; c9b84
+ anim_1gfx ANIM_GFX_LIGHTNING
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0
+ anim_wait 20
+ anim_bgp $1b
+ anim_incobj 1
+ anim_wait 96
+ anim_ret
+; c9b9a
+
+BattleAnim_Thunder: ; c9b9a
+ anim_1gfx ANIM_GFX_LIGHTNING
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0
+ anim_wait 48
+ anim_ret
+; c9bbd
+
+BattleAnim_RazorWind: ; c9bbd
+ anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5
+ anim_1gfx ANIM_GFX_WHIP
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
+.loop
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83
+ anim_wait 4
+ anim_loop 3, .loop
+ anim_wait 24
+ anim_ret
+; c9c00
+
+BattleAnim_Sonicboom_JP: ; c9c00
+ anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
+.loop
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3
+ anim_wait 8
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2
+ anim_wait 8
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4
+ anim_wait 8
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; c9c36
+
+BattleAnim_Gust: ; c9c36
+BattleAnim_Sonicboom: ; c9c36
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+.loop
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0
+ anim_wait 6
+ anim_loop 9, .loop
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
+ anim_wait 16
+ anim_ret
+; c9c53
+
+BattleAnim_Selfdestruct: ; c9c53
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
+ anim_if_param_equal $1, .loop
+ anim_call BattleAnim_Selfdestruct_branch_cbb8f
+ anim_wait 16
+ anim_ret
+; c9c63
+
+.loop
+ anim_call BattleAnim_Selfdestruct_branch_cbb62
+ anim_wait 5
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_ret
+; c9c72
+
+BattleAnim_Explosion: ; c9c72
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_bgeffect ANIM_BG_1F, $60, $4, $10
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
+ anim_if_param_equal $1, .loop
+ anim_call BattleAnim_Explosion_branch_cbb8f
+ anim_wait 16
+ anim_ret
+; c9c87
+
+.loop
+ anim_call BattleAnim_Explosion_branch_cbb62
+ anim_wait 5
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_ret
+; c9c96
+
+BattleAnim_Acid: ; c9c96
+ anim_1gfx ANIM_GFX_POISON
+ anim_call BattleAnim_Acid_branch_cbc35
+ anim_wait 64
+ anim_ret
+; c9c9d
+
+BattleAnim_RockThrow: ; c9c9d
+ anim_1gfx ANIM_GFX_ROCKS
+ anim_bgeffect ANIM_BG_1F, $60, $1, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
+ anim_wait 96
+ anim_ret
+; c9cd2
+
+BattleAnim_RockSlide: ; c9cd2
+ anim_1gfx ANIM_GFX_ROCKS
+ anim_bgeffect ANIM_BG_1F, $c0, $1, $0
+.loop
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
+ anim_wait 16
+ anim_loop 4, .loop
+ anim_wait 96
+ anim_ret
+; c9d0c
+
+BattleAnim_Sing: ; c9d0c
+ anim_1gfx ANIM_GFX_NOISE
+ anim_sound 16, 2, SFX_SING
+.loop
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
+ anim_wait 8
+ anim_loop 4, .loop
+ anim_wait 64
+ anim_ret
+; c9d35
+
+BattleAnim_Poisonpowder: ; c9d35
+BattleAnim_SleepPowder: ; c9d35
+BattleAnim_Spore: ; c9d35
+BattleAnim_StunSpore: ; c9d35
+ anim_1gfx ANIM_GFX_POWDER
+.loop
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0
+ anim_wait 4
+ anim_loop 2, .loop
+ anim_wait 96
+ anim_ret
+; c9d6a
+
+BattleAnim_HyperBeam: ; c9d6a
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_1F, $30, $4, $10
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_HyperBeam_branch_cbb39
+ anim_wait 48
+ anim_ret
+; c9d80
+
+BattleAnim_AuroraBeam: ; c9d80
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_wait 64
+ anim_call BattleAnim_AuroraBeam_branch_cbb39
+ anim_wait 48
+ anim_incobj 5
+ anim_wait 64
+ anim_ret
+; c9d95
+
+BattleAnim_Vicegrip: ; c9d95
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
+ anim_wait 32
+ anim_ret
+; c9da6
+
+BattleAnim_Scratch: ; c9da6
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
+ anim_wait 32
+ anim_ret
+; c9dbc
+
+BattleAnim_FurySwipes: ; c9dbc
+ anim_1gfx ANIM_GFX_CUT
+ anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_wait 32
+ anim_ret
+; c9dd9
+
+BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_wait 32
+ anim_ret
+; c9df0
+
+BattleAnim_Cut: ; c9df0
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_wait 32
+ anim_ret
+; c9dfc
+
+BattleAnim_Slash: ; c9dfc
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0
+ anim_wait 32
+ anim_ret
+; c9e0d
+
+BattleAnim_Clamp: ; c9e0d
+ anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0
+ anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
+ anim_wait 32
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
+ anim_wait 16
+ anim_ret
+; c9e2e
+
+BattleAnim_Bite: ; c9e2e
+ anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18
+ anim_wait 8
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
+ anim_wait 8
+ anim_ret
+; c9e4f
+
+BattleAnim_Teleport: ; c9e4f
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0
+ anim_wait 32
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_wait 3
+ anim_incbgeffect ANIM_BG_TELEPORT
+ anim_call BattleAnim_ShowMon_0
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
+ anim_call BattleAnim_Teleport_branch_cbb12
+ anim_wait 64
+ anim_ret
+; c9e6f
+
+BattleAnim_Fly: ; c9e6f
+ anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89
+ anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 32
+BattleAnim_Fly_branch_c9e82: ; c9e82
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; c9e89
+
+BattleAnim_Fly_branch_c9e89: ; c9e89
+ anim_1gfx ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_call BattleAnim_Fly_branch_cbb12
+ anim_wait 64
+ anim_ret
+; c9e9a
+
+BattleAnim_DoubleTeam: ; c9e9a
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_DOUBLE_TEAM
+ anim_wait 24
+ anim_incbgeffect ANIM_BG_DOUBLE_TEAM
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; c9eaf
+
+BattleAnim_Recover: ; c9eaf
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_FULL_HEAL
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; c9eeb
+
+BattleAnim_Absorb: ; c9eeb
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
+ anim_wait 6
+ anim_loop 5, .loop
+ anim_wait 32
+ anim_ret
+; c9f13
+
+BattleAnim_MegaDrain: ; c9f13
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1C, $0, $0, $10
+ anim_setvar $0
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
+ anim_wait 6
+ anim_incvar
+ anim_if_var_equal $7, .done
+ anim_if_var_equal $2, .spawn
+ anim_jump .loop
+; c9f46
+
+.spawn
+ anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
+ anim_jump .loop
+; c9f4e
+
+.done
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_1C
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; c9f55
+
+BattleAnim_EggBomb: ; c9f55
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1
+ anim_wait 128
+ anim_wait 96
+ anim_incobj 1
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0
+ anim_wait 24
+ anim_ret
+; c9f85
+
+BattleAnim_Softboiled: ; c9f85
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6
+ anim_wait 128
+ anim_incobj 2
+ anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b
+ anim_wait 16
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; c9fb5
+
+BattleAnim_FocusEnergy: ; c9fb5
+BattleAnim_RazorWind_branch_c9fb5: ; c9fb5
+BattleAnim_SkullBash_branch_c9fb5: ; c9fb5
+BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_16, $0, $1, $40
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
+ anim_wait 2
+ anim_loop 3, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; c9ffc
+
+BattleAnim_Bide: ; c9ffc
+ anim_if_param_equal $0, BattleAnim_Bide_branch_c9651
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_ESCAPE_ROPE
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_wait 72
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca014
+
+BattleAnim_Bind: ; ca014
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
+ anim_wait 64
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_wait 96
+ anim_ret
+; ca036
+
+BattleAnim_Wrap: ; ca036
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
+ anim_wait 64
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_wait 96
+ anim_ret
+; ca058
+
+BattleAnim_Confusion: ; ca058
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 0, 1, SFX_PSYCHIC
+ anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_NIGHT_SHADE
+ anim_call BattleAnim_ShowMon_1
+ anim_ret
+; ca06c
+
+BattleAnim_Constrict: ; ca06c
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
+ anim_wait 64
+ anim_ret
+; ca08a
+
+BattleAnim_Earthquake: ; ca08a
+ anim_bgeffect ANIM_BG_1F, $60, $4, $10
+.loop
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 24
+ anim_loop 4, .loop
+ anim_ret
+; ca098
+
+BattleAnim_Fissure: ; ca098
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
+ anim_bgeffect ANIM_BG_1F, $60, $4, $0
+.loop
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 24
+ anim_loop 4, .loop
+ anim_ret
+; ca0ab
+
+BattleAnim_Growl: ; ca0ab
+ anim_1gfx ANIM_GFX_NOISE
+ anim_enemyfeetobj
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_cry $0
+.loop
+ anim_call BattleAnim_Growl_branch_cbbbc
+ anim_wait 16
+ anim_loop 3, .loop
+ anim_wait 9
+ anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_19, $0, $0, $40
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_19
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 5
+ anim_incobj 10
+ anim_wait 8
+ anim_ret
+; ca0d7
+
+BattleAnim_Roar: ; ca0d7
+ anim_1gfx ANIM_GFX_NOISE
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_cry $1
+.loop
+ anim_call BattleAnim_Roar_branch_cbbbc
+ anim_wait 16
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_if_param_equal $0, .done
+ anim_bgeffect ANIM_BG_27, $0, $0, $0
+ anim_wait 64
+.done
+ anim_ret
+; ca0f4
+
+BattleAnim_Supersonic: ; ca0f4
+ anim_1gfx ANIM_GFX_PSYCHIC
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 64
+ anim_ret
+; ca105
+
+BattleAnim_Screech: ; ca105
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_1F, $8, $1, $20
+ anim_sound 6, 2, SFX_SCREECH
+.loop
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
+ anim_wait 2
+ anim_loop 2, .loop
+ anim_wait 64
+ anim_ret
+; ca11b
+
+BattleAnim_ConfuseRay: ; ca11b
+ anim_1gfx ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_08, $0, $4, $0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8
+.loop
+ anim_sound 6, 2, SFX_WHIRLWIND
+ anim_wait 16
+ anim_loop 8, .loop
+ anim_wait 32
+ anim_ret
+; ca15e
+
+BattleAnim_Leer: ; ca15e
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_Leer_branch_cbadc
+ anim_wait 16
+ anim_ret
+; ca16a
+
+BattleAnim_Reflect: ; ca16a
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_wait 24
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_wait 64
+ anim_ret
+; ca18e
+
+BattleAnim_LightScreen: ; ca18e
+ anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_FLASH
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18
+ anim_wait 4
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30
+ anim_wait 4
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38
+ anim_wait 64
+ anim_ret
+; ca1d5
+
+BattleAnim_Amnesia: ; ca1d5
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2
+ anim_wait 16
+ anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1
+ anim_wait 16
+ anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0
+ anim_wait 64
+ anim_ret
+; ca1ed
+
+BattleAnim_DizzyPunch: ; ca1ed
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf
+ anim_wait 96
+ anim_ret
+; ca212
+
+BattleAnim_Rest: ; ca212
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
+ anim_wait 40
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+; ca223
+
+BattleAnim_AcidArmor: ; ca223
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8
+ anim_sound 0, 0, SFX_MEGA_PUNCH
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_ACID_ARMOR
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca237
+
+BattleAnim_Splash: ; ca237
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_VICEGRIP
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca24b
+
+BattleAnim_Dig: ; ca24b
+ anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT
+ anim_if_param_equal $0, .hit
+ anim_if_param_equal $2, .fail
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_DIG, $0, $1, $1
+ anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0
+ anim_wait 16
+ anim_loop 6, .loop
+ anim_wait 32
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_DIG
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+.hit
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 32
+.fail
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; ca28d
+
+BattleAnim_SandAttack: ; ca28d
+ anim_1gfx ANIM_GFX_SAND
+ anim_call BattleAnim_SandAttack_branch_cbc5b
+ anim_ret
+; ca293
+
+BattleAnim_StringShot: ; ca293
+ anim_1gfx ANIM_GFX_WEB
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1
+ anim_wait 4
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1
+ anim_wait 4
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2
+ anim_wait 64
+ anim_ret
+; ca2d1
+
+BattleAnim_Headbutt: ; ca2d1
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $14, $2, $0
+ anim_wait 32
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HEADBUTT
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca2ef
+
+BattleAnim_Tackle: ; ca2ef
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca307
+
+BattleAnim_BodySlam: ; ca307
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
+ anim_wait 4
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca331
+
+BattleAnim_TakeDown: ; ca331
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_TACKLE
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca35c
+
+BattleAnim_DoubleEdge: ; ca35c
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca382
+
+BattleAnim_Submission: ; ca382
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_26, $0, $0, $0
+ anim_sound 0, 1, SFX_SUBMISSION
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_1
+ anim_ret
+; ca3a8
+
+BattleAnim_Whirlwind: ; ca3a8
+ anim_1gfx ANIM_GFX_WIND
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
+ anim_wait 6
+ anim_loop 9, .loop
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_sound 16, 2, SFX_WHIRLWIND
+ anim_wait 128
+ anim_if_param_equal $0, .done
+ anim_bgeffect ANIM_BG_27, $0, $0, $0
+ anim_wait 64
+.done
+ anim_ret
+; ca3d8
+
+BattleAnim_Hypnosis: ; ca3d8
+ anim_1gfx ANIM_GFX_PSYCHIC
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 56
+ anim_ret
+; ca3ee
+
+BattleAnim_Haze: ; ca3ee
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 1, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_HAZE, 6, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_HAZE, -16, 4, 2, 0, $0
+ anim_wait 12
+ anim_loop 5, .loop
+ anim_wait 96
+ anim_ret
+; ca404
+
+BattleAnim_Mist: ; ca404
+ anim_obp0 $54
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 0, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_MIST, 6, 0, 7, 0, $0
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 96
+ anim_ret
+; ca417
+
+BattleAnim_Smog: ; ca417
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 1, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_SMOG, -16, 4, 2, 0, $0
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 96
+ anim_ret
+; ca428
+
+BattleAnim_PoisonGas: ; ca428
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_POISON_GAS, 5, 4, 10, 0, $2
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 128
+ anim_ret
+; ca439
+
+BattleAnim_HornAttack: ; ca439
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1
+ anim_wait 16
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; ca44c
+
+BattleAnim_FuryAttack: ; ca44c
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_HORN, 9, 0, 9, 0, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_HORN, 10, 0, 11, 0, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_HORN, 9, 4, 10, 0, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; ca47d
+
+BattleAnim_HornDrill: ; ca47d
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
+ anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $3
+ anim_wait 8
+.loop
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_ret
+; ca4b4
+
+BattleAnim_PoisonSting: ; ca4b4
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
+ anim_wait 16
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; ca4c7
+
+BattleAnim_Twineedle: ; ca4c7
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14
+ anim_wait 16
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
+ anim_wait 16
+ anim_ret
+; ca4e7
+
+BattleAnim_PinMissile: ; ca4e7
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+; ca51a
+
+BattleAnim_SpikeCannon: ; ca51a
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+; ca54d
+
+BattleAnim_Transform: ; ca54d
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_transform
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
+ anim_wait 48
+ anim_updateactorpic
+ anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
+ anim_wait 48
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca564
+
+BattleAnim_PetalDance: ; ca564
+ anim_sound 0, 0, SFX_MENU
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0
+ anim_wait 11
+ anim_loop 8, .loop
+ anim_wait 128
+ anim_wait 64
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; ca580
+
+BattleAnim_Barrage: ; ca580
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
+ anim_wait 36
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; ca596
+
+BattleAnim_PayDay: ; ca596
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_PAY_DAY
+ anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1
+ anim_wait 64
+ anim_ret
+; ca5ac
+
+BattleAnim_Mimic: ; ca5ac
+ anim_1gfx ANIM_GFX_SPEED
+ anim_obp0 $fc
+ anim_sound 63, 3, SFX_LICK
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+; ca5de
+
+BattleAnim_LovelyKiss: ; ca5de
+ anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0
+ anim_wait 32
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0
+ anim_wait 40
+ anim_ret
+; ca5f6
+
+BattleAnim_Bonemerang: ; ca5f6
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
+ anim_sound 6, 2, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c
+ anim_wait 24
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 24
+ anim_ret
+; ca60c
+
+BattleAnim_Swift: ; ca60c
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_sound 6, 2, SFX_METRONOME
+ anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4
+ anim_wait 4
+ anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4
+ anim_wait 4
+ anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4
+ anim_wait 64
+ anim_ret
+; ca624
+
+BattleAnim_Crabhammer: ; ca624
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_wait 48
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+.loop
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 12
+ anim_loop 3, .loop
+ anim_ret
+; ca63f
+
+BattleAnim_SkullBash: ; ca63f
+ anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $14, $2, $0
+ anim_wait 32
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+.loop
+ anim_sound 0, 1, SFX_HEADBUTT
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca66a
+
+BattleAnim_Kinesis: ; ca66a
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0
+ anim_wait 32
+.loop
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0
+ anim_wait 32
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_sound 0, 0, SFX_KINESIS_2
+ anim_wait 32
+ anim_ret
+; ca68b
+
+BattleAnim_Peck: ; ca68b
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; ca6a0
+
+BattleAnim_DrillPeck: ; ca6a0
+ anim_1gfx ANIM_GFX_HIT
+.loop
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0
+ anim_wait 4
+ anim_loop 5, .loop
+ anim_wait 16
+ anim_ret
+; ca6cc
+
+BattleAnim_Guillotine: ; ca6cc
+ anim_1gfx ANIM_GFX_CUT
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
+ anim_wait 32
+ anim_ret
+; ca700
+
+BattleAnim_Flash: ; ca700
+ anim_1gfx ANIM_GFX_SPEED
+ anim_sound 0, 1, SFX_FLASH
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30
+ anim_wait 4
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38
+ anim_wait 32
+ anim_ret
+; ca73c
+
+BattleAnim_Substitute: ; ca73c
+ anim_sound 0, 0, SFX_SURF
+ anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c
+ anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e
+ anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760
+ anim_1gfx ANIM_GFX_SMOKE
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
+ anim_wait 48
+ anim_raisesub
+ anim_obj ANIM_OBJ_BALL_POOF, 6, 0, 12, 0, $0
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; ca760
+
+BattleAnim_Substitute_branch_ca760: ; ca760
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
+ anim_wait 48
+ anim_dropsub
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; ca76e
+
+BattleAnim_Substitute_branch_ca76e: ; ca76e
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
+ anim_wait 48
+ anim_raisesub
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; ca77c
+
+BattleAnim_Substitute_branch_ca77c: ; ca77c
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_wait 48
+ anim_dropsub
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+; ca78a
+
+BattleAnim_Minimize: ; ca78a
+ anim_sound 0, 0, SFX_SURF
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_minimize
+ anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
+ anim_wait 48
+ anim_updateactorpic
+ anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
+ anim_wait 48
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca7a1
+
+BattleAnim_SkyAttack: ; ca7a1
+ anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5
+ anim_1gfx ANIM_GFX_SKY_ATTACK
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40
+ anim_wait 64
+ anim_incobj 1
+ anim_wait 21
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_wait 64
+ anim_incobj 1
+ anim_wait 32
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+; ca7cc
+
+BattleAnim_NightShade: ; ca7cc
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgp $1b
+ anim_obp1 $1b
+ anim_wait 32
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
+ anim_sound 0, 1, SFX_PSYCHIC
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_NIGHT_SHADE
+ anim_call BattleAnim_ShowMon_1
+ anim_ret
+; ca7e5
+
+BattleAnim_Lick: ; ca7e5
+ anim_1gfx ANIM_GFX_WATER
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0
+ anim_wait 64
+ anim_ret
+; ca7f1
+
+BattleAnim_TriAttack: ; ca7f1
+ anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING
+ anim_call BattleAnim_TriAttack_branch_cbbcc
+ anim_wait 16
+ anim_call BattleAnim_TriAttack_branch_cbbdf
+ anim_wait 16
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
+ anim_wait 16
+ anim_ret
+; ca80c
+
+BattleAnim_Withdraw: ; ca80c
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50
+ anim_wait 48
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_WITHDRAW, 6, 0, 11, 0, $0
+ anim_wait 64
+ anim_incobj 2
+ anim_wait 1
+ anim_incbgeffect ANIM_BG_WITHDRAW
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca829
+
+BattleAnim_Psybeam: ; ca829
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_08, $0, $4, $0
+.loop
+ anim_sound 6, 2, SFX_PSYBEAM
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 48
+ anim_ret
+; ca844
+
+BattleAnim_DreamEater: ; ca844
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_bgp $1b
+ anim_obp0 $27
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_call BattleAnim_DreamEater_branch_cbab3
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+; ca853
+
+BattleAnim_LeechLife: ; ca853
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_call BattleAnim_LeechLife_branch_cbab3
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+; ca85e
+
+BattleAnim_Harden: ; ca85e
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_call BattleAnim_Harden_branch_cbc43
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca86c
+
+BattleAnim_Psywave: ; ca86c
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
+.loop
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2
+ anim_wait 8
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3
+ anim_wait 8
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_wait 4
+ anim_ret
+; ca897
+
+BattleAnim_Glare: ; ca897
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_Glare_branch_cbadc
+ anim_wait 16
+ anim_ret
+; ca8a8
+
+BattleAnim_Thrash: ; ca8a8
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; ca8d5
+
+BattleAnim_Growth: ; ca8d5
+ anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38
+ anim_wait 64
+ anim_ret
+; ca909
+
+BattleAnim_Conversion2: ; ca909
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+; ca939
+
+BattleAnim_Smokescreen: ; ca939
+ anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c
+ anim_wait 24
+ anim_incobj 1
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 13, 4, 8, 6, $10
+ anim_wait 8
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+ anim_ret
+; ca960
+
+BattleAnim_Strength: ; ca960
+ anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_20, $10, $1, $20
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1
+ anim_wait 128
+ anim_incobj 1
+ anim_wait 20
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; ca97e
+
+BattleAnim_SwordsDance: ; ca97e
+ anim_1gfx ANIM_GFX_WHIP
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34
+ anim_wait 56
+ anim_ret
+; ca99e
+
+BattleAnim_QuickAttack: ; ca99e
+ anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_MENU
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+; ca9d8
+
+BattleAnim_Meditate: ; ca9d8
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
+ anim_wait 48
+ anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
+ anim_wait 48
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; ca9ed
+
+BattleAnim_Sharpen: ; ca9ed
+ anim_1gfx ANIM_GFX_SHAPES
+ anim_obp0 $e4
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0
+ anim_wait 96
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; caa0a
+
+BattleAnim_DefenseCurl: ; caa0a
+ anim_1gfx ANIM_GFX_SHAPES
+ anim_obp0 $e4
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0
+ anim_wait 96
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; caa27
+
+BattleAnim_SeismicToss: ; caa27
+ anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_20, $10, $1, $20
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1
+ anim_wait 128
+ anim_incobj 1
+ anim_wait 20
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; caa45
+
+BattleAnim_Rage: ; caa45
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_RAGE
+ anim_wait 72
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; caa74
+
+BattleAnim_Agility: ; caa74
+ anim_1gfx ANIM_GFX_WIND
+ anim_obp0 $fc
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
+ anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
+ anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
+ anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
+ anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
+ anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_wait 4
+ anim_loop 18, .loop
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; caab2
+
+BattleAnim_BoneClub: ; caab2
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2
+ anim_wait 32
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; caac5
+
+BattleAnim_Barrier: ; caac5
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_enemyfeetobj
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_wait 32
+ anim_ret
+; caae1
+
+BattleAnim_Waterfall: ; caae1
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0
+ anim_wait 8
+ anim_ret
+; cab1d
+
+BattleAnim_PsychicM: ; cab1d
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
+.loop
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_wait 4
+ anim_ret
+; cab3b
+
+BattleAnim_Sludge: ; cab3b
+ anim_1gfx ANIM_GFX_POISON
+ anim_call BattleAnim_Sludge_branch_cbc15
+ anim_wait 56
+ anim_ret
+; cab42
+
+BattleAnim_Toxic: ; cab42
+ anim_1gfx ANIM_GFX_POISON
+ anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
+ anim_call BattleAnim_Toxic_branch_cbc35
+ anim_wait 32
+ anim_call BattleAnim_Toxic_branch_cbc15
+ anim_wait 64
+ anim_ret
+; cab52
+
+BattleAnim_Metronome: ; cab52
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0
+.loop
+ anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 48
+ anim_ret
+; cab69
+
+BattleAnim_Counter: ; cab69
+ anim_1gfx ANIM_GFX_HIT
+.loop
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
+ anim_wait 6
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
+ anim_wait 6
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+; cabaa
+
+BattleAnim_LowKick: ; cabaa
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0
+ anim_wait 6
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0
+ anim_wait 6
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0
+ anim_wait 16
+ anim_ret
+; cabe6
+
+BattleAnim_WingAttack: ; cabe6
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cac13
+
+BattleAnim_Slam: ; cac13
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
+ anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; cac24
+
+BattleAnim_Disable: ; cac24
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42
+ anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2
+ anim_wait 96
+ anim_ret
+; cac41
+
+BattleAnim_TailWhip: ; cac41
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_sound 0, 0, SFX_TAIL_WHIP
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cac55
+
+BattleAnim_Struggle: ; cac55
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cac61
+
+BattleAnim_Sketch: ; cac61
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_SKETCH
+ anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0
+ anim_wait 80
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_ret
+; cac7b
+
+BattleAnim_TripleKick: ; cac7b
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95
+ anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
+ anim_wait 8
+ anim_ret
+; cac95
+
+BattleAnim_TripleKick_branch_cac95: ; cac95
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
+ anim_wait 8
+ anim_ret
+; caca5
+
+BattleAnim_TripleKick_branch_caca5: ; caca5
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0
+ anim_wait 8
+ anim_ret
+; cacb5
+
+BattleAnim_Thief: ; cacb5
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THIEF
+ anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 1, SFX_THIEF_2
+ anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1
+ anim_wait 64
+ anim_ret
+; cacd9
+
+BattleAnim_SpiderWeb: ; cacd9
+ anim_1gfx ANIM_GFX_WEB
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0
+ anim_sound 6, 2, SFX_SPIDER_WEB
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
+ anim_wait 64
+ anim_ret
+; cacfb
+
+BattleAnim_MindReader: ; cacfb
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31
+ anim_wait 16
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+; cad1b
+
+BattleAnim_Nightmare: ; cad1b
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_bgp $1b
+ anim_obp0 $f
+ anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0
+ anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0
+ anim_sound 0, 1, SFX_NIGHTMARE
+ anim_wait 96
+ anim_ret
+; cad30
+
+BattleAnim_FlameWheel: ; cad30
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 0, 0, SFX_EMBER
+ anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0
+ anim_wait 6
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 9
+ anim_wait 8
+ anim_ret
+; cad6b
+
+BattleAnim_Snore: ; cad6b
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
+ anim_wait 32
+ anim_bgeffect ANIM_BG_1F, $60, $2, $0
+ anim_sound 0, 0, SFX_SNORE
+.loop
+ anim_call BattleAnim_Snore_branch_cbbbc
+ anim_wait 16
+ anim_loop 2, .loop
+ anim_wait 8
+ anim_ret
+; cad86
+
+BattleAnim_Curse: ; cad86
+ anim_if_param_equal $1, .NotGhost
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
+ anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0
+ anim_sound 0, 0, SFX_CURSE
+ anim_wait 32
+ anim_incobj 1
+ anim_wait 12
+ anim_sound 0, 0, SFX_POISON_STING
+ anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
+ anim_wait 16
+ anim_ret
+; cada3
+
+.NotGhost: ; cada3
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_19, $0, $1, $40
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_19
+ anim_wait 1
+ anim_bgeffect ANIM_BG_16, $0, $1, $40
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
+ anim_wait 2
+ anim_loop 3, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cadf1
+
+BattleAnim_Flail: ; cadf1
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SUBMISSION
+ anim_bgeffect ANIM_BG_2C, $0, $1, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_2C
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cae17
+
+BattleAnim_Conversion: ; cae17
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38
+ anim_wait 128
+ anim_ret
+; cae4b
+
+BattleAnim_Aeroblast: ; cae4b
+ anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST
+ anim_bgp $1b
+ anim_bgeffect ANIM_BG_1F, $50, $4, $10
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_AEROBLAST
+ anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
+ anim_wait 48
+ anim_ret
+; cae84
+
+BattleAnim_CottonSpore: ; cae84
+ anim_obp0 $54
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_POWDER
+.loop ; cae8b
+ anim_obj ANIM_OBJ_COTTON_SPORE, -16, 4, 4, 0, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 96
+ anim_ret
+; cae97
+
+BattleAnim_Reversal: ; cae97
+ anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0
+ anim_wait 24
+ anim_ret
+; caed6
+
+BattleAnim_Spite: ; caed6
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0
+ anim_sound 0, 1, SFX_SPITE
+ anim_wait 96
+ anim_ret
+; caee2
+
+BattleAnim_PowderSnow: ; caee2
+ anim_1gfx ANIM_GFX_ICE
+.loop ; caee4
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23
+ anim_wait 2
+ anim_loop 2, .loop
+ anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
+ anim_wait 40
+ anim_call BattleAnim_PowderSnow_branch_cbbdf
+ anim_wait 32
+ anim_ret
+; caf0e
+
+BattleAnim_Protect: ; caf0e
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34
+ anim_sound 0, 0, SFX_PROTECT
+ anim_wait 96
+ anim_ret
+; caf33
+
+BattleAnim_MachPunch: ; caf33
+ anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+; caf73
+
+BattleAnim_ScaryFace: ; caf73
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_ScaryFace_branch_cbadc
+ anim_wait 64
+ anim_ret
+; caf84
+
+BattleAnim_FaintAttack: ; caf84
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_CURSE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1D, $0, $1, $80
+ anim_wait 96
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_1D
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 4
+ anim_ret
+; cafb4
+
+BattleAnim_SweetKiss: ; cafb4
+ anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SWEET_KISS
+ anim_wait 32
+ anim_sound 0, 1, SFX_SWEET_KISS_2
+ anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0
+ anim_wait 40
+ anim_ret
+; cafcf
+
+BattleAnim_BellyDrum: ; cafcf
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
+ anim_wait 12
+ anim_ret
+; cb051
+
+BattleAnim_SludgeBomb: ; cb051
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON
+ anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
+ anim_wait 36
+ anim_call BattleAnim_SludgeBomb_branch_cbc15
+ anim_wait 64
+ anim_ret
+; cb067
+
+BattleAnim_MudSlap: ; cb067
+ anim_1gfx ANIM_GFX_SAND
+ anim_obp0 $fc
+ anim_call BattleAnim_MudSlap_branch_cbc5b
+ anim_ret
+; cb06f
+
+BattleAnim_Octazooka: ; cb06f
+ anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4
+ anim_wait 16
+ anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10
+ anim_wait 8
+ anim_if_param_equal $0, .done
+.loop
+ anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+.done
+ anim_ret
+; cb092
+
+BattleAnim_Spikes: ; cb092
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20
+ anim_wait 8
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30
+ anim_wait 8
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28
+ anim_wait 64
+ anim_ret
+; cb0b0
+
+BattleAnim_ZapCannon: ; cb0b0
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_bgp $1b
+ anim_obp0 $30
+ anim_sound 6, 2, SFX_ZAP_CANNON
+ anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2
+ anim_wait 40
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
+ anim_wait 16
+ anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
+ anim_wait 128
+ anim_ret
+; cb0d0
+
+BattleAnim_Foresight: ; cb0d0
+ anim_1gfx ANIM_GFX_SHINE
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0
+ anim_wait 24
+ anim_bgeffect ANIM_BG_19, $0, $0, $40
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_19
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 8
+ anim_ret
+; cb0f0
+
+BattleAnim_DestinyBond: ; cb0f0
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_bgp $1b
+ anim_obp0 $0
+ anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104
+ anim_sound 6, 2, SFX_WHIRLWIND
+ anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2
+ anim_wait 128
+ anim_ret
+; cb104
+
+BattleAnim_DestinyBond_branch_cb104: ; cb104
+ anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0
+ anim_sound 0, 1, SFX_KINESIS
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
+ anim_wait 32
+ anim_ret
+; cb113
+
+BattleAnim_PerishSong: ; cb113
+ anim_1gfx ANIM_GFX_NOISE
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_sound 0, 2, SFX_PERISH_SONG
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30
+ anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38
+ anim_wait 112
+ anim_ret
+; cb14c
+
+BattleAnim_IcyWind: ; cb14c
+ anim_1gfx ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_playerheadobj
+ anim_sound 0, 0, SFX_PSYCHIC
+.loop
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
+ anim_wait 8
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
+ anim_wait 6
+ anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_NIGHT_SHADE
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 4
+ anim_incobj 7
+ anim_wait 1
+ anim_ret
+; cb18c
+
+BattleAnim_Detect: ; cb18c
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0
+ anim_wait 24
+ anim_ret
+; cb19d
+
+BattleAnim_BoneRush: ; cb19d
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0
+ anim_wait 16
+ anim_ret
+; cb1bc
+
+BattleAnim_LockOn: ; cb1bc
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31
+ anim_wait 16
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+; cb1dc
+
+BattleAnim_Outrage: ; cb1dc
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_OUTRAGE
+ anim_wait 72
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
+ anim_wait 16
+ anim_ret
+; cb210
+
+BattleAnim_Sandstorm: ; cb210
+ anim_1gfx ANIM_GFX_POWDER
+ anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_wait 8
+ anim_loop 16, .loop
+ anim_wait 8
+ anim_ret
+; cb22d
+
+BattleAnim_GigaDrain: ; cb22d
+ anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1C, $0, $0, $10
+ anim_sound 6, 3, SFX_GIGA_DRAIN
+ anim_call BattleAnim_GigaDrain_branch_cbab3
+ anim_wait 48
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_1C
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+.loop
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
+ anim_wait 5
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+; cb274
+
+BattleAnim_Endure: ; cb274
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
+ anim_wait 2
+ anim_loop 5, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb2bb
+
+BattleAnim_Charm: ; cb2bb
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 4
+ anim_ret
+; cb2d5
+
+BattleAnim_Rollout: ; cb2d5
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_SPARK
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_2E, $60, $1, $1
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb2f5
+
+BattleAnim_FalseSwipe: ; cb2f5
+ anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0
+ anim_wait 32
+ anim_ret
+; cb30d
+
+BattleAnim_Swagger: ; cb30d
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44
+ anim_wait 32
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_sound 0, 1, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0
+ anim_wait 40
+ anim_ret
+; cb328
+
+BattleAnim_MilkDrink: ; cb328
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0
+ anim_wait 16
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_MILK_DRINK
+.loop
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb34d
+
+BattleAnim_Spark: ; cb34d
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_sound 0, 0, SFX_ZAP_CANNON
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0
+ anim_wait 24
+ anim_setobj $1, $3
+ anim_wait 1
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_sound 0, 0, SFX_SPARK
+ anim_wait 16
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 2
+ anim_wait 1
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
+ anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
+ anim_wait 32
+ anim_ret
+; cb386
+
+BattleAnim_FuryCutter: ; cb386
+ anim_1gfx ANIM_GFX_CUT
+.loop
+ anim_sound 0, 1, SFX_CUT
+ anim_if_param_and %00000001, .obj1
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_jump .okay
+
+.obj1
+ anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0
+.okay
+ anim_wait 16
+ anim_jumpuntil .loop
+ anim_ret
+; cb3a1
+
+BattleAnim_SteelWing: ; cb3a1
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_call BattleAnim_SteelWing_branch_cbc43
+ anim_call BattleAnim_ShowMon_0
+ anim_1gfx ANIM_GFX_HIT
+ anim_resetobp0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cb3df
+
+BattleAnim_MeanLook: ; cb3df
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_obp0 $e0
+ anim_sound 0, 1, SFX_MEAN_LOOK
+ anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0
+ anim_wait 128
+ anim_ret
+; cb405
+
+BattleAnim_Attract: ; cb405
+ anim_1gfx ANIM_GFX_OBJECTS
+.loop
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+ anim_wait 64
+ anim_ret
+; cb417
+
+BattleAnim_SleepTalk: ; cb417
+ anim_1gfx ANIM_GFX_STATUS
+.loop
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
+ anim_wait 40
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+; cb428
+
+BattleAnim_HealBell: ; cb428
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
+ anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0
+ anim_wait 32
+.loop
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
+ anim_wait 8
+ anim_loop 4, .loop
+ anim_wait 64
+ anim_ret
+; cb464
+
+BattleAnim_Return: ; cb464
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
+ anim_sound 0, 0, SFX_RETURN
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
+ anim_wait 32
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb488
+
+BattleAnim_Present: ; cb488
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
+ anim_sound 0, 1, SFX_PRESENT
+ anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c
+ anim_wait 56
+ anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0
+ anim_wait 48
+ anim_incobj 2
+ anim_if_param_equal $3, .heal
+ anim_incobj 1
+ anim_wait 1
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
+.loop
+ anim_call BattleAnim_Present_branch_cbb8f
+ anim_wait 16
+ anim_jumpuntil .loop
+ anim_ret
+
+.heal
+ anim_sound 0, 1, SFX_METRONOME
+.loop2
+ anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24
+ anim_wait 8
+ anim_loop 8, .loop2
+ anim_wait 128
+ anim_ret
+; cb4c1
+
+BattleAnim_Frustration: ; cb4c1
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 0, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0
+ anim_wait 40
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_26
+ anim_wait 1
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb4f9
+
+BattleAnim_Safeguard: ; cb4f9
+ anim_1gfx ANIM_GFX_MISC
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34
+ anim_sound 0, 0, SFX_PROTECT
+ anim_wait 96
+ anim_ret
+; cb51e
+
+BattleAnim_PainSplit: ; cb51e
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_ret
+; cb53d
+
+BattleAnim_SacredFire: ; cb53d
+ anim_1gfx ANIM_GFX_FIRE
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_EMBER
+ anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 9
+ anim_wait 8
+ anim_ret
+; cb57d
+
+BattleAnim_Magnitude: ; cb57d
+ anim_1gfx ANIM_GFX_ROCKS
+.loop
+ anim_bgeffect ANIM_BG_1F, $e, $4, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
+ anim_wait 2
+ anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30
+ anim_wait 2
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
+ anim_wait 2
+ anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40
+ anim_wait 2
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
+ anim_wait 2
+ anim_jumpuntil .loop
+ anim_wait 96
+ anim_ret
+; cb5aa
+
+BattleAnim_Dynamicpunch: ; cb5aa
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
+ anim_wait 16
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
+ anim_call BattleAnim_Dynamicpunch_branch_cbb8f
+ anim_wait 16
+ anim_ret
+; cb5c0
+
+BattleAnim_Megahorn: ; cb5c0
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_wait 48
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
+ anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_wait 16
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cb5de
+
+BattleAnim_Dragonbreath: ; cb5de
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 64
+ anim_ret
+; cb5ef
+
+BattleAnim_BatonPass: ; cb5ef
+ anim_1gfx ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20
+ anim_sound 0, 0, SFX_BATON_PASS
+ anim_call BattleAnim_BatonPass_branch_c9486
+ anim_wait 64
+ anim_ret
+; cb5fe
+
+BattleAnim_Encore: ; cb5fe
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90
+ anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10
+ anim_sound 0, 0, SFX_ENCORE
+ anim_wait 16
+ anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c
+ anim_wait 32
+ anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34
+ anim_wait 16
+ anim_ret
+; cb61b
+
+BattleAnim_Pursuit: ; cb61b
+ anim_1gfx ANIM_GFX_HIT
+ anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cb62b
+
+BattleAnim_Pursuit_branch_cb62b: ; cb62b
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
+ anim_wait 4
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0
+ anim_wait 64
+ anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
+ anim_wait 64
+ anim_incobj 3
+ anim_wait 16
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0
+ anim_bgeffect ANIM_BG_2D, $0, $0, $0
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+; cb65e
+
+BattleAnim_RapidSpin: ; cb65e
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+ anim_obp0 $e4
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0
+ anim_wait 2
+ anim_loop 5, .loop
+ anim_wait 24
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 4
+ anim_resetobp0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 6
+ anim_wait 1
+ anim_ret
+; cb68e
+
+BattleAnim_SweetScent: ; cb68e
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
+ anim_sound 0, 0, SFX_SWEET_SCENT
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
+ anim_wait 96
+ anim_obp0 $54
+ anim_sound 0, 1, SFX_SWEET_SCENT_2
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
+ anim_wait 128
+ anim_ret
+; cb6b6
+
+BattleAnim_IronTail: ; cb6b6
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_call BattleAnim_IronTail_branch_cbc43
+ anim_wait 4
+ anim_1gfx ANIM_GFX_HIT
+ anim_resetobp0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
+ anim_wait 16
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cb6dc
+
+BattleAnim_MetalClaw: ; cb6dc
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_call BattleAnim_MetalClaw_branch_cbc43
+ anim_call BattleAnim_ShowMon_0
+ anim_1gfx ANIM_GFX_CUT
+ anim_resetobp0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
+ anim_wait 32
+ anim_ret
+; cb703
+
+BattleAnim_VitalThrow: ; cb703
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2F, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_2F
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0
+ anim_wait 16
+ anim_ret
+; cb739
+
+BattleAnim_MorningSun: ; cb739
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_MORNING_SUN
+.loop
+ anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88
+ anim_wait 6
+ anim_loop 5, .loop
+ anim_wait 32
+ anim_if_param_equal 0, .zero
+ anim_call BattleAnim_MorningSun_branch_cbc6a
+ anim_ret
+; cb756
+
+.zero
+ anim_call BattleAnim_MorningSun_branch_cbc80
+ anim_ret
+; cb75a
+
+BattleAnim_Synthesis: ; cb75a
+ anim_1gfx ANIM_GFX_SHINE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_OUTRAGE
+ anim_wait 72
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_if_param_equal $1, .one
+ anim_call BattleAnim_Synthesis_branch_cbc6a
+ anim_ret
+; cb77a
+
+.one
+ anim_call BattleAnim_Synthesis_branch_cbc80
+ anim_ret
+; cb77e
+
+BattleAnim_Crunch: ; cb77e
+ anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
+ anim_bgp $1b
+ anim_obp0 $c0
+ anim_bgeffect ANIM_BG_1F, $20, $2, $0
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28
+ anim_wait 8
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18
+ anim_wait 8
+ anim_ret
+; cb7a8
+
+BattleAnim_Moonlight: ; cb7a8
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgp $1b
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0
+ anim_wait 1
+ anim_sound 0, 0, SFX_MOONLIGHT
+ anim_wait 63
+ anim_if_param_equal $3, .three
+ anim_call BattleAnim_Moonlight_branch_cbc6a
+ anim_ret
+
+.three
+ anim_call BattleAnim_Moonlight_branch_cbc80
+ anim_ret
+; cb7db
+
+BattleAnim_HiddenPower: ; cb7db
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_wait 8
+ anim_loop 12, .loop
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_wait 16
+ anim_1gfx ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 32
+ anim_ret
+; cb83a
+
+BattleAnim_CrossChop: ; cb83a
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_1F, $58, $2, $0
+ anim_wait 92
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
+ anim_wait 16
+ anim_ret
+; cb85a
+
+BattleAnim_Twister: ; cb85a
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+.loop1
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
+ anim_wait 6
+ anim_loop 9, .loop1
+.loop2
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_wait 8
+ anim_loop 8, .loop2
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_wait 64
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
+.loop3
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_wait 8
+ anim_loop 4, .loop3
+ anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
+.loop4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_wait 8
+ anim_loop 4, .loop4
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_wait 32
+ anim_ret
+; cb8b3
+
+BattleAnim_RainDance: ; cb8b3
+ anim_1gfx ANIM_GFX_WATER
+ anim_bgp $f8
+ anim_obp0 $7c
+ anim_sound 0, 1, SFX_RAIN_DANCE
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
+ anim_wait 128
+ anim_ret
+; cb8cf
+
+BattleAnim_SunnyDay: ; cb8cf
+ anim_1gfx ANIM_GFX_WATER
+ anim_bgp $90
+ anim_sound 0, 1, SFX_MORNING_SUN
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
+ anim_wait 128
+ anim_ret
+; cb8e9
+
+BattleAnim_MirrorCoat: ; cb8e9
+ anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+; cb917
+
+BattleAnim_PsychUp: ; cb917
+ anim_1gfx ANIM_GFX_STATUS
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 16
+ anim_ret
+; cb940
+
+BattleAnim_Extremespeed: ; cb940
+ anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_wait 32
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+; cb97a
+
+BattleAnim_Ancientpower: ; cb97a
+ anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
+ anim_wait 6
+ anim_ret
+; cb9c6
+
+BattleAnim_ShadowBall: ; cb9c6
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_bgp $1b
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2
+ anim_wait 32
+ anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10
+ anim_wait 24
+ anim_ret
+; cb9db
+
+BattleAnim_FutureSight: ; cb9db
+ anim_1gfx ANIM_GFX_WIND
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
+ anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
+ anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
+ anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
+ anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
+ anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
+ anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
+.loop
+ anim_sound 0, 0, SFX_THROW_BALL
+ anim_wait 16
+ anim_loop 4, .loop
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_ret
+; cba1b
+
+BattleAnim_RockSmash: ; cba1b
+ anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90
+ anim_wait 32
+ anim_ret
+; cba6a
+
+BattleAnim_Whirlpool: ; cba6a
+ anim_1gfx ANIM_GFX_WIND
+ anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
+ anim_sound 0, 1, SFX_SURF
+ anim_wait 16
+.loop
+ anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
+ anim_wait 6
+ anim_loop 9, .loop
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_WHIRLPOOL
+ anim_wait 1
+ anim_ret
+; cba84
+
+BattleAnim_BeatUp: ; cba84
+ anim_if_param_equal $0, .current_mon
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
+ anim_wait 16
+ anim_beatup
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 16
+.current_mon
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_BEAT_UP
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+; cbab3
+
+BattleAnim_DreamEater_branch_cbab3: ; cbab3
+BattleAnim_GigaDrain_branch_cbab3: ; cbab3
+BattleAnim_LeechLife_branch_cbab3: ; cbab3
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38
+ anim_ret
+; cbadc
+
+BattleAnim_Glare_branch_cbadc: ; cbadc
+BattleAnim_Leer_branch_cbadc: ; cbadc
+BattleAnim_ScaryFace_branch_cbadc: ; cbadc
+ anim_sound 6, 2, SFX_LEER
+ anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0
+ anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0
+ anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0
+ anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0
+ anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0
+ anim_ret
+; cbb12
+
+BattleAnim_Fly_branch_cbb12: ; cbb12
+BattleAnim_Teleport_branch_cbb12: ; cbb12
+ anim_sound 0, 0, SFX_WARP_TO
+ anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0
+ anim_ret
+; cbb39
+
+BattleAnim_AuroraBeam_branch_cbb39: ; cbb39
+BattleAnim_HyperBeam_branch_cbb39: ; cbb39
+BattleAnim_Solarbeam_branch_cbb39: ; cbb39
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0
+ anim_wait 4
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
+ anim_ret
+; cbb62
+
+BattleAnim_Explosion_branch_cbb62: ; cbb62
+BattleAnim_Selfdestruct_branch_cbb62: ; cbb62
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0
+ anim_ret
+; cbb8f
+
+BattleAnim_Dynamicpunch_branch_cbb8f: ; cbb8f
+BattleAnim_Explosion_branch_cbb8f: ; cbb8f
+BattleAnim_Present_branch_cbb8f: ; cbb8f
+BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0
+ anim_ret
+; cbbbc
+
+BattleAnim_Growl_branch_cbbbc: ; cbbbc
+BattleAnim_Roar_branch_cbbbc: ; cbbbc
+BattleAnim_Snore_branch_cbbbc: ; cbbbc
+ anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0
+ anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2
+ anim_ret
+; cbbcc
+
+BattleAnim_FirePunch_branch_cbbcc: ; cbbcc
+BattleAnim_TriAttack_branch_cbbcc: ; cbbcc
+ anim_sound 0, 1, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10
+ anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90
+ anim_wait 4
+ anim_loop 4, .loop
+ anim_ret
+; cbbdf
+
+BattleAnim_IcePunch_branch_cbbdf: ; cbbdf
+BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf
+BattleAnim_TriAttack_branch_cbbdf: ; cbbdf
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0
+ anim_ret
+; cbc15
+
+BattleAnim_SludgeBomb_branch_cbc15: ; cbc15
+BattleAnim_Sludge_branch_cbc15: ; cbc15
+BattleAnim_Toxic_branch_cbc15: ; cbc15
+.loop
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_ret
+; cbc35
+
+BattleAnim_Acid_branch_cbc35: ; cbc35
+BattleAnim_Toxic_branch_cbc35: ; cbc35
+.loop
+ anim_sound 6, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10
+ anim_wait 5
+ anim_loop 8, .loop
+ anim_ret
+; cbc43
+
+BattleAnim_Harden_branch_cbc43: ; cbc43
+BattleAnim_IronTail_branch_cbc43: ; cbc43
+BattleAnim_MetalClaw_branch_cbc43: ; cbc43
+BattleAnim_SteelWing_branch_cbc43: ; cbc43
+ anim_sound 0, 0, SFX_SHINE
+ anim_bgeffect ANIM_BG_17, $0, $1, $40
+ anim_wait 8
+ anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_17
+ anim_ret
+; cbc5b
+
+BattleAnim_MudSlap_branch_cbc5b: ; cbc5b
+BattleAnim_SandAttack_branch_cbc5b: ; cbc5b
+.loop
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4
+ anim_wait 4
+ anim_loop 8, .loop
+ anim_wait 32
+ anim_ret
+; cbc6a
+
+BattleAnim_Moonlight_branch_cbc6a: ; cbc6a
+BattleAnim_MorningSun_branch_cbc6a: ; cbc6a
+BattleAnim_Synthesis_branch_cbc6a: ; cbc6a
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
+ anim_wait 21
+ anim_ret
+; cbc80
+
+BattleAnim_Moonlight_branch_cbc80: ; cbc80
+BattleAnim_MorningSun_branch_cbc80: ; cbc80
+BattleAnim_Synthesis_branch_cbc80: ; cbc80
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
+ anim_wait 5
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_ret
+; cbca7
+
+BattleAnim_FollowEnemyFeet_0: ; cbca7
+ anim_enemyfeetobj
+ anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0
+ anim_wait 6
+ anim_ret
+; cbcaf
+
+BattleAnim_FollowPlayerHead_0: ; cbcaf
+ anim_playerheadobj
+ anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0
+ anim_wait 6
+ anim_ret
+; cbcb7
+
+BattleAnim_ShowMon_0: ; cbcb7
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 5
+ anim_incobj 1
+ anim_wait 1
+ anim_ret
+; cbcc2
+
+BattleAnim_FollowEnemyFeet_1: ; cbcc2
+ anim_enemyfeetobj
+ anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
+ anim_wait 6
+ anim_ret
+; cbcca
+
+BattleAnim_FollowPlayerHead_1: ; cbcca
+ anim_playerheadobj
+ anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
+ anim_wait 4
+ anim_ret
+; cbcd2
+
+BattleAnim_ShowMon_1: ; cbcd2
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 4
+ anim_incobj 1
+ anim_wait 1
+ anim_ret
+; cbcdd
--- /dev/null
+++ b/data/moves/descriptions.asm
@@ -1,0 +1,1270 @@
+MoveDescriptions:: ; 2cb52
+; entries correspond to move ids (see constants/move_constants.asm)
+ dw PoundDescription
+ dw KarateChopDescription
+ dw DoubleslapDescription
+ dw CometPunchDescription
+ dw MegaPunchDescription
+ dw PayDayDescription
+ dw FirePunchDescription
+ dw IcePunchDescription
+ dw ThunderpunchDescription
+ dw ScratchDescription
+ dw VicegripDescription
+ dw GuillotineDescription
+ dw RazorWindDescription
+ dw SwordsDanceDescription
+ dw CutDescription
+ dw GustDescription
+ dw WingAttackDescription
+ dw WhirlwindDescription
+ dw FlyDescription
+ dw BindDescription
+ dw SlamDescription
+ dw VineWhipDescription
+ dw StompDescription
+ dw DoubleKickDescription
+ dw MegaKickDescription
+ dw JumpKickDescription
+ dw RollingKickDescription
+ dw SandAttackDescription
+ dw HeadbuttDescription
+ dw HornAttackDescription
+ dw FuryAttackDescription
+ dw HornDrillDescription
+ dw TackleDescription
+ dw BodySlamDescription
+ dw WrapDescription
+ dw TakeDownDescription
+ dw ThrashDescription
+ dw DoubleEdgeDescription
+ dw TailWhipDescription
+ dw PoisonStingDescription
+ dw TwineedleDescription
+ dw PinMissileDescription
+ dw LeerDescription
+ dw BiteDescription
+ dw GrowlDescription
+ dw RoarDescription
+ dw SingDescription
+ dw SupersonicDescription
+ dw SonicboomDescription
+ dw DisableDescription
+ dw AcidDescription
+ dw EmberDescription
+ dw FlamethrowerDescription
+ dw MistDescription
+ dw WaterGunDescription
+ dw HydroPumpDescription
+ dw SurfDescription
+ dw IceBeamDescription
+ dw BlizzardDescription
+ dw PsybeamDescription
+ dw BubblebeamDescription
+ dw AuroraBeamDescription
+ dw HyperBeamDescription
+ dw PeckDescription
+ dw DrillPeckDescription
+ dw SubmissionDescription
+ dw LowKickDescription
+ dw CounterDescription
+ dw SeismicTossDescription
+ dw StrengthDescription
+ dw AbsorbDescription
+ dw MegaDrainDescription
+ dw LeechSeedDescription
+ dw GrowthDescription
+ dw RazorLeafDescription
+ dw SolarbeamDescription
+ dw PoisonpowderDescription
+ dw StunSporeDescription
+ dw SleepPowderDescription
+ dw PetalDanceDescription
+ dw StringShotDescription
+ dw DragonRageDescription
+ dw FireSpinDescription
+ dw ThundershockDescription
+ dw ThunderboltDescription
+ dw ThunderWaveDescription
+ dw ThunderDescription
+ dw RockThrowDescription
+ dw EarthquakeDescription
+ dw FissureDescription
+ dw DigDescription
+ dw ToxicDescription
+ dw ConfusionDescription
+ dw PsychicMDescription
+ dw HypnosisDescription
+ dw MeditateDescription
+ dw AgilityDescription
+ dw QuickAttackDescription
+ dw RageDescription
+ dw TeleportDescription
+ dw NightShadeDescription
+ dw MimicDescription
+ dw ScreechDescription
+ dw DoubleTeamDescription
+ dw RecoverDescription
+ dw HardenDescription
+ dw MinimizeDescription
+ dw SmokescreenDescription
+ dw ConfuseRayDescription
+ dw WithdrawDescription
+ dw DefenseCurlDescription
+ dw BarrierDescription
+ dw LightScreenDescription
+ dw HazeDescription
+ dw ReflectDescription
+ dw FocusEnergyDescription
+ dw BideDescription
+ dw MetronomeDescription
+ dw MirrorMoveDescription
+ dw SelfdestructDescription
+ dw EggBombDescription
+ dw LickDescription
+ dw SmogDescription
+ dw SludgeDescription
+ dw BoneClubDescription
+ dw FireBlastDescription
+ dw WaterfallDescription
+ dw ClampDescription
+ dw SwiftDescription
+ dw SkullBashDescription
+ dw SpikeCannonDescription
+ dw ConstrictDescription
+ dw AmnesiaDescription
+ dw KinesisDescription
+ dw SoftboiledDescription
+ dw HiJumpKickDescription
+ dw GlareDescription
+ dw DreamEaterDescription
+ dw PoisonGasDescription
+ dw BarrageDescription
+ dw LeechLifeDescription
+ dw LovelyKissDescription
+ dw SkyAttackDescription
+ dw TransformDescription
+ dw BubbleDescription
+ dw DizzyPunchDescription
+ dw SporeDescription
+ dw FlashDescription
+ dw PsywaveDescription
+ dw SplashDescription
+ dw AcidArmorDescription
+ dw CrabhammerDescription
+ dw ExplosionDescription
+ dw FurySwipesDescription
+ dw BonemerangDescription
+ dw RestDescription
+ dw RockSlideDescription
+ dw HyperFangDescription
+ dw SharpenDescription
+ dw ConversionDescription
+ dw TriAttackDescription
+ dw SuperFangDescription
+ dw SlashDescription
+ dw SubstituteDescription
+ dw StruggleDescription
+ dw SketchDescription
+ dw TripleKickDescription
+ dw ThiefDescription
+ dw SpiderWebDescription
+ dw MindReaderDescription
+ dw NightmareDescription
+ dw FlameWheelDescription
+ dw SnoreDescription
+ dw CurseDescription
+ dw FlailDescription
+ dw Conversion2Description
+ dw AeroblastDescription
+ dw CottonSporeDescription
+ dw ReversalDescription
+ dw SpiteDescription
+ dw PowderSnowDescription
+ dw ProtectDescription
+ dw MachPunchDescription
+ dw ScaryFaceDescription
+ dw FaintAttackDescription
+ dw SweetKissDescription
+ dw BellyDrumDescription
+ dw SludgeBombDescription
+ dw MudSlapDescription
+ dw OctazookaDescription
+ dw SpikesDescription
+ dw ZapCannonDescription
+ dw ForesightDescription
+ dw DestinyBondDescription
+ dw PerishSongDescription
+ dw IcyWindDescription
+ dw DetectDescription
+ dw BoneRushDescription
+ dw LockOnDescription
+ dw OutrageDescription
+ dw SandstormDescription
+ dw GigaDrainDescription
+ dw EndureDescription
+ dw CharmDescription
+ dw RolloutDescription
+ dw FalseSwipeDescription
+ dw SwaggerDescription
+ dw MilkDrinkDescription
+ dw SparkDescription
+ dw FuryCutterDescription
+ dw SteelWingDescription
+ dw MeanLookDescription
+ dw AttractDescription
+ dw SleepTalkDescription
+ dw HealBellDescription
+ dw ReturnDescription
+ dw PresentDescription
+ dw FrustrationDescription
+ dw SafeguardDescription
+ dw PainSplitDescription
+ dw SacredFireDescription
+ dw MagnitudeDescription
+ dw DynamicpunchDescription
+ dw MegahornDescription
+ dw DragonbreathDescription
+ dw BatonPassDescription
+ dw EncoreDescription
+ dw PursuitDescription
+ dw RapidSpinDescription
+ dw SweetScentDescription
+ dw IronTailDescription
+ dw MetalClawDescription
+ dw VitalThrowDescription
+ dw MorningSunDescription
+ dw SynthesisDescription
+ dw MoonlightDescription
+ dw HiddenPowerDescription
+ dw CrossChopDescription
+ dw TwisterDescription
+ dw RainDanceDescription
+ dw SunnyDayDescription
+ dw CrunchDescription
+ dw MirrorCoatDescription
+ dw PsychUpDescription
+ dw ExtremespeedDescription
+ dw AncientpowerDescription
+ dw ShadowBallDescription
+ dw FutureSightDescription
+ dw RockSmashDescription
+ dw WhirlpoolDescription
+ dw BeatUpDescription
+ dw MoveFCDescription
+ dw MoveFDDescription
+ dw MoveFEDescription
+ dw MoveFFDescription
+ dw Move00Description
+; 2cd52
+
+MoveFCDescription:
+MoveFDDescription:
+MoveFEDescription:
+MoveFFDescription:
+Move00Description:
+ db "?@"
+
+PoundDescription:
+ db "Pounds with fore-"
+ next "legs or tail.@"
+
+KarateChopDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+DoubleslapDescription:
+ db "Repeatedly slaps"
+ next "2-5 times.@"
+
+CometPunchDescription:
+ db "Repeatedly punches"
+ next "2-5 times.@"
+
+MegaPunchDescription:
+ db "A powerful punch"
+ next "thrown very hard.@"
+
+PayDayDescription:
+ db "Throws coins. Gets"
+ next "them back later.@"
+
+FirePunchDescription:
+ db "A fiery punch. May"
+ next "cause a burn.@"
+
+IcePunchDescription:
+ db "An icy punch. May"
+ next "cause freezing.@"
+
+ThunderpunchDescription:
+ db "An electric punch."
+ next "It may paralyze.@"
+
+ScratchDescription:
+ db "Scratches with"
+ next "sharp claws.@"
+
+VicegripDescription:
+ db "Grips with power-"
+ next "ful pincers.@"
+
+GuillotineDescription:
+ db "A one-hit KO,"
+ next "pincer attack.@"
+
+RazorWindDescription:
+ db "1st turn: Prepare"
+ next "2nd turn: Attack@"
+
+SwordsDanceDescription:
+ db "A dance that in-"
+ next "creases ATTACK.@"
+
+CutDescription:
+ db "Cuts using claws,"
+ next "scythes, etc.@"
+
+GustDescription:
+ db "Whips up a strong"
+ next "gust of wind.@"
+
+WingAttackDescription:
+ db "Strikes the target"
+ next "with wings.@"
+
+WhirlwindDescription:
+ db "Blows away the foe"
+ next "& ends battle.@"
+
+FlyDescription:
+ db "1st turn: Fly"
+ next "2nd turn: Attack@"
+
+BindDescription:
+ db "Binds the target"
+ next "for 2-5 turns.@"
+
+SlamDescription:
+ db "Slams the foe with"
+ next "a tail, vine, etc.@"
+
+VineWhipDescription:
+ db "Whips the foe with"
+ next "slender vines.@"
+
+StompDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+DoubleKickDescription:
+ db "A double kicking"
+ next "attack.@"
+
+MegaKickDescription:
+ db "A powerful kicking"
+ next "attack.@"
+
+JumpKickDescription:
+ db "May miss, damaging"
+ next "the user.@"
+
+RollingKickDescription:
+ db "A fast, spinning"
+ next "kick.@"
+
+SandAttackDescription:
+ db "Reduces accuracy"
+ next "by throwing sand.@"
+
+HeadbuttDescription:
+ db "An attack that may"
+ next "make foe flinch.@"
+
+HornAttackDescription:
+ db "An attack using a"
+ next "horn to jab.@"
+
+FuryAttackDescription:
+ db "Jabs the target"
+ next "2-5 times.@"
+
+HornDrillDescription:
+ db "A one-hit KO,"
+ next "drill attack.@"
+
+TackleDescription:
+ db "A full-body charge"
+ next "attack.@"
+
+BodySlamDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+WrapDescription:
+ db "Squeezes the foe"
+ next "for 2-5 turns.@"
+
+TakeDownDescription:
+ db "A tackle that also"
+ next "hurts the user.@"
+
+ThrashDescription:
+ db "Works 2-3 turns"
+ next "and confuses user.@"
+
+DoubleEdgeDescription:
+ db "A tackle that also"
+ next "hurts the user.@"
+
+TailWhipDescription:
+ db "Lowers the foe's"
+ next "DEFENSE.@"
+
+PoisonStingDescription:
+ db "An attack that may"
+ next "poison the target.@"
+
+TwineedleDescription:
+ db "Jabs the foe twice"
+ next "using stingers.@"
+
+PinMissileDescription:
+ db "Fires pins that"
+ next "strike 2-5 times.@"
+
+LeerDescription:
+ db "Reduces the foe's"
+ next "DEFENSE.@"
+
+BiteDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+GrowlDescription:
+ db "Reduces the foe's"
+ next "ATTACK.@"
+
+RoarDescription:
+ db "Scares wild foes"
+ next "to end battle.@"
+
+SingDescription:
+ db "May cause the foe"
+ next "to fall asleep.@"
+
+SupersonicDescription:
+ db "Sound waves that"
+ next "cause confusion.@"
+
+SonicboomDescription:
+ db "Always inflicts"
+ next "20HP damage.@"
+
+DisableDescription:
+ db "Disables the foe's"
+ next "most recent move.@"
+
+AcidDescription:
+ db "An attack that may"
+ next "lower DEFENSE.@"
+
+EmberDescription:
+ db "An attack that may"
+ next "inflict a burn.@"
+
+FlamethrowerDescription:
+ db "An attack that may"
+ next "inflict a burn.@"
+
+MistDescription:
+ db "Prevents stat"
+ next "reduction.@"
+
+WaterGunDescription:
+ db "Squirts water to"
+ next "attack.@"
+
+HydroPumpDescription:
+ db "A powerful water-"
+ next "type attack.@"
+
+SurfDescription:
+ db "A strong water-"
+ next "type attack.@"
+
+IceBeamDescription:
+ db "An attack that may"
+ next "freeze the foe.@"
+
+BlizzardDescription:
+ db "An attack that may"
+ next "freeze the foe.@"
+
+PsybeamDescription:
+ db "An attack that may"
+ next "confuse the foe.@"
+
+BubblebeamDescription:
+ db "An attack that may"
+ next "lower SPEED.@"
+
+AuroraBeamDescription:
+ db "An attack that may"
+ next "lower ATTACK.@"
+
+HyperBeamDescription:
+ db "1st turn: Attack"
+ next "2nd turn: Rest@"
+
+PeckDescription:
+ db "Jabs the foe with"
+ next "a beak, etc.@"
+
+DrillPeckDescription:
+ db "A strong, spin-"
+ next "ning-peck attack.@"
+
+SubmissionDescription:
+ db "An attack that al-"
+ next "so hurts the user.@"
+
+LowKickDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+CounterDescription:
+ db "Returns a physical"
+ next "blow double.@"
+
+SeismicTossDescription:
+ db "The user's level"
+ next "equals damage HP.@"
+
+StrengthDescription:
+ db "A powerful physi-"
+ next "cal attack.@"
+
+AbsorbDescription:
+ db "Steals 1/2 of the"
+ next "damage inflicted.@"
+
+MegaDrainDescription:
+ db "Steals 1/2 of the"
+ next "damage inflicted.@"
+
+LeechSeedDescription:
+ db "Steals HP from the"
+ next "foe on every turn.@"
+
+GrowthDescription:
+ db "Raises the SPCL."
+ next "ATK rating.@"
+
+RazorLeafDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+SolarbeamDescription:
+ db "1st turn: Prepare"
+ next "2nd turn: Attack@"
+
+PoisonpowderDescription:
+ db "A move that may"
+ next "poison the foe.@"
+
+StunSporeDescription:
+ db "A move that may"
+ next "paralyze the foe.@"
+
+SleepPowderDescription:
+ db "May cause the foe"
+ next "to fall asleep.@"
+
+PetalDanceDescription:
+ db "Works 2-3 turns"
+ next "and confuses user.@"
+
+StringShotDescription:
+ db "A move that lowers"
+ next "the foe's SPEED.@"
+
+DragonRageDescription:
+ db "Always inflicts"
+ next "40HP damage.@"
+
+FireSpinDescription:
+ db "Traps foe in fire"
+ next "for 2-5 turns.@"
+
+ThundershockDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+ThunderboltDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+ThunderWaveDescription:
+ db "A move that may"
+ next "cause paralysis.@"
+
+ThunderDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+RockThrowDescription:
+ db "Drops rocks on the"
+ next "enemy.@"
+
+EarthquakeDescription:
+ db "Tough but useless"
+ next "vs. flying foes.@"
+
+FissureDescription:
+ db "A ground-type,"
+ next "one-hit KO attack.@"
+
+DigDescription:
+ db "1st turn: Burrow"
+ next "2nd turn: Attack@"
+
+ToxicDescription:
+ db "A poison move with"
+ next "increasing damage.@"
+
+ConfusionDescription:
+ db "An attack that may"
+ next "cause confusion.@"
+
+PsychicMDescription:
+ db "An attack that may"
+ next "lower SPCL.DEF.@"
+
+HypnosisDescription:
+ db "May put the foe to"
+ next "sleep.@"
+
+MeditateDescription:
+ db "Raises the user's"
+ next "ATTACK.@"
+
+AgilityDescription:
+ db "Sharply increases"
+ next "the user's SPEED.@"
+
+QuickAttackDescription:
+ db "Lets the user get"
+ next "in the first hit.@"
+
+RageDescription:
+ db "Raises ATTACK if"
+ next "the user is hit.@"
+
+TeleportDescription:
+ db "A move for fleeing"
+ next "from battle.@"
+
+NightShadeDescription:
+ db "The user's level"
+ next "equals damage HP.@"
+
+MimicDescription:
+ db "Copies a move used"
+ next "by the foe.@"
+
+ScreechDescription:
+ db "Sharply reduces"
+ next "the foe's DEFENSE.@"
+
+DoubleTeamDescription:
+ db "Heightens evasive-"
+ next "ness.@"
+
+RecoverDescription:
+ db "Restores HP by 1/2"
+ next "the max HP.@"
+
+HardenDescription:
+ db "Raises the user's"
+ next "DEFENSE.@"
+
+MinimizeDescription:
+ db "Heightens evasive-"
+ next "ness.@"
+
+SmokescreenDescription:
+ db "Lowers the foe's"
+ next "accuracy.@"
+
+ConfuseRayDescription:
+ db "A move that causes"
+ next "confusion.@"
+
+WithdrawDescription:
+ db "Heightens the"
+ next "user's DEFENSE.@"
+
+DefenseCurlDescription:
+ db "Heightens the"
+ next "user's DEFENSE.@"
+
+BarrierDescription:
+ db "Sharply increases"
+ next "user's DEFENSE.@"
+
+LightScreenDescription:
+ db "Ups SPCL.DEF with"
+ next "a wall of light.@"
+
+HazeDescription:
+ db "Eliminates all"
+ next "stat changes.@"
+
+ReflectDescription:
+ db "Raises DEFENSE"
+ next "with a barrier.@"
+
+FocusEnergyDescription:
+ db "Raises the criti-"
+ next "cal hit ratio.@"
+
+BideDescription:
+ db "Waits 2-3 turns &"
+ next "hits back double.@"
+
+MetronomeDescription:
+ db "Randomly uses any"
+ next "#MON move.@"
+
+MirrorMoveDescription:
+ db "Counters with the"
+ next "same move.@"
+
+SelfdestructDescription:
+ db "Powerful but makes"
+ next "the user faint.@"
+
+EggBombDescription:
+ db "Eggs are hurled at"
+ next "the foe.@"
+
+LickDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+SmogDescription:
+ db "An attack that may"
+ next "poison the foe.@"
+
+SludgeDescription:
+ db "An attack that may"
+ next "poison the foe.@"
+
+BoneClubDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+FireBlastDescription:
+ db "An attack that"
+ next "may cause a burn.@"
+
+WaterfallDescription:
+ db "An aquatic charge"
+ next "attack.@"
+
+ClampDescription:
+ db "Traps the foe for"
+ next "2-5 turns.@"
+
+SwiftDescription:
+ db "An attack that"
+ next "never misses.@"
+
+SkullBashDescription:
+ db "1st turn: Prepare"
+ next "2nd turn: Attack@"
+
+SpikeCannonDescription:
+ db "Fires spikes to"
+ next "hit 2-5 times.@"
+
+ConstrictDescription:
+ db "An attack that may"
+ next "lower SPEED.@"
+
+AmnesiaDescription:
+ db "Sharply raises the"
+ next "user's SPCL.DEF.@"
+
+KinesisDescription:
+ db "Reduces the foe's"
+ next "accuracy.@"
+
+SoftboiledDescription:
+ db "Restores HP by 1/2"
+ next "the user's max HP.@"
+
+HiJumpKickDescription:
+ db "May miss and hurt"
+ next "the user.@"
+
+GlareDescription:
+ db "A move that may"
+ next "cause paralysis.@"
+
+DreamEaterDescription:
+ db "Steals HP from a"
+ next "sleeping victim.@"
+
+PoisonGasDescription:
+ db "A move that may"
+ next "poison the foe.@"
+
+BarrageDescription:
+ db "Throws orbs to hit"
+ next "2-5 times.@"
+
+LeechLifeDescription:
+ db "Steals 1/2 of the"
+ next "damage inflicted.@"
+
+LovelyKissDescription:
+ db "May cause the foe"
+ next "to fall asleep.@"
+
+SkyAttackDescription:
+ db "1st turn: Prepare"
+ next "2nd turn: Attack@"
+TransformDescription:
+ db "The user assumes"
+ next "the foe's guise.@"
+
+BubbleDescription:
+ db "An attack that may"
+ next "reduce SPEED.@"
+
+DizzyPunchDescription:
+ db "An attack that may"
+ next "cause confusion.@"
+
+SporeDescription:
+ db "A move that"
+ next "induces sleep.@"
+
+FlashDescription:
+ db "Blinds the foe to"
+ next "reduce accuracy.@"
+
+PsywaveDescription:
+ db "An attack with"
+ next "variable power.@"
+
+SplashDescription:
+ db "Has no effect"
+ next "whatsoever.@"
+
+AcidArmorDescription:
+ db "Sharply raises the"
+ next "user's DEFENSE.@"
+
+CrabhammerDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+ExplosionDescription:
+ db "Very powerful but"
+ next "makes user faint.@"
+
+FurySwipesDescription:
+ db "Quickly scratches"
+ next "2-5 times.@"
+
+BonemerangDescription:
+ db "An attack that"
+ next "strikes twice.@"
+
+RestDescription:
+ db "Sleep for 2 turns"
+ next "to fully recover.@"
+
+RockSlideDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+HyperFangDescription:
+ db "An attack that may"
+ next "cause flinching.@"
+
+SharpenDescription:
+ db "A move that raises"
+ next "the user's ATTACK.@"
+
+ConversionDescription:
+ db "Change user's type"
+ next "to a move's type.@"
+
+TriAttackDescription:
+ db "Fires three kinds"
+ next "of beams at once.@"
+
+SuperFangDescription:
+ db "Cuts the foe's HP"
+ next "by 1/2.@"
+
+SlashDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+SubstituteDescription:
+ db "Makes a decoy with"
+ next "1/4 user's max HP.@"
+
+StruggleDescription:
+ db "Used only if all"
+ next "PP are exhausted.@"
+
+SketchDescription:
+ db "Copies the foe's"
+ next "move permanently.@"
+
+TripleKickDescription:
+ db "Hits three times"
+ next "with rising power.@"
+
+ThiefDescription:
+ db "An attack that may"
+ next "steal a held item.@"
+
+SpiderWebDescription:
+ db "Prevents fleeing"
+ next "or switching.@"
+
+MindReaderDescription:
+ db "Ensures the next"
+ next "attack will hit.@"
+
+NightmareDescription:
+ db "A sleeper loses"
+ next "1/4 HP every turn.@"
+
+FlameWheelDescription:
+ db "An attack that may"
+ next "cause a burn.@"
+
+SnoreDescription:
+ db "An attack useable"
+ next "only while asleep.@"
+
+CurseDescription:
+ db "Works differently"
+ next "for ghost-types.@"
+
+FlailDescription:
+ db "Stronger if the"
+ next "user's HP is low.@"
+
+Conversion2Description:
+ db "The user's type is"
+ next "made resistant.@"
+
+AeroblastDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+CottonSporeDescription:
+ db "Sharply reduces"
+ next "the foe's SPEED.@"
+
+ReversalDescription:
+ db "Stronger if the"
+ next "user's HP is low.@"
+
+SpiteDescription:
+ db "Cuts the PP of the"
+ next "foe's last move.@"
+
+PowderSnowDescription:
+ db "An attack that may"
+ next "cause freezing.@"
+
+ProtectDescription:
+ db "Foils attack that"
+ next "turn. It may fail.@"
+
+MachPunchDescription:
+ db "A fast punch that"
+ next "lands first.@"
+
+ScaryFaceDescription:
+ db "Sharply reduces"
+ next "the foe's SPEED.@"
+
+FaintAttackDescription:
+ db "An attack that"
+ next "never misses.@"
+
+SweetKissDescription:
+ db "A move that causes"
+ next "confusion.@"
+
+BellyDrumDescription:
+ db "Reduces own HP to"
+ next "maximize ATTACK.@"
+
+SludgeBombDescription:
+ db "An attack that may"
+ next "poison the foe.@"
+
+MudSlapDescription:
+ db "Reduces the foe's"
+ next "accuracy.@"
+
+OctazookaDescription:
+ db "An attack that may"
+ next "reduce accuracy.@"
+
+SpikesDescription:
+ db "Hurts foes when"
+ next "they switch out.@"
+
+ZapCannonDescription:
+ db "An attack that"
+ next "always paralyzes.@"
+
+ForesightDescription:
+ db "Negates accuracy"
+ next "reduction moves.@"
+
+DestinyBondDescription:
+ db "The foe faints if"
+ next "the user does.@"
+
+PerishSongDescription:
+ db "Both user and foe"
+ next "faint in 3 turns.@"
+
+IcyWindDescription:
+ db "An icy attack that"
+ next "lowers SPEED.@"
+
+DetectDescription:
+ db "Evades attack that"
+ next "turn. It may fail.@"
+
+BoneRushDescription:
+ db "An attack that"
+ next "hits 2-5 times.@"
+
+LockOnDescription:
+ db "Ensures the next"
+ next "attack will hit.@"
+
+OutrageDescription:
+ db "Works 2-3 turns"
+ next "and confuses user.@"
+
+SandstormDescription:
+ db "Inflicts damage"
+ next "every turn.@"
+
+GigaDrainDescription:
+ db "Steals 1/2 of the"
+ next "damage inflicted.@"
+
+EndureDescription:
+ db "Always leaves at"
+ next "least 1HP.@"
+
+CharmDescription:
+ db "Sharply lowers the"
+ next "foe's ATTACK.@"
+
+RolloutDescription:
+ db "Attacks 5 turns"
+ next "with rising power.@"
+
+FalseSwipeDescription:
+ db "Leaves the foe"
+ next "with at least 1HP.@"
+
+SwaggerDescription:
+ db "Causes confusion"
+ next "and raises ATTACK.@"
+
+MilkDrinkDescription:
+ db "Restores HP by 1/2"
+ next "the max HP.@"
+
+SparkDescription:
+ db "An attack that may"
+ next "cause paralysis.@"
+
+FuryCutterDescription:
+ db "Successive hits"
+ next "raise power.@"
+
+SteelWingDescription:
+ db "Stiff wings strike"
+ next "the foe.@"
+
+MeanLookDescription:
+ db "Prevents fleeing"
+ next "or switching.@"
+
+AttractDescription:
+ db "Makes the opposite"
+ next "gender infatuated.@"
+
+SleepTalkDescription:
+ db "Randomly attacks"
+ next "while asleep.@"
+
+HealBellDescription:
+ db "Eliminates all"
+ next "status problems.@"
+
+ReturnDescription:
+ db "An attack that is"
+ next "based on loyalty.@"
+
+PresentDescription:
+ db "A bomb that may"
+ next "restore HP.@"
+
+FrustrationDescription:
+ db "An attack based on"
+ next "lack of loyalty.@"
+
+SafeguardDescription:
+ db "Prevents all"
+ next "status problems.@"
+
+PainSplitDescription:
+ db "Adds user & foe's"
+ next "HPs. Shares total.@"
+
+SacredFireDescription:
+ db "An attack that may"
+ next "inflict a burn.@"
+
+MagnitudeDescription:
+ db "A ground attack"
+ next "with random power.@"
+
+DynamicpunchDescription:
+ db "An attack that"
+ next "always confuses.@"
+
+MegahornDescription:
+ db "A powerful charge"
+ next "attack.@"
+
+DragonbreathDescription:
+ db "A strong breath"
+ next "attack.@"
+
+BatonPassDescription:
+ db "Switches while"
+ next "keeping effects.@"
+
+EncoreDescription:
+ db "Makes the foe re-"
+ next "peat 2-6 times.@"
+
+PursuitDescription:
+ db "Heavily strikes"
+ next "switching #MON.@"
+
+RapidSpinDescription:
+ db "A high-speed"
+ next "spinning attack.@"
+
+SweetScentDescription:
+ db "Reduces the foe's"
+ next "evasiveness.@"
+
+IronTailDescription:
+ db "An attack that may"
+ next "reduce DEFENSE.@"
+
+MetalClawDescription:
+ db "An attack that may"
+ next "up user's ATTACK.@"
+
+VitalThrowDescription:
+ db "A 2nd-strike move"
+ next "that never misses.@"
+
+MorningSunDescription:
+ db "Restores HP"
+ next "(varies by time).@"
+
+SynthesisDescription:
+ db "Restores HP"
+ next "(varies by time).@"
+
+MoonlightDescription:
+ db "Restores HP"
+ next "(varies by time).@"
+
+HiddenPowerDescription:
+ db "The power varies"
+ next "with the #MON.@"
+
+CrossChopDescription:
+ db "Has a high criti-"
+ next "cal hit ratio.@"
+
+TwisterDescription:
+ db "Whips up a tornado"
+ next "to attack.@"
+
+RainDanceDescription:
+ db "Boosts water-type"
+ next "moves for 5 turns.@"
+
+SunnyDayDescription:
+ db "Boosts fire-type"
+ next "moves for 5 turns.@"
+
+CrunchDescription:
+ db "An attack that may"
+ next "lower SPCL.DEF.@"
+
+MirrorCoatDescription:
+ db "Counters a SPCL."
+ next "ATK move double.@"
+
+PsychUpDescription:
+ db "Copies the foe's"
+ next "stat changes.@"
+
+ExtremespeedDescription:
+ db "A powerful first-"
+ next "strike move.@"
+
+AncientpowerDescription:
+ db "An attack that may"
+ next "raise all stats.@"
+
+ShadowBallDescription:
+ db "An attack that may"
+ next "lower SPCL.DEF.@"
+
+FutureSightDescription:
+ db "An attack that"
+ next "hits on 3rd turn.@"
+
+RockSmashDescription:
+ db "An attack that may"
+ next "lower DEFENSE.@"
+
+WhirlpoolDescription:
+ db "Traps the foe for"
+ next "2-5 turns.@"
+
+BeatUpDescription:
+ db "Party #MON join"
+ next "in the attack.@"
+; 2ed44
--- a/data/moves/effect_command_pointers.asm
+++ /dev/null
@@ -1,180 +1,0 @@
- dw 0 ; padding
-
-BattleCommandPointers: ; 3fd28
-; entries correspond to macros/scripts/effect_commands.asm
- dw BattleCommand_CheckTurn ; 34084
- dw BattleCommand_CheckObedience ; 343db
- dw BattleCommand_UsedMoveText ; 34541
- dw BattleCommand_DoTurn ; 34555
- dw BattleCommand_Critical ; 34631
- dw BattleCommand_DamageStats ; 352dc
- dw BattleCommand_Stab ; 346d2 - 07
- dw BattleCommand_DamageVariation ; 34cfd
- dw BattleCommand_CheckHit ; 34d32
- dw BattleCommand_LowerSub ; 34eee
- dw BattleCommand_HitTargetNoSub ; 34f60
- dw BattleCommand_RaiseSub ; 35004
- dw BattleCommand_FailureText ; 35023
- dw BattleCommand_CheckFaint ; 3505e
- dw BattleCommand_CriticalText ; 35175
- dw BattleCommand_SuperEffectiveText ; 351ad
- dw BattleCommand_CheckDestinyBond ; 351c0
- dw BattleCommand_BuildOpponentRage ; 35250
- dw BattleCommand_PoisonTarget ; 35eee
- dw BattleCommand_SleepTarget ; 35e5c
- dw BattleCommand_DrainTarget ; 35fff
- dw BattleCommand_EatDream ; 36008
- dw BattleCommand_BurnTarget ; 3608c
- dw BattleCommand_FreezeTarget ; 36102
- dw BattleCommand_ParalyzeTarget ; 36165
- dw BattleCommand_Selfdestruct ; 37380
- dw BattleCommand_MirrorMove ; 373c9
- dw BattleCommand_StatUp ; 361e4
- dw BattleCommand_StatDown ; 362e3
- dw BattleCommand_PayDay ; 3705c
- dw BattleCommand_Conversion ; 3707f
- dw BattleCommand_ResetStats ; 3710e
- dw BattleCommand_StoreEnergy ; 36671
- dw BattleCommand_UnleashEnergy ; 366e5
- dw BattleCommand_ForceSwitch ; 3680f
- dw BattleCommand_EndLoop ; 369b6
- dw BattleCommand_FlinchTarget ; 36aa0
- dw BattleCommand_OHKO ; 36af3
- dw BattleCommand_Recoil ; 36cb2
- dw BattleCommand_Mist ; 36c7e
- dw BattleCommand_FocusEnergy ; 36c98
- dw BattleCommand_Confuse ; 36d3b
- dw BattleCommand_ConfuseTarget ; 36d1d
- dw BattleCommand_Heal ; 3713e
- dw BattleCommand_Transform ; 371cd
- dw BattleCommand_Screen ; 372fc
- dw BattleCommand_Poison ; 35f2c
- dw BattleCommand_Paralyze ; 36dc7
- dw BattleCommand_Substitute ; 36e7c
- dw BattleCommand_RechargeNextTurn ; 36f0b
- dw BattleCommand_Mimic ; 36f46
- dw BattleCommand_Metronome ; 37418
- dw BattleCommand_LeechSeed ; 36f9d
- dw BattleCommand_Splash ; 36fe1
- dw BattleCommand_Disable ; 36fed
- dw BattleCommand_ClearText ; 37e85
- dw BattleCommand_Charge ; 36b4d
- dw BattleCommand_CheckCharge ; 36b3a
- dw BattleCommand_TrapTarget ; 36c2d
- dw BattleCommand3c ; 36c2c
- dw BattleCommand_Rampage ; 36751
- dw BattleCommand_CheckRampage ; 3671a
- dw BattleCommand_ConstantDamage ; 35726
- dw BattleCommand_Counter ; 35813
- dw BattleCommand_Encore ; 35864
- dw BattleCommand_PainSplit ; 35926
- dw BattleCommand_Snore ; 359d0
- dw BattleCommand_Conversion2 ; 359e6
- dw BattleCommand_LockOn ; 35a53
- dw BattleCommand_Sketch ; 35a74
- dw BattleCommand_DefrostOpponent ; 35b16
- dw BattleCommand_SleepTalk ; 35b33
- dw BattleCommand_DestinyBond ; 35bff
- dw BattleCommand_Spite ; 35c0f
- dw BattleCommand_FalseSwipe ; 35c94
- dw BattleCommand_HealBell ; 35cc9
- dw BattleCommand_HeldFlinch ; 36ac9
- dw BattleCommand_TripleKick ; 346b2
- dw BattleCommand_KickCounter ; 346cd
- dw BattleCommand_Thief ; 37492
- dw BattleCommand_ArenaTrap ; 37517
- dw BattleCommand_Nightmare ; 37536
- dw BattleCommand_Defrost ; 37563
- dw BattleCommand_Curse ; 37588
- dw BattleCommand_Protect ; 37618
- dw BattleCommand_Spikes ; 37683
- dw BattleCommand_Foresight ; 376a0
- dw BattleCommand_PerishSong ; 376c2
- dw BattleCommand_StartSandstorm ; 376f8
- dw BattleCommand_Endure ; 3766f
- dw BattleCommand_CheckCurl ; 37718
- dw BattleCommand_RolloutPower ; 37734
- dw BattleCommand5d ; 37791
- dw BattleCommand_FuryCutter ; 37792
- dw BattleCommand_Attract ; 377ce
- dw BattleCommand_HappinessPower ; 3784b
- dw BattleCommand_Present ; 37874
- dw BattleCommand_DamageCalc ; 35612 - 62
- dw BattleCommand_FrustrationPower ; 3790e
- dw BattleCommand_Safeguard ; 37939
- dw BattleCommand_CheckSafeguard ; 37972
- dw BattleCommand_GetMagnitude ; 37991
- dw BattleCommand_BatonPass ; 379c9
- dw BattleCommand_Pursuit ; 37b1d
- dw BattleCommand_ClearHazards ; 37b39
- dw BattleCommand_HealMorn ; 37b74
- dw BattleCommand_HealDay ; 37b78
- dw BattleCommand_HealNite ; 37b7c
- dw BattleCommand_HiddenPower ; 37be8
- dw BattleCommand_StartRain ; 37bf4
- dw BattleCommand_StartSun ; 37c07
- dw BattleCommand_AttackUp ; 361ac
- dw BattleCommand_DefenseUp ; 361b0
- dw BattleCommand_SpeedUp ; 361b4
- dw BattleCommand_SpecialAttackUp ; 361b8
- dw BattleCommand_SpecialDefenseUp ; 361bc
- dw BattleCommand_AccuracyUp ; 361c0
- dw BattleCommand_EvasionUp ; 361c4
- dw BattleCommand_AttackUp2 ; 361c8
- dw BattleCommand_DefenseUp2 ; 361cc
- dw BattleCommand_SpeedUp2 ; 361d0
- dw BattleCommand_SpecialAttackUp2 ; 361d4
- dw BattleCommand_SpecialDefenseUp2 ; 361d8
- dw BattleCommand_AccuracyUp2 ; 361dc
- dw BattleCommand_EvasionUp2 ; 361e0
- dw BattleCommand_AttackDown ; 362ad
- dw BattleCommand_DefenseDown ; 362b1
- dw BattleCommand_SpeedDown ; 362b5
- dw BattleCommand_SpecialAttackDown ; 362b9
- dw BattleCommand_SpecialDefenseDown ; 362bd
- dw BattleCommand_AccuracyDown ; 362c1
- dw BattleCommand_EvasionDown ; 362c5
- dw BattleCommand_AttackDown2 ; 362c9
- dw BattleCommand_DefenseDown2 ; 362cd
- dw BattleCommand_SpeedDown2 ; 362d1
- dw BattleCommand_SpecialAttackDown2 ; 362d5
- dw BattleCommand_SpecialDefenseDown2 ; 362d9
- dw BattleCommand_AccuracyDown2 ; 362dd
- dw BattleCommand_EvasionDown2 ; 362e1
- dw BattleCommand_StatUpMessage ; 363b8
- dw BattleCommand_StatDownMessage ; 363e9
- dw BattleCommand_StatUpFailText ; 3644c
- dw BattleCommand_StatDownFailText ; 3646a
- dw BattleCommand_EffectChance ; 34ecc
- dw BattleCommand_StatDownAnim ; 34fdb
- dw BattleCommand_StatUpAnim ; 34fd1
- dw BattleCommand_SwitchTurn ; 34ffd - 93
- dw BattleCommand_FakeOut ; 36a82
- dw BattleCommand_BellyDrum ; 37c1a
- dw BattleCommand_PsychUp ; 37c55
- dw BattleCommand_Rage ; 36f1d
- dw BattleCommand_DoubleFlyingDamage ; 36f25
- dw BattleCommand_DoubleUndergroundDamage ; 36f2f
- dw BattleCommand_MirrorCoat ; 37c95
- dw BattleCommand_CheckFutureSight ; 37d0d
- dw BattleCommand_FutureSight ; 37d34
- dw BattleCommand_DoubleMinimizeDamage ; 37ce6
- dw BattleCommand_SkipSunCharge ; 37d02
- dw BattleCommand_ThunderAccuracy ; 37d94
- dw BattleCommand_Teleport ; 36778
- dw BattleCommand_BeatUp ; 35461
- dw BattleCommand_RageDamage ; 3527b
- dw BattleCommand_ResetTypeMatchup ; 34833
- dw BattleCommand_AllStatsUp ; 36500
- dw BattleCommanda5 ; 35165
- dw BattleCommand_RaiseSubNoAnim ; 365af
- dw BattleCommand_LowerSubNoAnim ; 365c3
- dw BattleCommanda8 ; 355b5
- dw BattleCommand_ClearMissDamage ; 355d5 - a9
- dw BattleCommand_MoveDelay ; 37e80
- dw BattleCommand_HitTarget ; 34f57
- dw BattleCommand_TriStatusChance ; 3658f
- dw BattleCommand_SuperEffectiveLoopText ; 351a5
- dw BattleCommand_StartLoop ; 35197
- dw BattleCommand_Curl ; 365a7
-; 3fe86
--- /dev/null
+++ b/data/moves/effects.asm
@@ -1,0 +1,2075 @@
+MoveEffects: ; 2732e
+
+NormalHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+DoSleep:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ checksafeguard
+ sleeptarget
+ endmove
+
+PoisonHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ poisontarget
+ endmove
+
+LeechHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ draintarget
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+BurnHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ burntarget
+ endmove
+
+FreezeHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ freezetarget
+ endmove
+
+ParalyzeHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ paralyzetarget
+ endmove
+
+Selfdestruct:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ selfdestruct
+ hittargetnosub
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+DreamEater:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ eatdream
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+MirrorMove:
+ checkobedience
+ usedmovetext
+ doturn
+ mirrormove
+ endmove
+
+AttackUp:
+ checkobedience
+ usedmovetext
+ doturn
+ attackup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+DefenseUp:
+ checkobedience
+ usedmovetext
+ doturn
+ defenseup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpeedUp:
+ checkobedience
+ usedmovetext
+ doturn
+ speedup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpecialAttackUp:
+ checkobedience
+ usedmovetext
+ doturn
+ specialattackup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpecialDefenseUp:
+ checkobedience
+ usedmovetext
+ doturn
+ specialdefenseup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+AccuracyUp:
+ checkobedience
+ usedmovetext
+ doturn
+ accuracyup
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+EvasionUp:
+ checkobedience
+ usedmovetext
+ doturn
+ lowersub
+ evasionup
+ statupanim
+ lowersubnoanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+AttackUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ attackup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+DefenseUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ defenseup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpeedUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ speedup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpecialAttackUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ specialattackup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+SpecialDefenseUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ specialdefenseup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+AccuracyUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ accuracyup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+EvasionUp2:
+ checkobedience
+ usedmovetext
+ doturn
+ evasionup2
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
+
+AttackDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ attackdown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+DefenseDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ defensedown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpeedDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ speeddown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpecialAttackDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ specialattackdown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpecialDefenseDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ specialdefensedown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+AccuracyDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ accuracydown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+EvasionDown:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ evasiondown
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+AttackDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ attackdown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+DefenseDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ defensedown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpeedDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ speeddown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpecialAttackDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ specialattackdown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+SpecialDefenseDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ specialdefensedown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+AccuracyDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ accuracydown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+EvasionDown2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ evasiondown2
+ lowersub
+ statdownanim
+ raisesub
+ statdownmessage
+ statdownfailtext
+ endmove
+
+AttackDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ attackdown
+ statdownmessage
+ endmove
+
+DefenseDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ effectchance ; bug: duplicate effectchance shouldn't be here
+ defensedown
+ statdownmessage
+ endmove
+
+SpeedDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ speeddown
+ statdownmessage
+ endmove
+
+SpecialAttackDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ specialattackdown
+ statdownmessage
+ endmove
+
+SpecialDefenseDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ specialdefensedown
+ statdownmessage
+ endmove
+
+AccuracyDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ accuracydown
+ statdownmessage
+ endmove
+
+EvasionDownHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ evasiondown
+ statdownmessage
+ endmove
+
+DefenseUpHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ defenseup
+ statupmessage
+ endmove
+
+AttackUpHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ attackup
+ statupmessage
+ endmove
+
+AllUpHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ allstatsup
+ endmove
+
+PayDay:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ payday
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Conversion:
+ checkobedience
+ usedmovetext
+ doturn
+ conversion
+ endmove
+
+ResetStats:
+ checkobedience
+ usedmovetext
+ doturn
+ resetstats
+ endmove
+
+Bide:
+ storeenergy
+ checkobedience
+ doturn
+ usedmovetext
+ unleashenergy
+ resettypematchup
+ checkhit
+ hittarget
+ effect0xa5
+ checkfaint
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Rampage:
+ checkrampage
+ checkobedience
+ doturn
+ rampage
+ usedmovetext
+ checkhit
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ clearmissdamage
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+ForceSwitch:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ forceswitch
+ endmove
+
+MultiHit:
+ checkobedience
+ usedmovetext
+ doturn
+ startloop
+ lowersub
+ checkhit
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ clearmissdamage
+ hittargetnosub
+ failuretext
+ checkfaint
+ criticaltext
+ cleartext
+ supereffectivelooptext
+ checkdestinybond
+ buildopponentrage
+ endloop
+ raisesub
+ kingsrock
+ endmove
+
+PoisonMultiHit:
+ checkobedience
+ usedmovetext
+ doturn
+ startloop
+ lowersub
+ checkhit
+ effectchance
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ clearmissdamage
+ hittargetnosub
+ failuretext
+ checkfaint
+ criticaltext
+ cleartext
+ supereffectivelooptext
+ checkdestinybond
+ buildopponentrage
+ endloop
+ raisesub
+ kingsrock
+ poisontarget
+ endmove
+
+FlinchHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ flinchtarget
+ endmove
+
+OHKOHit:
+ checkobedience
+ usedmovetext
+ doturn
+ stab
+ ohko
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+RecoilHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ recoil
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Mist:
+ checkobedience
+ usedmovetext
+ doturn
+ mist
+ endmove
+
+FocusEnergy:
+ checkobedience
+ usedmovetext
+ doturn
+ focusenergy
+ endmove
+
+DoConfuse:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ checksafeguard
+ confuse
+ endmove
+
+ConfuseHit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ confusetarget
+ endmove
+
+Heal:
+ checkobedience
+ usedmovetext
+ doturn
+ heal
+ endmove
+
+Transform:
+ checkobedience
+ usedmovetext
+ doturn
+ transform
+ endmove
+
+LightScreen:
+Reflect:
+ checkobedience
+ usedmovetext
+ doturn
+ screen
+ endmove
+
+TriAttack:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ tristatuschance
+ endmove
+
+Toxic:
+DoPoison:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ stab
+ checksafeguard
+ poison
+ endmove
+
+DoParalyze:
+ checkobedience
+ usedmovetext
+ doturn
+ stab
+ checkhit
+ checksafeguard
+ paralyze
+ endmove
+
+SkyAttack:
+ checkcharge
+ checkobedience
+ doturn
+ charge
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ flinchtarget
+ kingsrock
+ endmove
+
+Substitute:
+ checkobedience
+ usedmovetext
+ doturn
+ substitute
+ endmove
+
+HyperBeam:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ rechargenextturn
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+Rage:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ checkhit
+ ragedamage
+ damagevariation
+ hittarget
+ failuretext
+ rage
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Mimic:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ mimic
+ endmove
+
+Metronome:
+ checkobedience
+ usedmovetext
+ doturn
+ metronome
+ endmove
+
+LeechSeed:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ leechseed
+ endmove
+
+Splash:
+ checkobedience
+ usedmovetext
+ doturn
+ splash
+ endmove
+
+Disable:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ disable
+ endmove
+
+RazorWind:
+ checkcharge
+ checkobedience
+ doturn
+ charge
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Fly:
+ checkcharge
+ checkobedience
+ doturn
+ charge
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittargetnosub
+ raisesub
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+TrapTarget:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ clearmissdamage
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ traptarget
+ endmove
+
+SuperFang:
+Psywave:
+StaticDamage:
+ checkobedience
+ usedmovetext
+ doturn
+ constantdamage
+ checkhit
+ resettypematchup
+ hittarget
+ failuretext
+ checkfaint
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Reversal:
+ checkobedience
+ usedmovetext
+ doturn
+ constantdamage
+ stab
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Counter:
+ checkobedience
+ usedmovetext
+ doturn
+ counter
+ hittarget
+ failuretext
+ checkfaint
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Encore:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ encore
+ endmove
+
+PainSplit:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ painsplit
+ endmove
+
+Snore:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ snore
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ flinchtarget
+ kingsrock
+ endmove
+
+Conversion2:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ conversion2
+ endmove
+
+LockOn:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ lockon
+ endmove
+
+Sketch:
+ checkobedience
+ usedmovetext
+ doturn
+ sketch
+ endmove
+
+DefrostOpponent:
+ checkobedience
+ usedmovetext
+ doturn
+ defrostopponent
+ endmove
+
+SleepTalk:
+ checkobedience
+ usedmovetext
+ doturn
+ sleeptalk
+ endmove
+
+DestinyBond:
+ checkobedience
+ usedmovetext
+ doturn
+ destinybond
+ endmove
+
+Spite:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ spite
+ endmove
+
+FalseSwipe:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ falseswipe
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+HealBell:
+ checkobedience
+ usedmovetext
+ doturn
+ healbell
+ endmove
+
+TripleKick:
+ checkobedience
+ usedmovetext
+ doturn
+ startloop
+ lowersub
+ checkhit
+ critical
+ damagestats
+ damagecalc
+ triplekick
+ stab
+ damagevariation
+ clearmissdamage
+ hittargetnosub
+ failuretext
+ checkfaint
+ criticaltext
+ cleartext
+ supereffectivelooptext
+ checkdestinybond
+ buildopponentrage
+ kickcounter
+ endloop
+ raisesub
+ kingsrock
+ endmove
+
+Thief:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ thief
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+MeanLook:
+ checkobedience
+ usedmovetext
+ doturn
+ arenatrap
+ endmove
+
+Nightmare:
+ checkobedience
+ usedmovetext
+ doturn
+ nightmare
+ endmove
+
+FlameWheel:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ defrost
+ checkdestinybond
+ buildopponentrage
+ burntarget
+ endmove
+
+Curse:
+ checkobedience
+ usedmovetext
+ doturn
+ curse
+ endmove
+
+Protect:
+ checkobedience
+ usedmovetext
+ doturn
+ protect
+ endmove
+
+Spikes:
+ checkobedience
+ usedmovetext
+ doturn
+ spikes
+ endmove
+
+Foresight:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ foresight
+ endmove
+
+PerishSong:
+ checkobedience
+ usedmovetext
+ doturn
+ perishsong
+ endmove
+
+Sandstorm:
+ checkobedience
+ usedmovetext
+ doturn
+ startsandstorm
+ endmove
+
+Endure:
+ checkobedience
+ usedmovetext
+ doturn
+ endure
+ endmove
+
+Rollout:
+ checkcurl
+ checkobedience
+ doturn
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ checkhit
+ rolloutpower
+ damagevariation
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Swagger:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ switchturn
+ attackup2
+ switchturn
+ lowersub
+ statupanim
+ raisesub
+ failuretext
+ switchturn
+ statupmessage
+ switchturn
+ confusetarget
+ endmove
+
+FuryCutter:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ checkhit
+ furycutter
+ damagevariation
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Attract:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ attract
+ endmove
+
+Return:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ happinesspower
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Present:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ critical
+ damagestats
+ present
+ damagecalc
+ stab
+ damagevariation
+ clearmissdamage
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Frustration:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ frustrationpower
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Safeguard:
+ checkobedience
+ usedmovetext
+ doturn
+ safeguard
+ endmove
+
+SacredFire:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ defrost
+ checkdestinybond
+ buildopponentrage
+ burntarget
+ endmove
+
+Magnitude:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ getmagnitude
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ doubleundergrounddamage
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+BatonPass:
+ checkobedience
+ usedmovetext
+ doturn
+ batonpass
+ endmove
+
+Pursuit:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ pursuit
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+RapidSpin:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ clearhazards
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+MorningSun:
+ checkobedience
+ usedmovetext
+ doturn
+ healmorn
+ endmove
+
+Synthesis:
+ checkobedience
+ usedmovetext
+ doturn
+ healday
+ endmove
+
+Moonlight:
+ checkobedience
+ usedmovetext
+ doturn
+ healnite
+ endmove
+
+HiddenPower:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ hiddenpower
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+RainDance:
+ checkobedience
+ usedmovetext
+ doturn
+ startrain
+ endmove
+
+SunnyDay:
+ checkobedience
+ usedmovetext
+ doturn
+ startsun
+ endmove
+
+FakeOut:
+ checkobedience
+ usedmovetext
+ doturn
+ checkhit
+ fakeout
+ hittarget
+ failuretext
+ endmove
+
+BellyDrum:
+ checkobedience
+ usedmovetext
+ doturn
+ bellydrum
+ endmove
+
+PsychUp:
+ checkobedience
+ usedmovetext
+ doturn
+ psychup
+ endmove
+
+MirrorCoat:
+ checkobedience
+ usedmovetext
+ doturn
+ mirrorcoat
+ hittarget
+ failuretext
+ checkfaint
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+SkullBash:
+ checkcharge
+ checkobedience
+ doturn
+ charge
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endturn
+ defenseup
+ statupmessage
+ endmove
+
+Twister:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ doubleflyingdamage
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ flinchtarget
+ endmove
+
+Earthquake:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ doubleundergrounddamage
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+FutureSight:
+ checkfuturesight
+ checkobedience
+ usedmovetext
+ doturn
+ damagestats
+ damagecalc
+ futuresight
+ damagevariation ; skip here if last turn
+ checkhit
+ hittargetnosub
+ failuretext
+ checkfaint
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+Gust:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ doubleflyingdamage
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ endmove
+
+Stomp:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ doubleminimizedamage
+ checkhit
+ effectchance
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ flinchtarget
+ endmove
+
+Solarbeam:
+ checkcharge
+ checkobedience
+ doturn
+ skipsuncharge
+ charge
+ usedmovetext
+ critical
+ damagestats
+ damagecalc
+ stab
+ damagevariation
+ checkhit
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ kingsrock
+ endmove
+
+Thunder:
+ checkobedience
+ usedmovetext
+ doturn
+ critical
+ damagestats
+ damagecalc
+ thunderaccuracy
+ checkhit
+ effectchance
+ stab
+ damagevariation
+ hittarget
+ failuretext
+ checkfaint
+ criticaltext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ paralyzetarget
+ endmove
+
+Teleport:
+ checkobedience
+ usedmovetext
+ doturn
+ teleport
+ endmove
+
+BeatUp:
+ checkobedience
+ usedmovetext
+ movedelay
+ doturn
+ startloop
+ lowersub
+ checkhit
+ critical
+ beatup
+ damagecalc
+ damagevariation
+ clearmissdamage
+ hittargetnosub
+ failuretext
+ checkfaint
+ criticaltext
+ cleartext
+ supereffectivetext
+ checkdestinybond
+ buildopponentrage
+ endloop
+ effect0xa8
+ raisesub
+ kingsrock
+ endmove
+
+DefenseCurl:
+ checkobedience
+ usedmovetext
+ doturn
+ defenseup
+ curl
+ lowersub
+ statupanim
+ raisesub
+ statupmessage
+ statupfailtext
+ endmove
--- /dev/null
+++ b/data/moves/effects_pointers.asm
@@ -1,0 +1,159 @@
+MoveEffectsPointers: ; 271f4
+; entries correspond to EFFECT_* constants
+ dw NormalHit
+ dw DoSleep
+ dw PoisonHit
+ dw LeechHit
+ dw BurnHit
+ dw FreezeHit
+ dw ParalyzeHit
+ dw Selfdestruct
+ dw DreamEater
+ dw MirrorMove
+ dw AttackUp
+ dw DefenseUp
+ dw SpeedUp
+ dw SpecialAttackUp
+ dw SpecialDefenseUp
+ dw AccuracyUp
+ dw EvasionUp
+ dw NormalHit
+ dw AttackDown
+ dw DefenseDown
+ dw SpeedDown
+ dw SpecialAttackDown
+ dw SpecialDefenseDown
+ dw AccuracyDown
+ dw EvasionDown
+ dw ResetStats
+ dw Bide
+ dw Rampage
+ dw ForceSwitch
+ dw MultiHit
+ dw Conversion
+ dw FlinchHit
+ dw Heal
+ dw Toxic
+ dw PayDay
+ dw LightScreen
+ dw TriAttack
+ dw NormalHit
+ dw OHKOHit
+ dw RazorWind
+ dw SuperFang
+ dw StaticDamage
+ dw TrapTarget
+ dw NormalHit
+ dw MultiHit
+ dw NormalHit
+ dw Mist
+ dw FocusEnergy
+ dw RecoilHit
+ dw DoConfuse
+ dw AttackUp2
+ dw DefenseUp2
+ dw SpeedUp2
+ dw SpecialAttackUp2
+ dw SpecialDefenseUp2
+ dw AccuracyUp2
+ dw EvasionUp2
+ dw Transform
+ dw AttackDown2
+ dw DefenseDown2
+ dw SpeedDown2
+ dw SpecialAttackDown2
+ dw SpecialDefenseDown2
+ dw AccuracyDown2
+ dw EvasionDown2
+ dw Reflect
+ dw DoPoison
+ dw DoParalyze
+ dw AttackDownHit
+ dw DefenseDownHit
+ dw SpeedDownHit
+ dw SpecialAttackDownHit
+ dw SpecialDefenseDownHit
+ dw AccuracyDownHit
+ dw EvasionDownHit
+ dw SkyAttack
+ dw ConfuseHit
+ dw PoisonMultiHit
+ dw NormalHit
+ dw Substitute
+ dw HyperBeam
+ dw Rage
+ dw Mimic
+ dw Metronome
+ dw LeechSeed
+ dw Splash
+ dw Disable
+ dw StaticDamage
+ dw Psywave
+ dw Counter
+ dw Encore
+ dw PainSplit
+ dw Snore
+ dw Conversion2
+ dw LockOn
+ dw Sketch
+ dw DefrostOpponent
+ dw SleepTalk
+ dw DestinyBond
+ dw Reversal
+ dw Spite
+ dw FalseSwipe
+ dw HealBell
+ dw NormalHit
+ dw TripleKick
+ dw Thief
+ dw MeanLook
+ dw Nightmare
+ dw FlameWheel
+ dw Curse
+ dw NormalHit
+ dw Protect
+ dw Spikes
+ dw Foresight
+ dw PerishSong
+ dw Sandstorm
+ dw Endure
+ dw Rollout
+ dw Swagger
+ dw FuryCutter
+ dw Attract
+ dw Return
+ dw Present
+ dw Frustration
+ dw Safeguard
+ dw SacredFire
+ dw Magnitude
+ dw BatonPass
+ dw Pursuit
+ dw RapidSpin
+ dw NormalHit
+ dw NormalHit
+ dw MorningSun
+ dw Synthesis
+ dw Moonlight
+ dw HiddenPower
+ dw RainDance
+ dw SunnyDay
+ dw DefenseUpHit
+ dw AttackUpHit
+ dw AllUpHit
+ dw FakeOut
+ dw BellyDrum
+ dw PsychUp
+ dw MirrorCoat
+ dw SkullBash
+ dw Twister
+ dw Earthquake
+ dw FutureSight
+ dw Gust
+ dw Stomp
+ dw Solarbeam
+ dw Thunder
+ dw Teleport
+ dw BeatUp
+ dw Fly
+ dw DefenseCurl
--- a/data/moves/move_anims.asm
+++ /dev/null
@@ -1,5176 +1,0 @@
-BattleAnimations:: ; c906f
-; entries correspond to constants/move_constants.asm
- dw BattleAnim_0
- dw BattleAnim_Pound
- dw BattleAnim_KarateChop
- dw BattleAnim_Doubleslap
- dw BattleAnim_CometPunch
- dw BattleAnim_MegaPunch
- dw BattleAnim_PayDay
- dw BattleAnim_FirePunch
- dw BattleAnim_IcePunch
- dw BattleAnim_Thunderpunch
- dw BattleAnim_Scratch
- dw BattleAnim_Vicegrip
- dw BattleAnim_Guillotine
- dw BattleAnim_RazorWind
- dw BattleAnim_SwordsDance
- dw BattleAnim_Cut
- dw BattleAnim_Gust
- dw BattleAnim_WingAttack
- dw BattleAnim_Whirlwind
- dw BattleAnim_Fly
- dw BattleAnim_Bind
- dw BattleAnim_Slam
- dw BattleAnim_VineWhip
- dw BattleAnim_Stomp
- dw BattleAnim_DoubleKick
- dw BattleAnim_MegaKick
- dw BattleAnim_JumpKick
- dw BattleAnim_RollingKick
- dw BattleAnim_SandAttack
- dw BattleAnim_Headbutt
- dw BattleAnim_HornAttack
- dw BattleAnim_FuryAttack
- dw BattleAnim_HornDrill
- dw BattleAnim_Tackle
- dw BattleAnim_BodySlam
- dw BattleAnim_Wrap
- dw BattleAnim_TakeDown
- dw BattleAnim_Thrash
- dw BattleAnim_DoubleEdge
- dw BattleAnim_TailWhip
- dw BattleAnim_PoisonSting
- dw BattleAnim_Twineedle
- dw BattleAnim_PinMissile
- dw BattleAnim_Leer
- dw BattleAnim_Bite
- dw BattleAnim_Growl
- dw BattleAnim_Roar
- dw BattleAnim_Sing
- dw BattleAnim_Supersonic
- dw BattleAnim_Sonicboom
- dw BattleAnim_Disable
- dw BattleAnim_Acid
- dw BattleAnim_Ember
- dw BattleAnim_Flamethrower
- dw BattleAnim_Mist
- dw BattleAnim_WaterGun
- dw BattleAnim_HydroPump
- dw BattleAnim_Surf
- dw BattleAnim_IceBeam
- dw BattleAnim_Blizzard
- dw BattleAnim_Psybeam
- dw BattleAnim_Bubblebeam
- dw BattleAnim_AuroraBeam
- dw BattleAnim_HyperBeam
- dw BattleAnim_Peck
- dw BattleAnim_DrillPeck
- dw BattleAnim_Submission
- dw BattleAnim_LowKick
- dw BattleAnim_Counter
- dw BattleAnim_SeismicToss
- dw BattleAnim_Strength
- dw BattleAnim_Absorb
- dw BattleAnim_MegaDrain
- dw BattleAnim_LeechSeed
- dw BattleAnim_Growth
- dw BattleAnim_RazorLeaf
- dw BattleAnim_Solarbeam
- dw BattleAnim_Poisonpowder
- dw BattleAnim_StunSpore
- dw BattleAnim_SleepPowder
- dw BattleAnim_PetalDance
- dw BattleAnim_StringShot
- dw BattleAnim_DragonRage
- dw BattleAnim_FireSpin
- dw BattleAnim_Thundershock
- dw BattleAnim_Thunderbolt
- dw BattleAnim_ThunderWave
- dw BattleAnim_Thunder
- dw BattleAnim_RockThrow
- dw BattleAnim_Earthquake
- dw BattleAnim_Fissure
- dw BattleAnim_Dig
- dw BattleAnim_Toxic
- dw BattleAnim_Confusion
- dw BattleAnim_PsychicM
- dw BattleAnim_Hypnosis
- dw BattleAnim_Meditate
- dw BattleAnim_Agility
- dw BattleAnim_QuickAttack
- dw BattleAnim_Rage
- dw BattleAnim_Teleport
- dw BattleAnim_NightShade
- dw BattleAnim_Mimic
- dw BattleAnim_Screech
- dw BattleAnim_DoubleTeam
- dw BattleAnim_Recover
- dw BattleAnim_Harden
- dw BattleAnim_Minimize
- dw BattleAnim_Smokescreen
- dw BattleAnim_ConfuseRay
- dw BattleAnim_Withdraw
- dw BattleAnim_DefenseCurl
- dw BattleAnim_Barrier
- dw BattleAnim_LightScreen
- dw BattleAnim_Haze
- dw BattleAnim_Reflect
- dw BattleAnim_FocusEnergy
- dw BattleAnim_Bide
- dw BattleAnim_Metronome
- dw BattleAnim_MirrorMove
- dw BattleAnim_Selfdestruct
- dw BattleAnim_EggBomb
- dw BattleAnim_Lick
- dw BattleAnim_Smog
- dw BattleAnim_Sludge
- dw BattleAnim_BoneClub
- dw BattleAnim_FireBlast
- dw BattleAnim_Waterfall
- dw BattleAnim_Clamp
- dw BattleAnim_Swift
- dw BattleAnim_SkullBash
- dw BattleAnim_SpikeCannon
- dw BattleAnim_Constrict
- dw BattleAnim_Amnesia
- dw BattleAnim_Kinesis
- dw BattleAnim_Softboiled
- dw BattleAnim_HiJumpKick
- dw BattleAnim_Glare
- dw BattleAnim_DreamEater
- dw BattleAnim_PoisonGas
- dw BattleAnim_Barrage
- dw BattleAnim_LeechLife
- dw BattleAnim_LovelyKiss
- dw BattleAnim_SkyAttack
- dw BattleAnim_Transform
- dw BattleAnim_Bubble
- dw BattleAnim_DizzyPunch
- dw BattleAnim_Spore
- dw BattleAnim_Flash
- dw BattleAnim_Psywave
- dw BattleAnim_Splash
- dw BattleAnim_AcidArmor
- dw BattleAnim_Crabhammer
- dw BattleAnim_Explosion
- dw BattleAnim_FurySwipes
- dw BattleAnim_Bonemerang
- dw BattleAnim_Rest
- dw BattleAnim_RockSlide
- dw BattleAnim_HyperFang
- dw BattleAnim_Sharpen
- dw BattleAnim_Conversion
- dw BattleAnim_TriAttack
- dw BattleAnim_SuperFang
- dw BattleAnim_Slash
- dw BattleAnim_Substitute
- dw BattleAnim_Struggle
- dw BattleAnim_Sketch
- dw BattleAnim_TripleKick
- dw BattleAnim_Thief
- dw BattleAnim_SpiderWeb
- dw BattleAnim_MindReader
- dw BattleAnim_Nightmare
- dw BattleAnim_FlameWheel
- dw BattleAnim_Snore
- dw BattleAnim_Curse
- dw BattleAnim_Flail
- dw BattleAnim_Conversion2
- dw BattleAnim_Aeroblast
- dw BattleAnim_CottonSpore
- dw BattleAnim_Reversal
- dw BattleAnim_Spite
- dw BattleAnim_PowderSnow
- dw BattleAnim_Protect
- dw BattleAnim_MachPunch
- dw BattleAnim_ScaryFace
- dw BattleAnim_FaintAttack
- dw BattleAnim_SweetKiss
- dw BattleAnim_BellyDrum
- dw BattleAnim_SludgeBomb
- dw BattleAnim_MudSlap
- dw BattleAnim_Octazooka
- dw BattleAnim_Spikes
- dw BattleAnim_ZapCannon
- dw BattleAnim_Foresight
- dw BattleAnim_DestinyBond
- dw BattleAnim_PerishSong
- dw BattleAnim_IcyWind
- dw BattleAnim_Detect
- dw BattleAnim_BoneRush
- dw BattleAnim_LockOn
- dw BattleAnim_Outrage
- dw BattleAnim_Sandstorm
- dw BattleAnim_GigaDrain
- dw BattleAnim_Endure
- dw BattleAnim_Charm
- dw BattleAnim_Rollout
- dw BattleAnim_FalseSwipe
- dw BattleAnim_Swagger
- dw BattleAnim_MilkDrink
- dw BattleAnim_Spark
- dw BattleAnim_FuryCutter
- dw BattleAnim_SteelWing
- dw BattleAnim_MeanLook
- dw BattleAnim_Attract
- dw BattleAnim_SleepTalk
- dw BattleAnim_HealBell
- dw BattleAnim_Return
- dw BattleAnim_Present
- dw BattleAnim_Frustration
- dw BattleAnim_Safeguard
- dw BattleAnim_PainSplit
- dw BattleAnim_SacredFire
- dw BattleAnim_Magnitude
- dw BattleAnim_Dynamicpunch
- dw BattleAnim_Megahorn
- dw BattleAnim_Dragonbreath
- dw BattleAnim_BatonPass
- dw BattleAnim_Encore
- dw BattleAnim_Pursuit
- dw BattleAnim_RapidSpin
- dw BattleAnim_SweetScent
- dw BattleAnim_IronTail
- dw BattleAnim_MetalClaw
- dw BattleAnim_VitalThrow
- dw BattleAnim_MorningSun
- dw BattleAnim_Synthesis
- dw BattleAnim_Moonlight
- dw BattleAnim_HiddenPower
- dw BattleAnim_CrossChop
- dw BattleAnim_Twister
- dw BattleAnim_RainDance
- dw BattleAnim_SunnyDay
- dw BattleAnim_Crunch
- dw BattleAnim_MirrorCoat
- dw BattleAnim_PsychUp
- dw BattleAnim_Extremespeed
- dw BattleAnim_Ancientpower
- dw BattleAnim_ShadowBall
- dw BattleAnim_FutureSight
- dw BattleAnim_RockSmash
- dw BattleAnim_Whirlpool
- dw BattleAnim_BeatUp
- dw BattleAnim_252
- dw BattleAnim_253
- dw BattleAnim_254
- dw BattleAnim_SweetScent2
-; $100
- dw BattleAnim_ThrowPokeBall
- dw BattleAnim_SendOutMon
- dw BattleAnim_ReturnMon
- dw BattleAnim_Confused
- dw BattleAnim_Slp
- dw BattleAnim_Brn
- dw BattleAnim_Psn
- dw BattleAnim_Sap
- dw BattleAnim_Frz
- dw BattleAnim_Par
- dw BattleAnim_InLove
- dw BattleAnim_InSandstorm
- dw BattleAnim_InNightmare
- dw BattleAnim_InWhirlpool
- dw BattleAnim_Miss
- dw BattleAnim_EnemyDamage
- dw BattleAnim_EnemyStatDown
- dw BattleAnim_PlayerStatDown
- dw BattleAnim_PlayerDamage
- dw BattleAnim_Wobble
- dw BattleAnim_Shake
- dw BattleAnim_HitConfusion
-; c929b
-
-BattleAnim_0: ; c929b
-BattleAnim_252: ; c929b
-BattleAnim_253: ; c929b
-BattleAnim_254: ; c929b
-BattleAnim_MirrorMove: ; c929b
- anim_ret
-; c929c
-
-BattleAnim_SweetScent2: ; c929c
- anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
- anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
- anim_wait 2
- anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
- anim_wait 64
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_wait 128
- anim_ret
-; c92c1
-
-BattleAnim_ThrowPokeBall
- anim_if_param_equal NO_ITEM, .TheTrainerBlockedTheBall
- anim_if_param_equal MASTER_BALL, .MasterBall
- anim_if_param_equal ULTRA_BALL, .UltraBall
- anim_if_param_equal GREAT_BALL, .GreatBall
- ; any other ball
- anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
- anim_wait 36
- anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
- anim_setobj $2, $7
- anim_wait 16
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
- anim_wait 16
- anim_jump .Shake
-; c92f2
-
-.TheTrainerBlockedTheBall:
- anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 8, 0, 11, 4, $20
- anim_wait 20
- anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0
- anim_wait 32
- anim_ret
-; c9305
-
-.UltraBall:
- anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
- anim_wait 36
- anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
- anim_setobj $2, $7
- anim_wait 16
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
- anim_wait 16
- anim_jump .Shake
-; c9326
-
-.GreatBall:
- anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
- anim_wait 36
- anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
- anim_setobj $2, $7
- anim_wait 16
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
- anim_wait 16
- anim_jump .Shake
-; c9347
-
-.MasterBall:
- anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20
- anim_wait 36
- anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
- anim_setobj $2, $7
- anim_wait 16
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
- anim_wait 24
- anim_sound 0, 1, SFX_MASTER_BALL
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $30
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $31
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $32
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $33
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $34
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $35
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $36
- anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $37
- anim_wait 64
-.Shake:
- anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
- anim_wait 8
- anim_incobj 2
- anim_wait 16
- anim_sound 0, 1, SFX_CHANGE_DEX_MODE
- anim_incobj 1
- anim_wait 32
- anim_sound 0, 1, SFX_BALL_BOUNCE
- anim_wait 32
- anim_wait 32
- anim_wait 32
- anim_wait 8
- anim_setvar $0
-.Loop:
- anim_wait 48
- anim_checkpokeball
- anim_if_var_equal $1, .Click
- anim_if_var_equal $2, .BreakFree
- anim_incobj 1
- anim_sound 0, 1, SFX_BALL_WIGGLE
- anim_jump .Loop
-; c93bc
-
-.Click:
- anim_clearsprites
- anim_ret
-; c93be
-
-.BreakFree:
- anim_setobj $1, $b
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10
- anim_wait 2
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
- anim_wait 32
- anim_ret
-; c93d1
-
-BattleAnim_SendOutMon: ; c93d1
- anim_if_param_equal $0, .Normal
- anim_if_param_equal $1, .Shiny
- anim_if_param_equal $2, .Unknown
- anim_1gfx ANIM_GFX_SMOKE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_2B, $0, $1, $0
- anim_sound 0, 0, SFX_BALL_POOF
- anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
- anim_wait 128
- anim_wait 4
- anim_call BattleAnim_ShowMon_0
- anim_ret
-
-.Unknown:
- anim_1gfx ANIM_GFX_SMOKE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_2A, $0, $1, $0
- anim_wait 1
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 4
- anim_sound 0, 0, SFX_BALL_POOF
- anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
- anim_incbgeffect ANIM_BG_2A
- anim_wait 96
- anim_incbgeffect ANIM_BG_2A
- anim_call BattleAnim_ShowMon_0
- anim_ret
-
-.Shiny:
- anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30
- anim_wait 4
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38
- anim_wait 32
- anim_ret
-
-.Normal:
- anim_1gfx ANIM_GFX_SMOKE
- anim_sound 0, 0, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, 5, 4, 12, 0, $0
- anim_wait 4
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; c9483
-
-BattleAnim_ReturnMon: ; c9483
- anim_sound 0, 0, SFX_BALL_POOF
-BattleAnim_BatonPass_branch_c9486: ; c9486
- anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; c948d
-
-BattleAnim_Confused: ; c948d
- anim_1gfx ANIM_GFX_STATUS
- anim_sound 0, 0, SFX_KINESIS
- anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15
- anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa
- anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf
- anim_wait 96
- anim_ret
-; c94a3
-
-BattleAnim_Slp: ; c94a3
- anim_1gfx ANIM_GFX_STATUS
- anim_sound 0, 0, SFX_TAIL_WHIP
-.loop
- anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
- anim_wait 40
- anim_loop 3, .loop
- anim_wait 32
- anim_ret
-; c94b4
-
-BattleAnim_Brn: ; c94b4
- anim_1gfx ANIM_GFX_FIRE
-.loop
- anim_sound 0, 0, SFX_BURN
- anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10
- anim_wait 4
- anim_loop 3, .loop
- anim_wait 6
- anim_ret
-; c94c5
-
-BattleAnim_Psn: ; c94c5
- anim_1gfx ANIM_GFX_POISON
- anim_sound 0, 0, SFX_POISON
- anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0
- anim_wait 8
- anim_sound 0, 0, SFX_POISON
- anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0
- anim_wait 8
- anim_ret
-; c94da
-
-BattleAnim_Sap: ; c94da
- anim_1gfx ANIM_GFX_CHARGE
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
- anim_wait 16
- anim_ret
-; c94f8
-
-BattleAnim_Frz: ; c94f8
- anim_1gfx ANIM_GFX_ICE
- anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0
- anim_sound 0, 0, SFX_SHINE
- anim_wait 16
- anim_sound 0, 0, SFX_SHINE
- anim_wait 16
- anim_ret
-; c9508
-
-BattleAnim_Par: ; c9508
- anim_1gfx ANIM_GFX_STATUS
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_sound 0, 0, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42
- anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2
- anim_wait 128
- anim_ret
-; c951e
-
-BattleAnim_InLove: ; c951e
- anim_1gfx ANIM_GFX_OBJECTS
- anim_sound 0, 0, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0
- anim_wait 32
- anim_sound 0, 0, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0
- anim_wait 32
- anim_ret
-; c9533
-
-BattleAnim_InSandstorm: ; c9533
- anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
- anim_wait 8
- anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
-.loop
- anim_sound 0, 1, SFX_MENU
- anim_wait 8
- anim_loop 6, .loop
- anim_wait 8
- anim_ret
-; c9550
-
-BattleAnim_InNightmare: ; c9550
- anim_1gfx ANIM_GFX_ANGELS
- anim_sound 0, 0, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0
- anim_wait 40
- anim_ret
-; c955c
-
-BattleAnim_InWhirlpool: ; c955c
- anim_1gfx ANIM_GFX_WIND
- anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
- anim_sound 0, 1, SFX_SURF
-.loop
- anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
- anim_wait 6
- anim_loop 6, .loop
- anim_incbgeffect ANIM_BG_WHIRLPOOL
- anim_wait 1
- anim_ret
-; c9574
-
-BattleAnim_HitConfusion: ; c9574
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 0, SFX_POUND
- anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
- anim_wait 16
- anim_ret
-; c9580
-
-BattleAnim_Miss: ; c9580
- anim_ret
-; c9581
-
-BattleAnim_EnemyDamage: ; c9581
-.loop
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
- anim_wait 5
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 5
- anim_loop 3, .loop
- anim_ret
-; c9592
-
-BattleAnim_EnemyStatDown: ; c9592
- anim_call BattleAnim_FollowEnemyFeet_1
- anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0
- anim_wait 40
- anim_call BattleAnim_ShowMon_1
- anim_wait 1
- anim_ret
-; c95a0
-
-BattleAnim_PlayerStatDown: ; c95a0
- anim_call BattleAnim_FollowEnemyFeet_1
- anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0
- anim_wait 40
- anim_call BattleAnim_ShowMon_1
- anim_wait 1
- anim_ret
-; c95ae
-
-BattleAnim_PlayerDamage: ; c95ae
- anim_bgeffect ANIM_BG_20, $20, $2, $20
- anim_wait 40
- anim_ret
-; c95b5
-
-BattleAnim_Wobble: ; c95b5
- anim_bgeffect ANIM_BG_35, $0, $0, $0
- anim_wait 40
- anim_ret
-; c95bc
-
-BattleAnim_Shake: ; c95bc
- anim_bgeffect ANIM_BG_1F, $20, $2, $40
- anim_wait 40
- anim_ret
-; c95c3
-
-BattleAnim_Pound: ; c95c3
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_POUND
- anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; c95d5
-
-BattleAnim_KarateChop: ; c95d5
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_KARATE_CHOP
- anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_KARATE_CHOP
- anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
- anim_wait 6
- anim_sound 0, 1, SFX_KARATE_CHOP
- anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; c9605
-
-BattleAnim_Doubleslap: ; c9605
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b
- anim_sound 0, 1, SFX_DOUBLESLAP
- anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 8
- anim_ret
-; c961b
-
-BattleAnim_Doubleslap_branch_c961b: ; c961b
- anim_sound 0, 1, SFX_DOUBLESLAP
- anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
- anim_wait 8
- anim_ret
-; c962b
-
-BattleAnim_CometPunch: ; c962b
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 8
- anim_ret
-; c9641
-
-BattleAnim_CometPunch_branch_c9641: ; c9641
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
- anim_wait 8
- anim_ret
-; c9651
-
-BattleAnim_Bide_branch_c9651: ; c9651
-BattleAnim_MegaPunch: ; c9651
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_wait 48
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-.loop
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
- anim_wait 6
- anim_loop 3, .loop
- anim_ret
-; c9677
-
-BattleAnim_Stomp: ; c9677
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_STOMP
- anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_STOMP
- anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
- anim_wait 6
- anim_sound 0, 1, SFX_STOMP
- anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; c96a7
-
-BattleAnim_DoubleKick: ; c96a7
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 8
- anim_ret
-; c96bd
-
-BattleAnim_DoubleKick_branch_c96bd: ; c96bd
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
- anim_wait 8
- anim_ret
-; c96cd
-
-BattleAnim_JumpKick: ; c96cd
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1
- anim_sound 0, 1, SFX_JUMP_KICK
- anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
- anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0
- anim_setobj $1, $2
- anim_setobj $2, $2
- anim_wait 24
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; c96f1
-
-BattleAnim_JumpKick_branch_c96f1: ; c96f1
- anim_wait 8
- anim_sound 0, 0, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
- anim_wait 16
- anim_ret
-; c96fc
-
-BattleAnim_HiJumpKick: ; c96fc
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e
- anim_wait 32
- anim_sound 0, 1, SFX_JUMP_KICK
- anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
- anim_setobj $1, $2
- anim_wait 16
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; c971e
-
-BattleAnim_HiJumpKick_branch_c971e: ; c971e
- anim_wait 16
- anim_sound 0, 0, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
- anim_wait 16
- anim_ret
-; c9729
-
-BattleAnim_RollingKick: ; c9729
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0
- anim_setobj $1, $3
- anim_wait 12
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; c973e
-
-BattleAnim_MegaKick: ; c973e
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_wait 67
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-.loop
- anim_sound 0, 1, SFX_MEGA_KICK
- anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
- anim_wait 6
- anim_loop 3, .loop
- anim_ret
-; c9764
-
-BattleAnim_HyperFang: ; c9764
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $20, $1, $0
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; c977b
-
-BattleAnim_SuperFang: ; c977b
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_wait 48
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-.loop
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
- anim_wait 6
- anim_loop 3, .loop
- anim_ret
-; c97a1
-
-BattleAnim_Ember: ; c97a1
- anim_1gfx ANIM_GFX_FIRE
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12
- anim_wait 4
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14
- anim_wait 4
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13
- anim_wait 16
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30
- anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30
- anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30
- anim_wait 32
- anim_ret
-; c97d8
-
-BattleAnim_FirePunch: ; c97d8
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE
- anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
- anim_call BattleAnim_FirePunch_branch_cbbcc
- anim_wait 16
- anim_ret
-; c97e5
-
-BattleAnim_FireSpin: ; c97e5
- anim_1gfx ANIM_GFX_FIRE
-.loop
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4
- anim_wait 2
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3
- anim_wait 2
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3
- anim_wait 2
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4
- anim_wait 2
- anim_loop 2, .loop
- anim_wait 96
- anim_ret
-; c9811
-
-BattleAnim_DragonRage: ; c9811
- anim_1gfx ANIM_GFX_FIRE
-.loop
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0
- anim_wait 3
- anim_loop 16, .loop
- anim_wait 64
- anim_ret
-; c9822
-
-BattleAnim_Flamethrower: ; c9822
- anim_1gfx ANIM_GFX_FIRE
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c
- anim_wait 2
- anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a
- anim_wait 2
- anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8
- anim_wait 16
-.loop
- anim_sound 0, 1, SFX_EMBER
- anim_wait 16
- anim_loop 6, .loop
- anim_wait 16
- anim_ret
-; c9861
-
-BattleAnim_FireBlast: ; c9861
- anim_1gfx ANIM_GFX_FIRE
-.loop1
- anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7
- anim_wait 6
- anim_loop 10, .loop1
-.loop2
- anim_sound 0, 1, SFX_EMBER
- anim_wait 8
- anim_loop 10, .loop2
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_incobj 7
- anim_incobj 8
- anim_incobj 9
- anim_incobj 10
- anim_wait 2
-.loop3
- anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1
- anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2
- anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3
- anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4
- anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5
- anim_wait 16
- anim_loop 2, .loop3
- anim_wait 32
- anim_ret
-; c98b0
-
-BattleAnim_IcePunch: ; c98b0
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE
- anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
- anim_call BattleAnim_IcePunch_branch_cbbdf
- anim_wait 32
- anim_ret
-; c98bd
-
-BattleAnim_IceBeam: ; c98bd
- anim_1gfx ANIM_GFX_ICE
-.loop
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4
- anim_wait 4
- anim_loop 5, .loop
- anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10
-.loop2
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4
- anim_wait 4
- anim_loop 15, .loop2
- anim_wait 48
- anim_sound 0, 1, SFX_SHINE
- anim_wait 8
- anim_sound 0, 1, SFX_SHINE
- anim_wait 8
- anim_ret
-; c98e8
-
-BattleAnim_Blizzard: ; c98e8
- anim_1gfx ANIM_GFX_ICE
-.loop
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 11, 0, $63
- anim_wait 2
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 10, 0, $64
- anim_wait 2
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 12, 0, $63
- anim_wait 2
- anim_loop 3, .loop
- anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
- anim_wait 32
- anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10
- anim_wait 128
- anim_sound 0, 1, SFX_SHINE
- anim_wait 8
- anim_sound 0, 1, SFX_SHINE
- anim_wait 24
- anim_ret
-; c991e
-
-BattleAnim_Bubble: ; c991e
- anim_1gfx ANIM_GFX_BUBBLE
- anim_sound 32, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $c1
- anim_wait 6
- anim_sound 32, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $e1
- anim_wait 6
- anim_sound 32, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $d1
- anim_wait 128
- anim_wait 32
- anim_ret
-; c993d
-
-BattleAnim_Bubblebeam: ; c993d
- anim_1gfx ANIM_GFX_BUBBLE
-.loop
- anim_sound 16, 2, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $92
- anim_wait 6
- anim_sound 16, 2, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $b3
- anim_wait 6
- anim_sound 16, 2, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $f4
- anim_wait 8
- anim_loop 3, .loop
- anim_wait 64
- anim_clearobjs
- anim_bgeffect ANIM_BG_30, $0, $0, $0
- anim_wait 1
- anim_call BattleAnim_FollowPlayerHead_1
- anim_bgeffect ANIM_BG_31, $1c, $0, $0
- anim_wait 19
- anim_call BattleAnim_ShowMon_1
- anim_bgeffect ANIM_BG_32, $0, $0, $0
- anim_wait 8
- anim_ret
-; c9979
-
-BattleAnim_WaterGun: ; c9979
- anim_bgeffect ANIM_BG_30, $0, $0, $0
- anim_1gfx ANIM_GFX_WATER
- anim_call BattleAnim_FollowPlayerHead_1
- anim_sound 16, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0
- anim_wait 8
- anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0
- anim_wait 24
- anim_bgeffect ANIM_BG_31, $1c, $0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_31, $8, $0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_31, $30, $0, $0
- anim_wait 32
- anim_call BattleAnim_ShowMon_1
- anim_bgeffect ANIM_BG_32, $0, $0, $0
- anim_wait 16
- anim_ret
-; c99b4
-
-BattleAnim_HydroPump: ; c99b4
- anim_bgeffect ANIM_BG_30, $0, $0, $0
- anim_1gfx ANIM_GFX_WATER
- anim_call BattleAnim_FollowPlayerHead_1
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $1c, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $8, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $30, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $1c, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $8, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $30, $0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0
- anim_bgeffect ANIM_BG_31, $1c, $0, $0
- anim_wait 32
- anim_call BattleAnim_ShowMon_1
- anim_bgeffect ANIM_BG_32, $0, $0, $0
- anim_wait 16
- anim_ret
-; c9a2a
-
-BattleAnim_Surf: ; c9a2a
- anim_1gfx ANIM_GFX_BUBBLE
- anim_bgeffect ANIM_BG_SURF, $0, $0, $0
- anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8
-.loop
- anim_sound 0, 1, SFX_SURF
- anim_wait 32
- anim_loop 4, .loop
- anim_incobj 1
- anim_wait 56
- anim_ret
-; c9a42
-
-BattleAnim_VineWhip: ; c9a42
- anim_1gfx ANIM_GFX_WHIP
- anim_sound 0, 1, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80
- anim_wait 4
- anim_sound 0, 1, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0
- anim_wait 4
- anim_incobj 1
- anim_wait 4
- anim_ret
-; c9a5a
-
-BattleAnim_LeechSeed: ; c9a5a
- anim_1gfx ANIM_GFX_PLANT
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $20
- anim_wait 8
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $30
- anim_wait 8
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $28
- anim_wait 32
- anim_sound 0, 1, SFX_CHARGE
- anim_wait 128
- anim_ret
-; c9a7c
-
-BattleAnim_RazorLeaf: ; c9a7c
- anim_1gfx ANIM_GFX_PLANT
- anim_sound 0, 0, SFX_VINE_WHIP
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $28
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $5c
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $10
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $e8
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $9c
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $d0
- anim_wait 6
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $1c
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $50
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $dc
- anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $90
- anim_wait 80
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 3
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 5
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 7
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 9
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 1
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 2
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 4
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 6
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 8
- anim_wait 2
- anim_sound 16, 2, SFX_VINE_WHIP
- anim_incobj 10
- anim_wait 64
- anim_ret
-; c9af2
-
-BattleAnim_Solarbeam: ; c9af2
- anim_if_param_equal $0, .FireSolarBeam
- ; charge turn
- anim_1gfx ANIM_GFX_CHARGE
- anim_sound 0, 0, SFX_CHARGE
- anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30
- anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38
- anim_wait 104
- anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2
- anim_wait 64
- anim_ret
-; c9b30
-
-.FireSolarBeam
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Solarbeam_branch_cbb39
- anim_wait 48
- anim_ret
-; c9b3c
-
-BattleAnim_Thunderpunch: ; c9b3c
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING
- anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
- anim_sound 0, 1, SFX_THUNDER
- anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
- anim_wait 64
- anim_ret
-; c9b53
-
-BattleAnim_Thundershock: ; c9b53
- anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2
- anim_wait 16
- anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
- anim_wait 96
- anim_ret
-; c9b66
-
-BattleAnim_Thunderbolt: ; c9b66
- anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
- anim_wait 16
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
- anim_wait 64
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_wait 64
- anim_ret
-; c9b84
-
-BattleAnim_ThunderWave: ; c9b84
- anim_1gfx ANIM_GFX_LIGHTNING
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0
- anim_wait 20
- anim_bgp $1b
- anim_incobj 1
- anim_wait 96
- anim_ret
-; c9b9a
-
-BattleAnim_Thunder: ; c9b9a
- anim_1gfx ANIM_GFX_LIGHTNING
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
- anim_sound 0, 1, SFX_THUNDER
- anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0
- anim_wait 16
- anim_sound 0, 1, SFX_THUNDER
- anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
- anim_wait 16
- anim_sound 0, 1, SFX_THUNDER
- anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0
- anim_wait 48
- anim_ret
-; c9bbd
-
-BattleAnim_RazorWind: ; c9bbd
- anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5
- anim_1gfx ANIM_GFX_WHIP
- anim_bgeffect ANIM_BG_06, $0, $1, $0
-.loop
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3
- anim_wait 4
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3
- anim_wait 4
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3
- anim_wait 4
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83
- anim_wait 4
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83
- anim_wait 4
- anim_loop 3, .loop
- anim_wait 24
- anim_ret
-; c9c00
-
-BattleAnim_Sonicboom_JP: ; c9c00
- anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
-.loop
- anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3
- anim_wait 8
- anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2
- anim_wait 8
- anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4
- anim_wait 8
- anim_loop 2, .loop
- anim_wait 32
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; c9c36
-
-BattleAnim_Gust: ; c9c36
-BattleAnim_Sonicboom: ; c9c36
- anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
-.loop
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0
- anim_wait 6
- anim_loop 9, .loop
- anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
- anim_wait 8
- anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
- anim_wait 16
- anim_ret
-; c9c53
-
-BattleAnim_Selfdestruct: ; c9c53
- anim_1gfx ANIM_GFX_EXPLOSION
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
- anim_if_param_equal $1, .loop
- anim_call BattleAnim_Selfdestruct_branch_cbb8f
- anim_wait 16
- anim_ret
-; c9c63
-
-.loop
- anim_call BattleAnim_Selfdestruct_branch_cbb62
- anim_wait 5
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_loop 2, .loop
- anim_wait 16
- anim_ret
-; c9c72
-
-BattleAnim_Explosion: ; c9c72
- anim_1gfx ANIM_GFX_EXPLOSION
- anim_bgeffect ANIM_BG_1F, $60, $4, $10
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
- anim_if_param_equal $1, .loop
- anim_call BattleAnim_Explosion_branch_cbb8f
- anim_wait 16
- anim_ret
-; c9c87
-
-.loop
- anim_call BattleAnim_Explosion_branch_cbb62
- anim_wait 5
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_loop 2, .loop
- anim_wait 16
- anim_ret
-; c9c96
-
-BattleAnim_Acid: ; c9c96
- anim_1gfx ANIM_GFX_POISON
- anim_call BattleAnim_Acid_branch_cbc35
- anim_wait 64
- anim_ret
-; c9c9d
-
-BattleAnim_RockThrow: ; c9c9d
- anim_1gfx ANIM_GFX_ROCKS
- anim_bgeffect ANIM_BG_1F, $60, $1, $0
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
- anim_wait 2
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
- anim_wait 2
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
- anim_wait 2
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
- anim_wait 2
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
- anim_wait 96
- anim_ret
-; c9cd2
-
-BattleAnim_RockSlide: ; c9cd2
- anim_1gfx ANIM_GFX_ROCKS
- anim_bgeffect ANIM_BG_1F, $c0, $1, $0
-.loop
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
- anim_wait 4
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
- anim_wait 4
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
- anim_wait 4
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
- anim_wait 4
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
- anim_wait 16
- anim_loop 4, .loop
- anim_wait 96
- anim_ret
-; c9d0c
-
-BattleAnim_Sing: ; c9d0c
- anim_1gfx ANIM_GFX_NOISE
- anim_sound 16, 2, SFX_SING
-.loop
- anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
- anim_wait 8
- anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1
- anim_wait 8
- anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
- anim_wait 8
- anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
- anim_wait 8
- anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
- anim_wait 8
- anim_loop 4, .loop
- anim_wait 64
- anim_ret
-; c9d35
-
-BattleAnim_Poisonpowder: ; c9d35
-BattleAnim_SleepPowder: ; c9d35
-BattleAnim_Spore: ; c9d35
-BattleAnim_StunSpore: ; c9d35
- anim_1gfx ANIM_GFX_POWDER
-.loop
- anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0
- anim_wait 4
- anim_loop 2, .loop
- anim_wait 96
- anim_ret
-; c9d6a
-
-BattleAnim_HyperBeam: ; c9d6a
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_1F, $30, $4, $10
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_HyperBeam_branch_cbb39
- anim_wait 48
- anim_ret
-; c9d80
-
-BattleAnim_AuroraBeam: ; c9d80
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_wait 64
- anim_call BattleAnim_AuroraBeam_branch_cbb39
- anim_wait 48
- anim_incobj 5
- anim_wait 64
- anim_ret
-; c9d95
-
-BattleAnim_Vicegrip: ; c9d95
- anim_1gfx ANIM_GFX_CUT
- anim_sound 0, 1, SFX_VICEGRIP
- anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
- anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
- anim_wait 32
- anim_ret
-; c9da6
-
-BattleAnim_Scratch: ; c9da6
- anim_1gfx ANIM_GFX_CUT
- anim_sound 0, 1, SFX_SCRATCH
- anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
- anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
- anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
- anim_wait 32
- anim_ret
-; c9dbc
-
-BattleAnim_FurySwipes: ; c9dbc
- anim_1gfx ANIM_GFX_CUT
- anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9
- anim_sound 0, 1, SFX_SCRATCH
- anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
- anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
- anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
- anim_sound 0, 1, SFX_SCRATCH
- anim_wait 32
- anim_ret
-; c9dd9
-
-BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9
- anim_sound 0, 1, SFX_SCRATCH
- anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0
- anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0
- anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0
- anim_sound 0, 1, SFX_SCRATCH
- anim_wait 32
- anim_ret
-; c9df0
-
-BattleAnim_Cut: ; c9df0
- anim_1gfx ANIM_GFX_CUT
- anim_sound 0, 1, SFX_CUT
- anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
- anim_wait 32
- anim_ret
-; c9dfc
-
-BattleAnim_Slash: ; c9dfc
- anim_1gfx ANIM_GFX_CUT
- anim_sound 0, 1, SFX_CUT
- anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
- anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0
- anim_wait 32
- anim_ret
-; c9e0d
-
-BattleAnim_Clamp: ; c9e0d
- anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0
- anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20
- anim_wait 16
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
- anim_wait 32
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
- anim_wait 16
- anim_ret
-; c9e2e
-
-BattleAnim_Bite: ; c9e2e
- anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98
- anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18
- anim_wait 8
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
- anim_wait 16
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
- anim_wait 8
- anim_ret
-; c9e4f
-
-BattleAnim_Teleport: ; c9e4f
- anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0
- anim_wait 32
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_wait 3
- anim_incbgeffect ANIM_BG_TELEPORT
- anim_call BattleAnim_ShowMon_0
- anim_bgeffect ANIM_BG_06, $0, $1, $0
- anim_call BattleAnim_Teleport_branch_cbb12
- anim_wait 64
- anim_ret
-; c9e6f
-
-BattleAnim_Fly: ; c9e6f
- anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89
- anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 32
-BattleAnim_Fly_branch_c9e82: ; c9e82
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; c9e89
-
-BattleAnim_Fly_branch_c9e89: ; c9e89
- anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect ANIM_BG_06, $0, $1, $0
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_call BattleAnim_Fly_branch_cbb12
- anim_wait 64
- anim_ret
-; c9e9a
-
-BattleAnim_DoubleTeam: ; c9e9a
- anim_call BattleAnim_FollowPlayerHead_0
- anim_sound 0, 0, SFX_PSYBEAM
- anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0
- anim_wait 96
- anim_incbgeffect ANIM_BG_DOUBLE_TEAM
- anim_wait 24
- anim_incbgeffect ANIM_BG_DOUBLE_TEAM
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; c9eaf
-
-BattleAnim_Recover: ; c9eaf
- anim_1gfx ANIM_GFX_BUBBLE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_FULL_HEAL
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37
- anim_wait 64
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; c9eeb
-
-BattleAnim_Absorb: ; c9eeb
- anim_1gfx ANIM_GFX_CHARGE
- anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
-.loop
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
- anim_wait 6
- anim_loop 5, .loop
- anim_wait 32
- anim_ret
-; c9f13
-
-BattleAnim_MegaDrain: ; c9f13
- anim_1gfx ANIM_GFX_CHARGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1C, $0, $0, $10
- anim_setvar $0
-.loop
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3
- anim_wait 6
- anim_sound 6, 3, SFX_WATER_GUN
- anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4
- anim_wait 6
- anim_incvar
- anim_if_var_equal $7, .done
- anim_if_var_equal $2, .spawn
- anim_jump .loop
-; c9f46
-
-.spawn
- anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
- anim_jump .loop
-; c9f4e
-
-.done
- anim_wait 32
- anim_incbgeffect ANIM_BG_1C
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; c9f55
-
-BattleAnim_EggBomb: ; c9f55
- anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
- anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1
- anim_wait 128
- anim_wait 96
- anim_incobj 1
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0
- anim_wait 8
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0
- anim_wait 24
- anim_ret
-; c9f85
-
-BattleAnim_Softboiled: ; c9f85
- anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6
- anim_wait 128
- anim_incobj 2
- anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b
- anim_wait 16
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_sound 0, 0, SFX_METRONOME
-.loop
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
- anim_wait 8
- anim_loop 8, .loop
- anim_wait 128
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; c9fb5
-
-BattleAnim_FocusEnergy: ; c9fb5
-BattleAnim_RazorWind_branch_c9fb5: ; c9fb5
-BattleAnim_SkullBash_branch_c9fb5: ; c9fb5
-BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5
- anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_16, $0, $1, $40
- anim_bgeffect ANIM_BG_06, $0, $2, $0
-.loop
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
- anim_wait 2
- anim_loop 3, .loop
- anim_wait 8
- anim_incbgeffect ANIM_BG_16
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; c9ffc
-
-BattleAnim_Bide: ; c9ffc
- anim_if_param_equal $0, BattleAnim_Bide_branch_c9651
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_ESCAPE_ROPE
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_wait 72
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca014
-
-BattleAnim_Bind: ; ca014
- anim_1gfx ANIM_GFX_ROPE
- anim_sound 0, 1, SFX_BIND
- anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
- anim_wait 64
- anim_sound 0, 1, SFX_BIND
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_wait 96
- anim_ret
-; ca036
-
-BattleAnim_Wrap: ; ca036
- anim_1gfx ANIM_GFX_ROPE
- anim_sound 0, 1, SFX_BIND
- anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
- anim_wait 64
- anim_sound 0, 1, SFX_BIND
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_wait 96
- anim_ret
-; ca058
-
-BattleAnim_Confusion: ; ca058
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_1
- anim_sound 0, 1, SFX_PSYCHIC
- anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
- anim_wait 128
- anim_incbgeffect ANIM_BG_NIGHT_SHADE
- anim_call BattleAnim_ShowMon_1
- anim_ret
-; ca06c
-
-BattleAnim_Constrict: ; ca06c
- anim_1gfx ANIM_GFX_ROPE
- anim_sound 0, 1, SFX_BIND
- anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
- anim_wait 64
- anim_ret
-; ca08a
-
-BattleAnim_Earthquake: ; ca08a
- anim_bgeffect ANIM_BG_1F, $60, $4, $10
-.loop
- anim_sound 0, 1, SFX_EMBER
- anim_wait 24
- anim_loop 4, .loop
- anim_ret
-; ca098
-
-BattleAnim_Fissure: ; ca098
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_bgeffect ANIM_BG_1F, $60, $4, $0
-.loop
- anim_sound 0, 1, SFX_EMBER
- anim_wait 24
- anim_loop 4, .loop
- anim_ret
-; ca0ab
-
-BattleAnim_Growl: ; ca0ab
- anim_1gfx ANIM_GFX_NOISE
- anim_enemyfeetobj
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_cry $0
-.loop
- anim_call BattleAnim_Growl_branch_cbbbc
- anim_wait 16
- anim_loop 3, .loop
- anim_wait 9
- anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_19, $0, $0, $40
- anim_wait 64
- anim_incbgeffect ANIM_BG_19
- anim_wait 1
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 5
- anim_incobj 10
- anim_wait 8
- anim_ret
-; ca0d7
-
-BattleAnim_Roar: ; ca0d7
- anim_1gfx ANIM_GFX_NOISE
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_cry $1
-.loop
- anim_call BattleAnim_Roar_branch_cbbbc
- anim_wait 16
- anim_loop 3, .loop
- anim_wait 16
- anim_if_param_equal $0, .done
- anim_bgeffect ANIM_BG_27, $0, $0, $0
- anim_wait 64
-.done
- anim_ret
-; ca0f4
-
-BattleAnim_Supersonic: ; ca0f4
- anim_1gfx ANIM_GFX_PSYCHIC
-.loop
- anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
- anim_wait 4
- anim_loop 10, .loop
- anim_wait 64
- anim_ret
-; ca105
-
-BattleAnim_Screech: ; ca105
- anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect ANIM_BG_1F, $8, $1, $20
- anim_sound 6, 2, SFX_SCREECH
-.loop
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
- anim_wait 2
- anim_loop 2, .loop
- anim_wait 64
- anim_ret
-; ca11b
-
-BattleAnim_ConfuseRay: ; ca11b
- anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_08, $0, $4, $0
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0
- anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8
-.loop
- anim_sound 6, 2, SFX_WHIRLWIND
- anim_wait 16
- anim_loop 8, .loop
- anim_wait 32
- anim_ret
-; ca15e
-
-BattleAnim_Leer: ; ca15e
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Leer_branch_cbadc
- anim_wait 16
- anim_ret
-; ca16a
-
-BattleAnim_Reflect: ; ca16a
- anim_1gfx ANIM_GFX_REFLECT
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_wait 24
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_wait 64
- anim_ret
-; ca18e
-
-BattleAnim_LightScreen: ; ca18e
- anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_sound 0, 0, SFX_FLASH
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18
- anim_wait 4
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30
- anim_wait 4
- anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38
- anim_wait 64
- anim_ret
-; ca1d5
-
-BattleAnim_Amnesia: ; ca1d5
- anim_1gfx ANIM_GFX_STATUS
- anim_sound 0, 0, SFX_LICK
- anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2
- anim_wait 16
- anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1
- anim_wait 16
- anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0
- anim_wait 64
- anim_ret
-; ca1ed
-
-BattleAnim_DizzyPunch: ; ca1ed
- anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
- anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0
- anim_wait 16
- anim_sound 0, 1, SFX_KINESIS
- anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15
- anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa
- anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf
- anim_wait 96
- anim_ret
-; ca212
-
-BattleAnim_Rest: ; ca212
- anim_1gfx ANIM_GFX_STATUS
- anim_sound 0, 0, SFX_TAIL_WHIP
-.loop
- anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
- anim_wait 40
- anim_loop 3, .loop
- anim_wait 32
- anim_ret
-; ca223
-
-BattleAnim_AcidArmor: ; ca223
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8
- anim_sound 0, 0, SFX_MEGA_PUNCH
- anim_wait 64
- anim_incbgeffect ANIM_BG_ACID_ARMOR
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca237
-
-BattleAnim_Splash: ; ca237
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 0, SFX_VICEGRIP
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
- anim_wait 96
- anim_incbgeffect ANIM_BG_BOUNCE_DOWN
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca24b
-
-BattleAnim_Dig: ; ca24b
- anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT
- anim_if_param_equal $0, .hit
- anim_if_param_equal $2, .fail
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_DIG, $0, $1, $1
- anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0
-.loop
- anim_sound 0, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0
- anim_wait 16
- anim_loop 6, .loop
- anim_wait 32
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_wait 8
- anim_incbgeffect ANIM_BG_DIG
- anim_call BattleAnim_ShowMon_0
- anim_ret
-
-.hit
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 32
-.fail
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; ca28d
-
-BattleAnim_SandAttack: ; ca28d
- anim_1gfx ANIM_GFX_SAND
- anim_call BattleAnim_SandAttack_branch_cbc5b
- anim_ret
-; ca293
-
-BattleAnim_StringShot: ; ca293
- anim_1gfx ANIM_GFX_WEB
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1
- anim_wait 4
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1
- anim_wait 4
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
- anim_wait 4
- anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2
- anim_wait 64
- anim_ret
-; ca2d1
-
-BattleAnim_Headbutt: ; ca2d1
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $14, $2, $0
- anim_wait 32
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_HEADBUTT
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca2ef
-
-BattleAnim_Tackle: ; ca2ef
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca307
-
-BattleAnim_BodySlam: ; ca307
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
- anim_wait 32
- anim_incbgeffect ANIM_BG_BOUNCE_DOWN
- anim_wait 4
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 3
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 3
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca331
-
-BattleAnim_TakeDown: ; ca331
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 3
- anim_sound 0, 1, SFX_TACKLE
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_TACKLE
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 3
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca35c
-
-BattleAnim_DoubleEdge: ; ca35c
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 3
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0
- anim_wait 3
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca382
-
-BattleAnim_Submission: ; ca382
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_1
- anim_bgeffect ANIM_BG_26, $0, $0, $0
- anim_sound 0, 1, SFX_SUBMISSION
- anim_wait 32
- anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
- anim_wait 32
- anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0
- anim_wait 32
- anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0
- anim_wait 32
- anim_incbgeffect ANIM_BG_26
- anim_call BattleAnim_ShowMon_1
- anim_ret
-; ca3a8
-
-BattleAnim_Whirlwind: ; ca3a8
- anim_1gfx ANIM_GFX_WIND
-.loop
- anim_sound 0, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
- anim_wait 6
- anim_loop 9, .loop
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_incobj 7
- anim_incobj 8
- anim_incobj 9
- anim_sound 16, 2, SFX_WHIRLWIND
- anim_wait 128
- anim_if_param_equal $0, .done
- anim_bgeffect ANIM_BG_27, $0, $0, $0
- anim_wait 64
-.done
- anim_ret
-; ca3d8
-
-BattleAnim_Hypnosis: ; ca3d8
- anim_1gfx ANIM_GFX_PSYCHIC
-.loop
- anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
- anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2
- anim_wait 8
- anim_loop 3, .loop
- anim_wait 56
- anim_ret
-; ca3ee
-
-BattleAnim_Haze: ; ca3ee
- anim_1gfx ANIM_GFX_HAZE
- anim_sound 0, 1, SFX_SURF
-.loop
- anim_obj ANIM_OBJ_HAZE, 6, 0, 7, 0, $0
- anim_obj ANIM_OBJ_HAZE, -16, 4, 2, 0, $0
- anim_wait 12
- anim_loop 5, .loop
- anim_wait 96
- anim_ret
-; ca404
-
-BattleAnim_Mist: ; ca404
- anim_obp0 $54
- anim_1gfx ANIM_GFX_HAZE
- anim_sound 0, 0, SFX_SURF
-.loop
- anim_obj ANIM_OBJ_MIST, 6, 0, 7, 0, $0
- anim_wait 8
- anim_loop 10, .loop
- anim_wait 96
- anim_ret
-; ca417
-
-BattleAnim_Smog: ; ca417
- anim_1gfx ANIM_GFX_HAZE
- anim_sound 0, 1, SFX_BUBBLEBEAM
-.loop
- anim_obj ANIM_OBJ_SMOG, -16, 4, 2, 0, $0
- anim_wait 8
- anim_loop 10, .loop
- anim_wait 96
- anim_ret
-; ca428
-
-BattleAnim_PoisonGas: ; ca428
- anim_1gfx ANIM_GFX_HAZE
- anim_sound 16, 2, SFX_BUBBLEBEAM
-.loop
- anim_obj ANIM_OBJ_POISON_GAS, 5, 4, 10, 0, $2
- anim_wait 8
- anim_loop 10, .loop
- anim_wait 128
- anim_ret
-; ca439
-
-BattleAnim_HornAttack: ; ca439
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1
- anim_wait 16
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; ca44c
-
-BattleAnim_FuryAttack: ; ca44c
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_HORN, 9, 0, 9, 0, $2
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_HORN, 10, 0, 11, 0, $2
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_HORN, 9, 4, 10, 0, $2
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0
- anim_wait 8
- anim_ret
-; ca47d
-
-BattleAnim_HornDrill: ; ca47d
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $3
- anim_wait 8
-.loop
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0
- anim_wait 8
- anim_loop 3, .loop
- anim_ret
-; ca4b4
-
-BattleAnim_PoisonSting: ; ca4b4
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
- anim_wait 16
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; ca4c7
-
-BattleAnim_Twineedle: ; ca4c7
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
- anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14
- anim_wait 16
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
- anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
- anim_wait 16
- anim_ret
-; ca4e7
-
-BattleAnim_PinMissile: ; ca4e7
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
-.loop
- anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28
- anim_wait 8
- anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
- anim_loop 3, .loop
- anim_wait 16
- anim_ret
-; ca51a
-
-BattleAnim_SpikeCannon: ; ca51a
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
-.loop
- anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18
- anim_wait 8
- anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_POISON_STING
- anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
- anim_loop 3, .loop
- anim_wait 16
- anim_ret
-; ca54d
-
-BattleAnim_Transform: ; ca54d
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_transform
- anim_sound 0, 0, SFX_PSYBEAM
- anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
- anim_wait 48
- anim_updateactorpic
- anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
- anim_wait 48
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca564
-
-BattleAnim_PetalDance: ; ca564
- anim_sound 0, 0, SFX_MENU
- anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
-.loop
- anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0
- anim_wait 11
- anim_loop 8, .loop
- anim_wait 128
- anim_wait 64
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; ca580
-
-BattleAnim_Barrage: ; ca580
- anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
- anim_wait 36
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; ca596
-
-BattleAnim_PayDay: ; ca596
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS
- anim_sound 0, 1, SFX_POUND
- anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
- anim_wait 16
- anim_sound 0, 1, SFX_PAY_DAY
- anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1
- anim_wait 64
- anim_ret
-; ca5ac
-
-BattleAnim_Mimic: ; ca5ac
- anim_1gfx ANIM_GFX_SPEED
- anim_obp0 $fc
- anim_sound 63, 3, SFX_LICK
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30
- anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38
- anim_wait 128
- anim_wait 48
- anim_ret
-; ca5de
-
-BattleAnim_LovelyKiss: ; ca5de
- anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0
- anim_wait 32
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0
- anim_wait 40
- anim_ret
-; ca5f6
-
-BattleAnim_Bonemerang: ; ca5f6
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
- anim_sound 6, 2, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c
- anim_wait 24
- anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 24
- anim_ret
-; ca60c
-
-BattleAnim_Swift: ; ca60c
- anim_1gfx ANIM_GFX_OBJECTS
- anim_sound 6, 2, SFX_METRONOME
- anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4
- anim_wait 4
- anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4
- anim_wait 4
- anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4
- anim_wait 64
- anim_ret
-; ca624
-
-BattleAnim_Crabhammer: ; ca624
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_wait 48
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-.loop
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 12
- anim_loop 3, .loop
- anim_ret
-; ca63f
-
-BattleAnim_SkullBash: ; ca63f
- anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $14, $2, $0
- anim_wait 32
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
-.loop
- anim_sound 0, 1, SFX_HEADBUTT
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 8
- anim_loop 3, .loop
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca66a
-
-BattleAnim_Kinesis: ; ca66a
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0
- anim_wait 32
-.loop
- anim_sound 0, 0, SFX_KINESIS
- anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0
- anim_wait 32
- anim_loop 3, .loop
- anim_wait 32
- anim_sound 0, 0, SFX_KINESIS_2
- anim_wait 32
- anim_ret
-; ca68b
-
-BattleAnim_Peck: ; ca68b
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; ca6a0
-
-BattleAnim_DrillPeck: ; ca6a0
- anim_1gfx ANIM_GFX_HIT
-.loop
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0
- anim_wait 4
- anim_sound 0, 1, SFX_PECK
- anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0
- anim_wait 4
- anim_loop 5, .loop
- anim_wait 16
- anim_ret
-; ca6cc
-
-BattleAnim_Guillotine: ; ca6cc
- anim_1gfx ANIM_GFX_CUT
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_sound 0, 1, SFX_VICEGRIP
- anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0
- anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
- anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0
- anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0
- anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
- anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0
- anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
- anim_wait 32
- anim_ret
-; ca700
-
-BattleAnim_Flash: ; ca700
- anim_1gfx ANIM_GFX_SPEED
- anim_sound 0, 1, SFX_FLASH
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30
- anim_wait 4
- anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38
- anim_wait 32
- anim_ret
-; ca73c
-
-BattleAnim_Substitute: ; ca73c
- anim_sound 0, 0, SFX_SURF
- anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c
- anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e
- anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760
- anim_1gfx ANIM_GFX_SMOKE
- anim_bgeffect ANIM_BG_27, $0, $1, $0
- anim_wait 48
- anim_raisesub
- anim_obj ANIM_OBJ_BALL_POOF, 6, 0, 12, 0, $0
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; ca760
-
-BattleAnim_Substitute_branch_ca760: ; ca760
- anim_bgeffect ANIM_BG_27, $0, $1, $0
- anim_wait 48
- anim_dropsub
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; ca76e
-
-BattleAnim_Substitute_branch_ca76e: ; ca76e
- anim_bgeffect ANIM_BG_27, $0, $1, $0
- anim_wait 48
- anim_raisesub
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; ca77c
-
-BattleAnim_Substitute_branch_ca77c: ; ca77c
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_wait 48
- anim_dropsub
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 32
- anim_ret
-; ca78a
-
-BattleAnim_Minimize: ; ca78a
- anim_sound 0, 0, SFX_SURF
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_minimize
- anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
- anim_wait 48
- anim_updateactorpic
- anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
- anim_wait 48
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca7a1
-
-BattleAnim_SkyAttack: ; ca7a1
- anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5
- anim_1gfx ANIM_GFX_SKY_ATTACK
- anim_bgeffect ANIM_BG_27, $0, $1, $0
- anim_wait 32
- anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40
- anim_wait 64
- anim_incobj 1
- anim_wait 21
- anim_sound 0, 1, SFX_HYPER_BEAM
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_wait 64
- anim_incobj 1
- anim_wait 32
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 16
- anim_ret
-; ca7cc
-
-BattleAnim_NightShade: ; ca7cc
- anim_1gfx ANIM_GFX_HIT
- anim_bgp $1b
- anim_obp1 $1b
- anim_wait 32
- anim_call BattleAnim_FollowPlayerHead_1
- anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
- anim_sound 0, 1, SFX_PSYCHIC
- anim_wait 96
- anim_incbgeffect ANIM_BG_NIGHT_SHADE
- anim_call BattleAnim_ShowMon_1
- anim_ret
-; ca7e5
-
-BattleAnim_Lick: ; ca7e5
- anim_1gfx ANIM_GFX_WATER
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0
- anim_wait 64
- anim_ret
-; ca7f1
-
-BattleAnim_TriAttack: ; ca7f1
- anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING
- anim_call BattleAnim_TriAttack_branch_cbbcc
- anim_wait 16
- anim_call BattleAnim_TriAttack_branch_cbbdf
- anim_wait 16
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4
- anim_sound 0, 1, SFX_THUNDER
- anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
- anim_wait 16
- anim_ret
-; ca80c
-
-BattleAnim_Withdraw: ; ca80c
- anim_1gfx ANIM_GFX_REFLECT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50
- anim_wait 48
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_WITHDRAW, 6, 0, 11, 0, $0
- anim_wait 64
- anim_incobj 2
- anim_wait 1
- anim_incbgeffect ANIM_BG_WITHDRAW
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca829
-
-BattleAnim_Psybeam: ; ca829
- anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_08, $0, $4, $0
-.loop
- anim_sound 6, 2, SFX_PSYBEAM
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4
- anim_wait 4
- anim_loop 10, .loop
- anim_wait 48
- anim_ret
-; ca844
-
-BattleAnim_DreamEater: ; ca844
- anim_1gfx ANIM_GFX_BUBBLE
- anim_bgp $1b
- anim_obp0 $27
- anim_sound 6, 3, SFX_WATER_GUN
- anim_call BattleAnim_DreamEater_branch_cbab3
- anim_wait 128
- anim_wait 48
- anim_ret
-; ca853
-
-BattleAnim_LeechLife: ; ca853
- anim_1gfx ANIM_GFX_BUBBLE
- anim_sound 6, 3, SFX_WATER_GUN
- anim_call BattleAnim_LeechLife_branch_cbab3
- anim_wait 128
- anim_wait 48
- anim_ret
-; ca85e
-
-BattleAnim_Harden: ; ca85e
- anim_1gfx ANIM_GFX_REFLECT
- anim_obp0 $0
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_call BattleAnim_Harden_branch_cbc43
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca86c
-
-BattleAnim_Psywave: ; ca86c
- anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
-.loop
- anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2
- anim_wait 8
- anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3
- anim_wait 8
- anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4
- anim_wait 8
- anim_loop 3, .loop
- anim_wait 32
- anim_incbgeffect ANIM_BG_PSYCHIC
- anim_wait 4
- anim_ret
-; ca897
-
-BattleAnim_Glare: ; ca897
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Glare_branch_cbadc
- anim_wait 16
- anim_ret
-; ca8a8
-
-BattleAnim_Thrash: ; ca8a8
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_POUND
- anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
- anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
- anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0
- anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
- anim_wait 16
- anim_ret
-; ca8d5
-
-BattleAnim_Growth: ; ca8d5
- anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
- anim_1gfx ANIM_GFX_CHARGE
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30
- anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38
- anim_wait 64
- anim_ret
-; ca909
-
-BattleAnim_Conversion2: ; ca909
- anim_1gfx ANIM_GFX_EXPLOSION
- anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30
- anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38
- anim_wait 128
- anim_wait 48
- anim_ret
-; ca939
-
-BattleAnim_Smokescreen: ; ca939
- anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
- anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c
- anim_wait 24
- anim_incobj 1
- anim_sound 0, 1, SFX_BALL_POOF
- anim_obj ANIM_OBJ_BALL_POOF, 13, 4, 8, 6, $10
- anim_wait 8
-.loop
- anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
- anim_wait 8
- anim_loop 5, .loop
- anim_wait 128
- anim_ret
-; ca960
-
-BattleAnim_Strength: ; ca960
- anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_20, $10, $1, $20
- anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1
- anim_wait 128
- anim_incobj 1
- anim_wait 20
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
- anim_wait 16
- anim_ret
-; ca97e
-
-BattleAnim_SwordsDance: ; ca97e
- anim_1gfx ANIM_GFX_WHIP
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0
- anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d
- anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a
- anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27
- anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34
- anim_wait 56
- anim_ret
-; ca99e
-
-BattleAnim_QuickAttack: ; ca99e
- anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
- anim_sound 0, 0, SFX_MENU
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
- anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
- anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
- anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
- anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
- anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
- anim_wait 12
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 16
- anim_ret
-; ca9d8
-
-BattleAnim_Meditate: ; ca9d8
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_PSYBEAM
- anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
- anim_wait 48
- anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
- anim_wait 48
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; ca9ed
-
-BattleAnim_Sharpen: ; ca9ed
- anim_1gfx ANIM_GFX_SHAPES
- anim_obp0 $e4
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_SHARPEN
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0
- anim_wait 96
- anim_incobj 2
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; caa0a
-
-BattleAnim_DefenseCurl: ; caa0a
- anim_1gfx ANIM_GFX_SHAPES
- anim_obp0 $e4
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_SHARPEN
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0
- anim_wait 96
- anim_incobj 2
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; caa27
-
-BattleAnim_SeismicToss: ; caa27
- anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_20, $10, $1, $20
- anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1
- anim_wait 128
- anim_incobj 1
- anim_wait 20
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
- anim_wait 16
- anim_ret
-; caa45
-
-BattleAnim_Rage: ; caa45
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_sound 0, 0, SFX_RAGE
- anim_wait 72
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
- anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
- anim_wait 16
- anim_ret
-; caa74
-
-BattleAnim_Agility: ; caa74
- anim_1gfx ANIM_GFX_WIND
- anim_obp0 $fc
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
- anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
- anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
- anim_wait 4
- anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
- anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
- anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
- anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
-.loop
- anim_sound 0, 0, SFX_RAZOR_WIND
- anim_wait 4
- anim_loop 18, .loop
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; caab2
-
-BattleAnim_BoneClub: ; caab2
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2
- anim_wait 32
- anim_sound 0, 1, SFX_BONE_CLUB
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; caac5
-
-BattleAnim_Barrier: ; caac5
- anim_1gfx ANIM_GFX_REFLECT
- anim_enemyfeetobj
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_wait 8
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_wait 32
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_wait 32
- anim_ret
-; caae1
-
-BattleAnim_Waterfall: ; caae1
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 16
- anim_call BattleAnim_ShowMon_0
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 3
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 3
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
- anim_wait 3
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0
- anim_wait 3
- anim_sound 0, 1, SFX_LICK
- anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0
- anim_wait 8
- anim_ret
-; cab1d
-
-BattleAnim_PsychicM: ; cab1d
- anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
-.loop
- anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
- anim_wait 8
- anim_loop 8, .loop
- anim_wait 96
- anim_incbgeffect ANIM_BG_PSYCHIC
- anim_wait 4
- anim_ret
-; cab3b
-
-BattleAnim_Sludge: ; cab3b
- anim_1gfx ANIM_GFX_POISON
- anim_call BattleAnim_Sludge_branch_cbc15
- anim_wait 56
- anim_ret
-; cab42
-
-BattleAnim_Toxic: ; cab42
- anim_1gfx ANIM_GFX_POISON
- anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
- anim_call BattleAnim_Toxic_branch_cbc35
- anim_wait 32
- anim_call BattleAnim_Toxic_branch_cbc15
- anim_wait 64
- anim_ret
-; cab52
-
-BattleAnim_Metronome: ; cab52
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED
- anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0
-.loop
- anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0
- anim_wait 8
- anim_loop 5, .loop
- anim_wait 48
- anim_ret
-; cab69
-
-BattleAnim_Counter: ; cab69
- anim_1gfx ANIM_GFX_HIT
-.loop
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound 0, 1, SFX_POUND
- anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
- anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
- anim_wait 6
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0
- anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
- anim_wait 6
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound 0, 1, SFX_MEGA_KICK
- anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0
- anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0
- anim_wait 6
- anim_loop 3, .loop
- anim_wait 16
- anim_ret
-; cabaa
-
-BattleAnim_LowKick: ; cabaa
- anim_1gfx ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0
- anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0
- anim_wait 6
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0
- anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0
- anim_wait 6
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0
- anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0
- anim_wait 16
- anim_ret
-; cabe6
-
-BattleAnim_WingAttack: ; cabe6
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
- anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
- anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
- anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
- anim_wait 16
- anim_ret
-; cac13
-
-BattleAnim_Slam: ; cac13
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
- anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0
- anim_wait 16
- anim_ret
-; cac24
-
-BattleAnim_Disable: ; cac24
- anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0
- anim_wait 16
- anim_sound 0, 1, SFX_BIND
- anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42
- anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2
- anim_wait 96
- anim_ret
-; cac41
-
-BattleAnim_TailWhip: ; cac41
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_sound 0, 0, SFX_TAIL_WHIP
- anim_bgeffect ANIM_BG_26, $0, $1, $0
- anim_wait 32
- anim_incbgeffect ANIM_BG_26
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cac55
-
-BattleAnim_Struggle: ; cac55
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 1, SFX_POUND
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; cac61
-
-BattleAnim_Sketch: ; cac61
- anim_1gfx ANIM_GFX_OBJECTS
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_sound 0, 0, SFX_SKETCH
- anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0
- anim_wait 80
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_wait 1
- anim_ret
-; cac7b
-
-BattleAnim_TripleKick: ; cac7b
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95
- anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5
- anim_sound 0, 1, SFX_MEGA_KICK
- anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
- anim_wait 8
- anim_ret
-; cac95
-
-BattleAnim_TripleKick_branch_cac95: ; cac95
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
- anim_wait 8
- anim_ret
-; caca5
-
-BattleAnim_TripleKick_branch_caca5: ; caca5
- anim_sound 0, 1, SFX_DOUBLE_KICK
- anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0
- anim_wait 8
- anim_ret
-; cacb5
-
-BattleAnim_Thief: ; cacb5
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 16
- anim_sound 0, 1, SFX_THIEF
- anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0
- anim_wait 16
- anim_call BattleAnim_ShowMon_0
- anim_wait 1
- anim_1gfx ANIM_GFX_STATUS
- anim_sound 0, 1, SFX_THIEF_2
- anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1
- anim_wait 64
- anim_ret
-; cacd9
-
-BattleAnim_SpiderWeb: ; cacd9
- anim_1gfx ANIM_GFX_WEB
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0
- anim_sound 6, 2, SFX_SPIDER_WEB
- anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
- anim_wait 64
- anim_ret
-; cacfb
-
-BattleAnim_MindReader: ; cacfb
- anim_1gfx ANIM_GFX_MISC
- anim_sound 0, 1, SFX_MIND_READER
-.loop
- anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3
- anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12
- anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20
- anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31
- anim_wait 16
- anim_loop 2, .loop
- anim_wait 32
- anim_ret
-; cad1b
-
-BattleAnim_Nightmare: ; cad1b
- anim_1gfx ANIM_GFX_ANGELS
- anim_bgp $1b
- anim_obp0 $f
- anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0
- anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0
- anim_sound 0, 1, SFX_NIGHTMARE
- anim_wait 96
- anim_ret
-; cad30
-
-BattleAnim_FlameWheel: ; cad30
- anim_1gfx ANIM_GFX_FIRE
-.loop
- anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0
- anim_wait 6
- anim_loop 8, .loop
- anim_wait 96
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
- anim_wait 8
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 4
- anim_incobj 9
- anim_wait 8
- anim_ret
-; cad6b
-
-BattleAnim_Snore: ; cad6b
- anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
- anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
- anim_wait 32
- anim_bgeffect ANIM_BG_1F, $60, $2, $0
- anim_sound 0, 0, SFX_SNORE
-.loop
- anim_call BattleAnim_Snore_branch_cbbbc
- anim_wait 16
- anim_loop 2, .loop
- anim_wait 8
- anim_ret
-; cad86
-
-BattleAnim_Curse: ; cad86
- anim_if_param_equal $1, .NotGhost
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0
- anim_sound 0, 0, SFX_CURSE
- anim_wait 32
- anim_incobj 1
- anim_wait 12
- anim_sound 0, 0, SFX_POISON_STING
- anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
- anim_wait 16
- anim_ret
-; cada3
-
-.NotGhost: ; cada3
- anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_19, $0, $1, $40
- anim_sound 0, 0, SFX_SHARPEN
- anim_wait 64
- anim_incbgeffect ANIM_BG_19
- anim_wait 1
- anim_bgeffect ANIM_BG_16, $0, $1, $40
-.loop
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
- anim_wait 2
- anim_loop 3, .loop
- anim_wait 8
- anim_incbgeffect ANIM_BG_16
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cadf1
-
-BattleAnim_Flail: ; cadf1
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_sound 0, 0, SFX_SUBMISSION
- anim_bgeffect ANIM_BG_2C, $0, $1, $0
- anim_wait 8
- anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 8
- anim_incbgeffect ANIM_BG_2C
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cae17
-
-BattleAnim_Conversion: ; cae17
- anim_1gfx ANIM_GFX_EXPLOSION
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30
- anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38
- anim_wait 128
- anim_ret
-; cae4b
-
-BattleAnim_Aeroblast: ; cae4b
- anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST
- anim_bgp $1b
- anim_bgeffect ANIM_BG_1F, $50, $4, $10
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_sound 0, 0, SFX_AEROBLAST
- anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0
- anim_wait 32
- anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
- anim_wait 2
- anim_sound 0, 1, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
- anim_wait 2
- anim_sound 0, 1, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
- anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
- anim_wait 48
- anim_ret
-; cae84
-
-BattleAnim_CottonSpore: ; cae84
- anim_obp0 $54
- anim_1gfx ANIM_GFX_MISC
- anim_sound 0, 1, SFX_POWDER
-.loop ; cae8b
- anim_obj ANIM_OBJ_COTTON_SPORE, -16, 4, 4, 0, $0
- anim_wait 8
- anim_loop 5, .loop
- anim_wait 96
- anim_ret
-; cae97
-
-BattleAnim_Reversal: ; cae97
- anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0
- anim_wait 2
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0
- anim_wait 2
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0
- anim_wait 2
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0
- anim_wait 2
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0
- anim_wait 2
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0
- anim_wait 24
- anim_ret
-; caed6
-
-BattleAnim_Spite: ; caed6
- anim_1gfx ANIM_GFX_ANGELS
- anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0
- anim_sound 0, 1, SFX_SPITE
- anim_wait 96
- anim_ret
-; caee2
-
-BattleAnim_PowderSnow: ; caee2
- anim_1gfx ANIM_GFX_ICE
-.loop ; caee4
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23
- anim_wait 2
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24
- anim_wait 2
- anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23
- anim_wait 2
- anim_loop 2, .loop
- anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
- anim_wait 40
- anim_call BattleAnim_PowderSnow_branch_cbbdf
- anim_wait 32
- anim_ret
-; caf0e
-
-BattleAnim_Protect: ; caf0e
- anim_1gfx ANIM_GFX_OBJECTS
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0
- anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d
- anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a
- anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27
- anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34
- anim_sound 0, 0, SFX_PROTECT
- anim_wait 96
- anim_ret
-; caf33
-
-BattleAnim_MachPunch: ; caf33
- anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
- anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
- anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
- anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
- anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
- anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
- anim_wait 12
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
- anim_wait 6
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 16
- anim_ret
-; caf73
-
-BattleAnim_ScaryFace: ; caf73
- anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_ScaryFace_branch_cbadc
- anim_wait 64
- anim_ret
-; caf84
-
-BattleAnim_FaintAttack: ; caf84
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 0, SFX_CURSE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1D, $0, $1, $80
- anim_wait 96
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
- anim_wait 32
- anim_incbgeffect ANIM_BG_1D
- anim_call BattleAnim_ShowMon_0
- anim_wait 4
- anim_ret
-; cafb4
-
-BattleAnim_SweetKiss: ; cafb4
- anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0
- anim_sound 0, 1, SFX_SWEET_KISS
- anim_wait 32
- anim_sound 0, 1, SFX_SWEET_KISS_2
- anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0
- anim_wait 40
- anim_ret
-; cafcf
-
-BattleAnim_BellyDrum: ; cafcf
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 24
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 24
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 24
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_sound 0, 0, SFX_BELLY_DRUM
- anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
- anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
- anim_wait 12
- anim_ret
-; cb051
-
-BattleAnim_SludgeBomb: ; cb051
- anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON
- anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
- anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
- anim_wait 36
- anim_call BattleAnim_SludgeBomb_branch_cbc15
- anim_wait 64
- anim_ret
-; cb067
-
-BattleAnim_MudSlap: ; cb067
- anim_1gfx ANIM_GFX_SAND
- anim_obp0 $fc
- anim_call BattleAnim_MudSlap_branch_cbc5b
- anim_ret
-; cb06f
-
-BattleAnim_Octazooka: ; cb06f
- anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
- anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4
- anim_wait 16
- anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10
- anim_wait 8
- anim_if_param_equal $0, .done
-.loop
- anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
- anim_wait 8
- anim_loop 5, .loop
- anim_wait 128
-.done
- anim_ret
-; cb092
-
-BattleAnim_Spikes: ; cb092
- anim_1gfx ANIM_GFX_MISC
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20
- anim_wait 8
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30
- anim_wait 8
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28
- anim_wait 64
- anim_ret
-; cb0b0
-
-BattleAnim_ZapCannon: ; cb0b0
- anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_bgp $1b
- anim_obp0 $30
- anim_sound 6, 2, SFX_ZAP_CANNON
- anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2
- anim_wait 40
- anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
- anim_wait 16
- anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
- anim_wait 128
- anim_ret
-; cb0d0
-
-BattleAnim_Foresight: ; cb0d0
- anim_1gfx ANIM_GFX_SHINE
- anim_call BattleAnim_FollowEnemyFeet_1
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 1, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0
- anim_wait 24
- anim_bgeffect ANIM_BG_19, $0, $0, $40
- anim_wait 64
- anim_incbgeffect ANIM_BG_19
- anim_call BattleAnim_ShowMon_1
- anim_wait 8
- anim_ret
-; cb0f0
-
-BattleAnim_DestinyBond: ; cb0f0
- anim_1gfx ANIM_GFX_ANGELS
- anim_bgp $1b
- anim_obp0 $0
- anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104
- anim_sound 6, 2, SFX_WHIRLWIND
- anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2
- anim_wait 128
- anim_ret
-; cb104
-
-BattleAnim_DestinyBond_branch_cb104: ; cb104
- anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0
- anim_sound 0, 1, SFX_KINESIS
- anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
- anim_wait 32
- anim_ret
-; cb113
-
-BattleAnim_PerishSong: ; cb113
- anim_1gfx ANIM_GFX_NOISE
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_sound 0, 2, SFX_PERISH_SONG
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30
- anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38
- anim_wait 112
- anim_ret
-; cb14c
-
-BattleAnim_IcyWind: ; cb14c
- anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_playerheadobj
- anim_sound 0, 0, SFX_PSYCHIC
-.loop
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
- anim_wait 8
- anim_loop 2, .loop
- anim_wait 16
- anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
- anim_wait 6
- anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
- anim_wait 64
- anim_incbgeffect ANIM_BG_NIGHT_SHADE
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 4
- anim_incobj 7
- anim_wait 1
- anim_ret
-; cb18c
-
-BattleAnim_Detect: ; cb18c
- anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 0, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0
- anim_wait 24
- anim_ret
-; cb19d
-
-BattleAnim_BoneRush: ; cb19d
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_sound 0, 1, SFX_BONE_CLUB
- anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2
- anim_wait 16
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
- anim_wait 16
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0
- anim_wait 16
- anim_ret
-; cb1bc
-
-BattleAnim_LockOn: ; cb1bc
- anim_1gfx ANIM_GFX_MISC
- anim_sound 0, 1, SFX_MIND_READER
-.loop
- anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3
- anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12
- anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20
- anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31
- anim_wait 16
- anim_loop 2, .loop
- anim_wait 32
- anim_ret
-; cb1dc
-
-BattleAnim_Outrage: ; cb1dc
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_sound 0, 0, SFX_OUTRAGE
- anim_wait 72
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
- anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
- anim_wait 16
- anim_ret
-; cb210
-
-BattleAnim_Sandstorm: ; cb210
- anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
- anim_wait 8
- anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
-.loop
- anim_sound 0, 1, SFX_MENU
- anim_wait 8
- anim_loop 16, .loop
- anim_wait 8
- anim_ret
-; cb22d
-
-BattleAnim_GigaDrain: ; cb22d
- anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1C, $0, $0, $10
- anim_sound 6, 3, SFX_GIGA_DRAIN
- anim_call BattleAnim_GigaDrain_branch_cbab3
- anim_wait 48
- anim_wait 128
- anim_incbgeffect ANIM_BG_1C
- anim_call BattleAnim_ShowMon_0
- anim_wait 1
- anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect ANIM_BG_07, $0, $0, $0
-.loop
- anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
- anim_wait 5
- anim_loop 2, .loop
- anim_wait 32
- anim_ret
-; cb274
-
-BattleAnim_Endure: ; cb274
- anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_bgeffect ANIM_BG_07, $0, $2, $0
-.loop
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
- anim_wait 2
- anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
- anim_wait 2
- anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
- anim_wait 2
- anim_loop 5, .loop
- anim_wait 8
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb2bb
-
-BattleAnim_Charm: ; cb2bb
- anim_1gfx ANIM_GFX_OBJECTS
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_26, $0, $1, $0
- anim_sound 0, 0, SFX_ATTRACT
- anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0
- anim_wait 32
- anim_incbgeffect ANIM_BG_26
- anim_call BattleAnim_ShowMon_0
- anim_wait 4
- anim_ret
-; cb2d5
-
-BattleAnim_Rollout: ; cb2d5
- anim_1gfx ANIM_GFX_HIT
- anim_sound 0, 0, SFX_SPARK
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_2E, $60, $1, $1
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb2f5
-
-BattleAnim_FalseSwipe: ; cb2f5
- anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 1, SFX_CUT
- anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
- anim_wait 4
- anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0
- anim_wait 32
- anim_ret
-; cb30d
-
-BattleAnim_Swagger: ; cb30d
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
-.loop
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44
- anim_wait 32
- anim_loop 2, .loop
- anim_wait 32
- anim_sound 0, 1, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0
- anim_wait 40
- anim_ret
-; cb328
-
-BattleAnim_MilkDrink: ; cb328
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0
- anim_wait 16
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_sound 0, 0, SFX_MILK_DRINK
-.loop
- anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
- anim_wait 8
- anim_loop 8, .loop
- anim_wait 128
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb34d
-
-BattleAnim_Spark: ; cb34d
- anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_sound 0, 0, SFX_ZAP_CANNON
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0
- anim_wait 24
- anim_setobj $1, $3
- anim_wait 1
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_sound 0, 0, SFX_SPARK
- anim_wait 16
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 4
- anim_incobj 2
- anim_wait 1
- anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
- anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
- anim_wait 32
- anim_ret
-; cb386
-
-BattleAnim_FuryCutter: ; cb386
- anim_1gfx ANIM_GFX_CUT
-.loop
- anim_sound 0, 1, SFX_CUT
- anim_if_param_and %00000001, .obj1
- anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
- anim_jump .okay
-
-.obj1
- anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0
-.okay
- anim_wait 16
- anim_jumpuntil .loop
- anim_ret
-; cb3a1
-
-BattleAnim_SteelWing: ; cb3a1
- anim_1gfx ANIM_GFX_REFLECT
- anim_obp0 $0
- anim_sound 0, 0, SFX_RAGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_call BattleAnim_SteelWing_branch_cbc43
- anim_call BattleAnim_ShowMon_0
- anim_1gfx ANIM_GFX_HIT
- anim_resetobp0
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
- anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
- anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_WING_ATTACK
- anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
- anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
- anim_wait 16
- anim_ret
-; cb3df
-
-BattleAnim_MeanLook: ; cb3df
- anim_1gfx ANIM_GFX_PSYCHIC
- anim_obp0 $e0
- anim_sound 0, 1, SFX_MEAN_LOOK
- anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0
- anim_wait 128
- anim_ret
-; cb405
-
-BattleAnim_Attract: ; cb405
- anim_1gfx ANIM_GFX_OBJECTS
-.loop
- anim_sound 0, 0, SFX_ATTRACT
- anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2
- anim_wait 8
- anim_loop 5, .loop
- anim_wait 128
- anim_wait 64
- anim_ret
-; cb417
-
-BattleAnim_SleepTalk: ; cb417
- anim_1gfx ANIM_GFX_STATUS
-.loop
- anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
- anim_wait 40
- anim_loop 2, .loop
- anim_wait 32
- anim_ret
-; cb428
-
-BattleAnim_HealBell: ; cb428
- anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
- anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0
- anim_wait 32
-.loop
- anim_sound 0, 0, SFX_HEAL_BELL
- anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
- anim_wait 8
- anim_sound 0, 0, SFX_HEAL_BELL
- anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1
- anim_wait 8
- anim_sound 0, 0, SFX_HEAL_BELL
- anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
- anim_wait 8
- anim_sound 0, 0, SFX_HEAL_BELL
- anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
- anim_wait 8
- anim_sound 0, 0, SFX_HEAL_BELL
- anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
- anim_wait 8
- anim_loop 4, .loop
- anim_wait 64
- anim_ret
-; cb464
-
-BattleAnim_Return: ; cb464
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
- anim_sound 0, 0, SFX_RETURN
- anim_wait 64
- anim_incbgeffect ANIM_BG_BOUNCE_DOWN
- anim_wait 32
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb488
-
-BattleAnim_Present: ; cb488
- anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
- anim_sound 0, 1, SFX_PRESENT
- anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c
- anim_wait 56
- anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0
- anim_wait 48
- anim_incobj 2
- anim_if_param_equal $3, .heal
- anim_incobj 1
- anim_wait 1
- anim_1gfx ANIM_GFX_EXPLOSION
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
-.loop
- anim_call BattleAnim_Present_branch_cbb8f
- anim_wait 16
- anim_jumpuntil .loop
- anim_ret
-
-.heal
- anim_sound 0, 1, SFX_METRONOME
-.loop2
- anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24
- anim_wait 8
- anim_loop 8, .loop2
- anim_wait 128
- anim_ret
-; cb4c1
-
-BattleAnim_Frustration: ; cb4c1
- anim_1gfx ANIM_GFX_MISC
- anim_sound 0, 0, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0
- anim_wait 40
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_26, $0, $1, $0
- anim_wait 8
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
- anim_wait 8
- anim_incbgeffect ANIM_BG_26
- anim_wait 1
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb4f9
-
-BattleAnim_Safeguard: ; cb4f9
- anim_1gfx ANIM_GFX_MISC
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0
- anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d
- anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a
- anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27
- anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34
- anim_sound 0, 0, SFX_PROTECT
- anim_wait 96
- anim_ret
-; cb51e
-
-BattleAnim_PainSplit: ; cb51e
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_TACKLE
- anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0
- anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_wait 1
- anim_ret
-; cb53d
-
-BattleAnim_SacredFire: ; cb53d
- anim_1gfx ANIM_GFX_FIRE
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
-.loop
- anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0
- anim_wait 8
- anim_loop 8, .loop
- anim_wait 96
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
- anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
- anim_wait 8
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 4
- anim_incobj 9
- anim_wait 8
- anim_ret
-; cb57d
-
-BattleAnim_Magnitude: ; cb57d
- anim_1gfx ANIM_GFX_ROCKS
-.loop
- anim_bgeffect ANIM_BG_1F, $e, $4, $0
- anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
- anim_wait 2
- anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30
- anim_wait 2
- anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
- anim_wait 2
- anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40
- anim_wait 2
- anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
- anim_wait 2
- anim_jumpuntil .loop
- anim_wait 96
- anim_ret
-; cb5aa
-
-BattleAnim_Dynamicpunch: ; cb5aa
- anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
- anim_wait 16
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
- anim_call BattleAnim_Dynamicpunch_branch_cbb8f
- anim_wait 16
- anim_ret
-; cb5c0
-
-BattleAnim_Megahorn: ; cb5c0
- anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_wait 48
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
- anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1
- anim_sound 0, 1, SFX_HORN_ATTACK
- anim_wait 16
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; cb5de
-
-BattleAnim_Dragonbreath: ; cb5de
- anim_1gfx ANIM_GFX_FIRE
- anim_sound 6, 2, SFX_EMBER
-.loop
- anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4
- anim_wait 4
- anim_loop 10, .loop
- anim_wait 64
- anim_ret
-; cb5ef
-
-BattleAnim_BatonPass: ; cb5ef
- anim_1gfx ANIM_GFX_MISC
- anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20
- anim_sound 0, 0, SFX_BATON_PASS
- anim_call BattleAnim_BatonPass_branch_c9486
- anim_wait 64
- anim_ret
-; cb5fe
-
-BattleAnim_Encore: ; cb5fe
- anim_1gfx ANIM_GFX_OBJECTS
- anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90
- anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10
- anim_sound 0, 0, SFX_ENCORE
- anim_wait 16
- anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c
- anim_wait 32
- anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34
- anim_wait 16
- anim_ret
-; cb61b
-
-BattleAnim_Pursuit: ; cb61b
- anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b
- anim_sound 0, 1, SFX_COMET_PUNCH
- anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
- anim_wait 16
- anim_ret
-; cb62b
-
-BattleAnim_Pursuit_branch_cb62b: ; cb62b
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
- anim_wait 4
- anim_call BattleAnim_FollowEnemyFeet_1
- anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0
- anim_wait 64
- anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1
- anim_sound 0, 1, SFX_BALL_POOF
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
- anim_wait 64
- anim_incobj 3
- anim_wait 16
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0
- anim_bgeffect ANIM_BG_2D, $0, $0, $0
- anim_wait 16
- anim_call BattleAnim_ShowMon_1
- anim_wait 1
- anim_ret
-; cb65e
-
-BattleAnim_RapidSpin: ; cb65e
- anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
- anim_obp0 $e4
-.loop
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0
- anim_wait 2
- anim_loop 5, .loop
- anim_wait 24
- anim_call BattleAnim_FollowPlayerHead_0
- anim_bgeffect ANIM_BG_25, $0, $1, $0
- anim_wait 4
- anim_resetobp0
- anim_sound 0, 1, SFX_MEGA_KICK
- anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 4
- anim_incobj 6
- anim_wait 1
- anim_ret
-; cb68e
-
-BattleAnim_SweetScent: ; cb68e
- anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
- anim_sound 0, 0, SFX_SWEET_SCENT
- anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
- anim_wait 2
- anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
- anim_wait 96
- anim_obp0 $54
- anim_sound 0, 1, SFX_SWEET_SCENT_2
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
- anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
- anim_wait 128
- anim_ret
-; cb6b6
-
-BattleAnim_IronTail: ; cb6b6
- anim_1gfx ANIM_GFX_REFLECT
- anim_obp0 $0
- anim_sound 0, 0, SFX_RAGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_call BattleAnim_IronTail_branch_cbc43
- anim_wait 4
- anim_1gfx ANIM_GFX_HIT
- anim_resetobp0
- anim_bgeffect ANIM_BG_26, $0, $1, $0
- anim_wait 16
- anim_sound 0, 1, SFX_MEGA_KICK
- anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
- anim_wait 16
- anim_incbgeffect ANIM_BG_26
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cb6dc
-
-BattleAnim_MetalClaw: ; cb6dc
- anim_1gfx ANIM_GFX_REFLECT
- anim_obp0 $0
- anim_sound 0, 0, SFX_RAGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_call BattleAnim_MetalClaw_branch_cbc43
- anim_call BattleAnim_ShowMon_0
- anim_1gfx ANIM_GFX_CUT
- anim_resetobp0
- anim_sound 0, 1, SFX_SCRATCH
- anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
- anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
- anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
- anim_wait 32
- anim_ret
-; cb703
-
-BattleAnim_VitalThrow: ; cb703
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_2F, $0, $1, $0
- anim_wait 16
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0
- anim_wait 8
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0
- anim_wait 8
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0
- anim_wait 8
- anim_incbgeffect ANIM_BG_2F
- anim_wait 16
- anim_call BattleAnim_ShowMon_0
- anim_sound 0, 1, SFX_MEGA_PUNCH
- anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0
- anim_wait 16
- anim_ret
-; cb739
-
-BattleAnim_MorningSun: ; cb739
- anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 0, SFX_MORNING_SUN
-.loop
- anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88
- anim_wait 6
- anim_loop 5, .loop
- anim_wait 32
- anim_if_param_equal 0, .zero
- anim_call BattleAnim_MorningSun_branch_cbc6a
- anim_ret
-; cb756
-
-.zero
- anim_call BattleAnim_MorningSun_branch_cbc80
- anim_ret
-; cb75a
-
-BattleAnim_Synthesis: ; cb75a
- anim_1gfx ANIM_GFX_SHINE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_sound 0, 0, SFX_OUTRAGE
- anim_wait 72
- anim_incbgeffect ANIM_BG_18
- anim_call BattleAnim_ShowMon_0
- anim_if_param_equal $1, .one
- anim_call BattleAnim_Synthesis_branch_cbc6a
- anim_ret
-; cb77a
-
-.one
- anim_call BattleAnim_Synthesis_branch_cbc80
- anim_ret
-; cb77e
-
-BattleAnim_Crunch: ; cb77e
- anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_bgp $1b
- anim_obp0 $c0
- anim_bgeffect ANIM_BG_1F, $20, $2, $0
- anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8
- anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28
- anim_wait 8
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18
- anim_wait 16
- anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18
- anim_wait 8
- anim_ret
-; cb7a8
-
-BattleAnim_Moonlight: ; cb7a8
- anim_1gfx ANIM_GFX_SHINE
- anim_bgp $1b
- anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0
- anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0
- anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0
- anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0
- anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0
- anim_wait 1
- anim_sound 0, 0, SFX_MOONLIGHT
- anim_wait 63
- anim_if_param_equal $3, .three
- anim_call BattleAnim_Moonlight_branch_cbc6a
- anim_ret
-
-.three
- anim_call BattleAnim_Moonlight_branch_cbc80
- anim_ret
-; cb7db
-
-BattleAnim_HiddenPower: ; cb7db
- anim_1gfx ANIM_GFX_CHARGE
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30
- anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38
-.loop
- anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_wait 8
- anim_loop 12, .loop
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_wait 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_incobj 7
- anim_incobj 8
- anim_incobj 9
- anim_wait 16
- anim_1gfx ANIM_GFX_HIT
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 32
- anim_ret
-; cb83a
-
-BattleAnim_CrossChop: ; cb83a
- anim_1gfx ANIM_GFX_CUT
- anim_sound 0, 1, SFX_CUT
- anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0
- anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0
- anim_wait 8
- anim_bgeffect ANIM_BG_1F, $58, $2, $0
- anim_wait 92
- anim_sound 0, 1, SFX_VICEGRIP
- anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
- anim_wait 16
- anim_ret
-; cb85a
-
-BattleAnim_Twister: ; cb85a
- anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
-.loop1
- anim_sound 0, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
- anim_wait 6
- anim_loop 9, .loop1
-.loop2
- anim_sound 0, 0, SFX_RAZOR_WIND
- anim_wait 8
- anim_loop 8, .loop2
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_incobj 7
- anim_incobj 8
- anim_incobj 9
- anim_wait 64
- anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
-.loop3
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_wait 8
- anim_loop 4, .loop3
- anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
-.loop4
- anim_sound 0, 1, SFX_RAZOR_WIND
- anim_wait 8
- anim_loop 4, .loop4
- anim_incobj 1
- anim_incobj 2
- anim_incobj 3
- anim_incobj 4
- anim_incobj 5
- anim_incobj 6
- anim_incobj 7
- anim_incobj 8
- anim_incobj 9
- anim_wait 32
- anim_ret
-; cb8b3
-
-BattleAnim_RainDance: ; cb8b3
- anim_1gfx ANIM_GFX_WATER
- anim_bgp $f8
- anim_obp0 $7c
- anim_sound 0, 1, SFX_RAIN_DANCE
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0
- anim_wait 8
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1
- anim_wait 8
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
- anim_wait 128
- anim_ret
-; cb8cf
-
-BattleAnim_SunnyDay: ; cb8cf
- anim_1gfx ANIM_GFX_WATER
- anim_bgp $90
- anim_sound 0, 1, SFX_MORNING_SUN
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
- anim_wait 8
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
- anim_wait 8
- anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
- anim_wait 128
- anim_ret
-; cb8e9
-
-BattleAnim_MirrorCoat: ; cb8e9
- anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED
- anim_bgeffect ANIM_BG_06, $0, $2, $0
-.loop
- anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
- anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
- anim_wait 8
- anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
- anim_wait 8
- anim_loop 3, .loop
- anim_wait 32
- anim_ret
-; cb917
-
-BattleAnim_PsychUp: ; cb917
- anim_1gfx ANIM_GFX_STATUS
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_1A, $0, $1, $20
- anim_sound 0, 0, SFX_PSYBEAM
- anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0
- anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10
- anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20
- anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30
- anim_wait 64
- anim_incbgeffect ANIM_BG_1A
- anim_call BattleAnim_ShowMon_0
- anim_wait 16
- anim_ret
-; cb940
-
-BattleAnim_Extremespeed: ; cb940
- anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT
- anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
- anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
- anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
- anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
- anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
- anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
- anim_wait 12
- anim_sound 0, 1, SFX_CUT
- anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
- anim_wait 32
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 16
- anim_ret
-; cb97a
-
-BattleAnim_Ancientpower: ; cb97a
- anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20
- anim_wait 8
- anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20
- anim_wait 8
- anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20
- anim_wait 8
- anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20
- anim_wait 8
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20
- anim_wait 8
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20
- anim_wait 8
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20
- anim_wait 8
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
- anim_wait 6
- anim_ret
-; cb9c6
-
-BattleAnim_ShadowBall: ; cb9c6
- anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
- anim_bgp $1b
- anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2
- anim_wait 32
- anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10
- anim_wait 24
- anim_ret
-; cb9db
-
-BattleAnim_FutureSight: ; cb9db
- anim_1gfx ANIM_GFX_WIND
- anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
- anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
- anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
- anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
- anim_wait 4
- anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
- anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
- anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
- anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
-.loop
- anim_sound 0, 0, SFX_THROW_BALL
- anim_wait 16
- anim_loop 4, .loop
- anim_incbgeffect ANIM_BG_PSYCHIC
- anim_ret
-; cba1b
-
-BattleAnim_RockSmash: ; cba1b
- anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0
- anim_wait 6
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50
- anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc
- anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90
- anim_wait 32
- anim_ret
-; cba6a
-
-BattleAnim_Whirlpool: ; cba6a
- anim_1gfx ANIM_GFX_WIND
- anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
- anim_sound 0, 1, SFX_SURF
- anim_wait 16
-.loop
- anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
- anim_wait 6
- anim_loop 9, .loop
- anim_wait 64
- anim_incbgeffect ANIM_BG_WHIRLPOOL
- anim_wait 1
- anim_ret
-; cba84
-
-BattleAnim_BeatUp: ; cba84
- anim_if_param_equal $0, .current_mon
- anim_sound 0, 0, SFX_BALL_POOF
- anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
- anim_wait 16
- anim_beatup
- anim_sound 0, 0, SFX_BALL_POOF
- anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
- anim_wait 16
-.current_mon
- anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_FollowEnemyFeet_0
- anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_wait 4
- anim_sound 0, 1, SFX_BEAT_UP
- anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
- anim_wait 8
- anim_call BattleAnim_ShowMon_0
- anim_ret
-; cbab3
-
-BattleAnim_DreamEater_branch_cbab3: ; cbab3
-BattleAnim_GigaDrain_branch_cbab3: ; cbab3
-BattleAnim_LeechLife_branch_cbab3: ; cbab3
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30
- anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38
- anim_ret
-; cbadc
-
-BattleAnim_Glare_branch_cbadc: ; cbadc
-BattleAnim_Leer_branch_cbadc: ; cbadc
-BattleAnim_ScaryFace_branch_cbadc: ; cbadc
- anim_sound 6, 2, SFX_LEER
- anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0
- anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0
- anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0
- anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0
- anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0
- anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0
- anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0
- anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0
- anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0
- anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0
- anim_ret
-; cbb12
-
-BattleAnim_Fly_branch_cbb12: ; cbb12
-BattleAnim_Teleport_branch_cbb12: ; cbb12
- anim_sound 0, 0, SFX_WARP_TO
- anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0
- anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0
- anim_ret
-; cbb39
-
-BattleAnim_AuroraBeam_branch_cbb39: ; cbb39
-BattleAnim_HyperBeam_branch_cbb39: ; cbb39
-BattleAnim_Solarbeam_branch_cbb39: ; cbb39
- anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0
- anim_wait 4
- anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
- anim_wait 4
- anim_sound 0, 1, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
- anim_wait 4
- anim_sound 0, 1, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
- anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
- anim_ret
-; cbb62
-
-BattleAnim_Explosion_branch_cbb62: ; cbb62
-BattleAnim_Selfdestruct_branch_cbb62: ; cbb62
- anim_sound 0, 0, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0
- anim_wait 5
- anim_sound 0, 0, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0
- anim_wait 5
- anim_sound 0, 0, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0
- anim_wait 5
- anim_sound 0, 0, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0
- anim_wait 5
- anim_sound 0, 0, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0
- anim_ret
-; cbb8f
-
-BattleAnim_Dynamicpunch_branch_cbb8f: ; cbb8f
-BattleAnim_Explosion_branch_cbb8f: ; cbb8f
-BattleAnim_Present_branch_cbb8f: ; cbb8f
-BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0
- anim_wait 5
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0
- anim_wait 5
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0
- anim_wait 5
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0
- anim_wait 5
- anim_sound 0, 1, SFX_EGG_BOMB
- anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0
- anim_ret
-; cbbbc
-
-BattleAnim_Growl_branch_cbbbc: ; cbbbc
-BattleAnim_Roar_branch_cbbbc: ; cbbbc
-BattleAnim_Snore_branch_cbbbc: ; cbbbc
- anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0
- anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1
- anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2
- anim_ret
-; cbbcc
-
-BattleAnim_FirePunch_branch_cbbcc: ; cbbcc
-BattleAnim_TriAttack_branch_cbbcc: ; cbbcc
- anim_sound 0, 1, SFX_EMBER
-.loop
- anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10
- anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90
- anim_wait 4
- anim_loop 4, .loop
- anim_ret
-; cbbdf
-
-BattleAnim_IcePunch_branch_cbbdf: ; cbbdf
-BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf
-BattleAnim_TriAttack_branch_cbbdf: ; cbbdf
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0
- anim_wait 6
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0
- anim_wait 6
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0
- anim_wait 6
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0
- anim_wait 6
- anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0
- anim_ret
-; cbc15
-
-BattleAnim_SludgeBomb_branch_cbc15: ; cbc15
-BattleAnim_Sludge_branch_cbc15: ; cbc15
-BattleAnim_Toxic_branch_cbc15: ; cbc15
-.loop
- anim_sound 0, 1, SFX_UNKNOWN_7F
- anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_UNKNOWN_7F
- anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0
- anim_wait 8
- anim_sound 0, 1, SFX_UNKNOWN_7F
- anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0
- anim_wait 8
- anim_loop 5, .loop
- anim_ret
-; cbc35
-
-BattleAnim_Acid_branch_cbc35: ; cbc35
-BattleAnim_Toxic_branch_cbc35: ; cbc35
-.loop
- anim_sound 6, 2, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10
- anim_wait 5
- anim_loop 8, .loop
- anim_ret
-; cbc43
-
-BattleAnim_Harden_branch_cbc43: ; cbc43
-BattleAnim_IronTail_branch_cbc43: ; cbc43
-BattleAnim_MetalClaw_branch_cbc43: ; cbc43
-BattleAnim_SteelWing_branch_cbc43: ; cbc43
- anim_sound 0, 0, SFX_SHINE
- anim_bgeffect ANIM_BG_17, $0, $1, $40
- anim_wait 8
- anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
- anim_wait 32
- anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
- anim_wait 64
- anim_incbgeffect ANIM_BG_17
- anim_ret
-; cbc5b
-
-BattleAnim_MudSlap_branch_cbc5b: ; cbc5b
-BattleAnim_SandAttack_branch_cbc5b: ; cbc5b
-.loop
- anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4
- anim_wait 4
- anim_loop 8, .loop
- anim_wait 32
- anim_ret
-; cbc6a
-
-BattleAnim_Moonlight_branch_cbc6a: ; cbc6a
-BattleAnim_MorningSun_branch_cbc6a: ; cbc6a
-BattleAnim_Synthesis_branch_cbc6a: ; cbc6a
- anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
- anim_wait 21
- anim_ret
-; cbc80
-
-BattleAnim_Moonlight_branch_cbc80: ; cbc80
-BattleAnim_MorningSun_branch_cbc80: ; cbc80
-BattleAnim_Synthesis_branch_cbc80: ; cbc80
- anim_sound 0, 0, SFX_METRONOME
-.loop
- anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
- anim_wait 5
- anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
- anim_wait 5
- anim_loop 2, .loop
- anim_wait 16
- anim_ret
-; cbca7
-
-BattleAnim_FollowEnemyFeet_0: ; cbca7
- anim_enemyfeetobj
- anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0
- anim_wait 6
- anim_ret
-; cbcaf
-
-BattleAnim_FollowPlayerHead_0: ; cbcaf
- anim_playerheadobj
- anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0
- anim_wait 6
- anim_ret
-; cbcb7
-
-BattleAnim_ShowMon_0: ; cbcb7
- anim_wait 1
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
- anim_wait 5
- anim_incobj 1
- anim_wait 1
- anim_ret
-; cbcc2
-
-BattleAnim_FollowEnemyFeet_1: ; cbcc2
- anim_enemyfeetobj
- anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
- anim_wait 6
- anim_ret
-; cbcca
-
-BattleAnim_FollowPlayerHead_1: ; cbcca
- anim_playerheadobj
- anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
- anim_wait 4
- anim_ret
-; cbcd2
-
-BattleAnim_ShowMon_1: ; cbcd2
- anim_wait 1
- anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
- anim_wait 4
- anim_incobj 1
- anim_wait 1
- anim_ret
-; cbcdd
--- a/data/moves/move_descriptions.asm
+++ /dev/null
@@ -1,1270 +1,0 @@
-MoveDescriptions:: ; 2cb52
-; entries correspond to move ids (see constants/move_constants.asm)
- dw PoundDescription
- dw KarateChopDescription
- dw DoubleslapDescription
- dw CometPunchDescription
- dw MegaPunchDescription
- dw PayDayDescription
- dw FirePunchDescription
- dw IcePunchDescription
- dw ThunderpunchDescription
- dw ScratchDescription
- dw VicegripDescription
- dw GuillotineDescription
- dw RazorWindDescription
- dw SwordsDanceDescription
- dw CutDescription
- dw GustDescription
- dw WingAttackDescription
- dw WhirlwindDescription
- dw FlyDescription
- dw BindDescription
- dw SlamDescription
- dw VineWhipDescription
- dw StompDescription
- dw DoubleKickDescription
- dw MegaKickDescription
- dw JumpKickDescription
- dw RollingKickDescription
- dw SandAttackDescription
- dw HeadbuttDescription
- dw HornAttackDescription
- dw FuryAttackDescription
- dw HornDrillDescription
- dw TackleDescription
- dw BodySlamDescription
- dw WrapDescription
- dw TakeDownDescription
- dw ThrashDescription
- dw DoubleEdgeDescription
- dw TailWhipDescription
- dw PoisonStingDescription
- dw TwineedleDescription
- dw PinMissileDescription
- dw LeerDescription
- dw BiteDescription
- dw GrowlDescription
- dw RoarDescription
- dw SingDescription
- dw SupersonicDescription
- dw SonicboomDescription
- dw DisableDescription
- dw AcidDescription
- dw EmberDescription
- dw FlamethrowerDescription
- dw MistDescription
- dw WaterGunDescription
- dw HydroPumpDescription
- dw SurfDescription
- dw IceBeamDescription
- dw BlizzardDescription
- dw PsybeamDescription
- dw BubblebeamDescription
- dw AuroraBeamDescription
- dw HyperBeamDescription
- dw PeckDescription
- dw DrillPeckDescription
- dw SubmissionDescription
- dw LowKickDescription
- dw CounterDescription
- dw SeismicTossDescription
- dw StrengthDescription
- dw AbsorbDescription
- dw MegaDrainDescription
- dw LeechSeedDescription
- dw GrowthDescription
- dw RazorLeafDescription
- dw SolarbeamDescription
- dw PoisonpowderDescription
- dw StunSporeDescription
- dw SleepPowderDescription
- dw PetalDanceDescription
- dw StringShotDescription
- dw DragonRageDescription
- dw FireSpinDescription
- dw ThundershockDescription
- dw ThunderboltDescription
- dw ThunderWaveDescription
- dw ThunderDescription
- dw RockThrowDescription
- dw EarthquakeDescription
- dw FissureDescription
- dw DigDescription
- dw ToxicDescription
- dw ConfusionDescription
- dw PsychicMDescription
- dw HypnosisDescription
- dw MeditateDescription
- dw AgilityDescription
- dw QuickAttackDescription
- dw RageDescription
- dw TeleportDescription
- dw NightShadeDescription
- dw MimicDescription
- dw ScreechDescription
- dw DoubleTeamDescription
- dw RecoverDescription
- dw HardenDescription
- dw MinimizeDescription
- dw SmokescreenDescription
- dw ConfuseRayDescription
- dw WithdrawDescription
- dw DefenseCurlDescription
- dw BarrierDescription
- dw LightScreenDescription
- dw HazeDescription
- dw ReflectDescription
- dw FocusEnergyDescription
- dw BideDescription
- dw MetronomeDescription
- dw MirrorMoveDescription
- dw SelfdestructDescription
- dw EggBombDescription
- dw LickDescription
- dw SmogDescription
- dw SludgeDescription
- dw BoneClubDescription
- dw FireBlastDescription
- dw WaterfallDescription
- dw ClampDescription
- dw SwiftDescription
- dw SkullBashDescription
- dw SpikeCannonDescription
- dw ConstrictDescription
- dw AmnesiaDescription
- dw KinesisDescription
- dw SoftboiledDescription
- dw HiJumpKickDescription
- dw GlareDescription
- dw DreamEaterDescription
- dw PoisonGasDescription
- dw BarrageDescription
- dw LeechLifeDescription
- dw LovelyKissDescription
- dw SkyAttackDescription
- dw TransformDescription
- dw BubbleDescription
- dw DizzyPunchDescription
- dw SporeDescription
- dw FlashDescription
- dw PsywaveDescription
- dw SplashDescription
- dw AcidArmorDescription
- dw CrabhammerDescription
- dw ExplosionDescription
- dw FurySwipesDescription
- dw BonemerangDescription
- dw RestDescription
- dw RockSlideDescription
- dw HyperFangDescription
- dw SharpenDescription
- dw ConversionDescription
- dw TriAttackDescription
- dw SuperFangDescription
- dw SlashDescription
- dw SubstituteDescription
- dw StruggleDescription
- dw SketchDescription
- dw TripleKickDescription
- dw ThiefDescription
- dw SpiderWebDescription
- dw MindReaderDescription
- dw NightmareDescription
- dw FlameWheelDescription
- dw SnoreDescription
- dw CurseDescription
- dw FlailDescription
- dw Conversion2Description
- dw AeroblastDescription
- dw CottonSporeDescription
- dw ReversalDescription
- dw SpiteDescription
- dw PowderSnowDescription
- dw ProtectDescription
- dw MachPunchDescription
- dw ScaryFaceDescription
- dw FaintAttackDescription
- dw SweetKissDescription
- dw BellyDrumDescription
- dw SludgeBombDescription
- dw MudSlapDescription
- dw OctazookaDescription
- dw SpikesDescription
- dw ZapCannonDescription
- dw ForesightDescription
- dw DestinyBondDescription
- dw PerishSongDescription
- dw IcyWindDescription
- dw DetectDescription
- dw BoneRushDescription
- dw LockOnDescription
- dw OutrageDescription
- dw SandstormDescription
- dw GigaDrainDescription
- dw EndureDescription
- dw CharmDescription
- dw RolloutDescription
- dw FalseSwipeDescription
- dw SwaggerDescription
- dw MilkDrinkDescription
- dw SparkDescription
- dw FuryCutterDescription
- dw SteelWingDescription
- dw MeanLookDescription
- dw AttractDescription
- dw SleepTalkDescription
- dw HealBellDescription
- dw ReturnDescription
- dw PresentDescription
- dw FrustrationDescription
- dw SafeguardDescription
- dw PainSplitDescription
- dw SacredFireDescription
- dw MagnitudeDescription
- dw DynamicpunchDescription
- dw MegahornDescription
- dw DragonbreathDescription
- dw BatonPassDescription
- dw EncoreDescription
- dw PursuitDescription
- dw RapidSpinDescription
- dw SweetScentDescription
- dw IronTailDescription
- dw MetalClawDescription
- dw VitalThrowDescription
- dw MorningSunDescription
- dw SynthesisDescription
- dw MoonlightDescription
- dw HiddenPowerDescription
- dw CrossChopDescription
- dw TwisterDescription
- dw RainDanceDescription
- dw SunnyDayDescription
- dw CrunchDescription
- dw MirrorCoatDescription
- dw PsychUpDescription
- dw ExtremespeedDescription
- dw AncientpowerDescription
- dw ShadowBallDescription
- dw FutureSightDescription
- dw RockSmashDescription
- dw WhirlpoolDescription
- dw BeatUpDescription
- dw MoveFCDescription
- dw MoveFDDescription
- dw MoveFEDescription
- dw MoveFFDescription
- dw Move00Description
-; 2cd52
-
-MoveFCDescription:
-MoveFDDescription:
-MoveFEDescription:
-MoveFFDescription:
-Move00Description:
- db "?@"
-
-PoundDescription:
- db "Pounds with fore-"
- next "legs or tail.@"
-
-KarateChopDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-DoubleslapDescription:
- db "Repeatedly slaps"
- next "2-5 times.@"
-
-CometPunchDescription:
- db "Repeatedly punches"
- next "2-5 times.@"
-
-MegaPunchDescription:
- db "A powerful punch"
- next "thrown very hard.@"
-
-PayDayDescription:
- db "Throws coins. Gets"
- next "them back later.@"
-
-FirePunchDescription:
- db "A fiery punch. May"
- next "cause a burn.@"
-
-IcePunchDescription:
- db "An icy punch. May"
- next "cause freezing.@"
-
-ThunderpunchDescription:
- db "An electric punch."
- next "It may paralyze.@"
-
-ScratchDescription:
- db "Scratches with"
- next "sharp claws.@"
-
-VicegripDescription:
- db "Grips with power-"
- next "ful pincers.@"
-
-GuillotineDescription:
- db "A one-hit KO,"
- next "pincer attack.@"
-
-RazorWindDescription:
- db "1st turn: Prepare"
- next "2nd turn: Attack@"
-
-SwordsDanceDescription:
- db "A dance that in-"
- next "creases ATTACK.@"
-
-CutDescription:
- db "Cuts using claws,"
- next "scythes, etc.@"
-
-GustDescription:
- db "Whips up a strong"
- next "gust of wind.@"
-
-WingAttackDescription:
- db "Strikes the target"
- next "with wings.@"
-
-WhirlwindDescription:
- db "Blows away the foe"
- next "& ends battle.@"
-
-FlyDescription:
- db "1st turn: Fly"
- next "2nd turn: Attack@"
-
-BindDescription:
- db "Binds the target"
- next "for 2-5 turns.@"
-
-SlamDescription:
- db "Slams the foe with"
- next "a tail, vine, etc.@"
-
-VineWhipDescription:
- db "Whips the foe with"
- next "slender vines.@"
-
-StompDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-DoubleKickDescription:
- db "A double kicking"
- next "attack.@"
-
-MegaKickDescription:
- db "A powerful kicking"
- next "attack.@"
-
-JumpKickDescription:
- db "May miss, damaging"
- next "the user.@"
-
-RollingKickDescription:
- db "A fast, spinning"
- next "kick.@"
-
-SandAttackDescription:
- db "Reduces accuracy"
- next "by throwing sand.@"
-
-HeadbuttDescription:
- db "An attack that may"
- next "make foe flinch.@"
-
-HornAttackDescription:
- db "An attack using a"
- next "horn to jab.@"
-
-FuryAttackDescription:
- db "Jabs the target"
- next "2-5 times.@"
-
-HornDrillDescription:
- db "A one-hit KO,"
- next "drill attack.@"
-
-TackleDescription:
- db "A full-body charge"
- next "attack.@"
-
-BodySlamDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-WrapDescription:
- db "Squeezes the foe"
- next "for 2-5 turns.@"
-
-TakeDownDescription:
- db "A tackle that also"
- next "hurts the user.@"
-
-ThrashDescription:
- db "Works 2-3 turns"
- next "and confuses user.@"
-
-DoubleEdgeDescription:
- db "A tackle that also"
- next "hurts the user.@"
-
-TailWhipDescription:
- db "Lowers the foe's"
- next "DEFENSE.@"
-
-PoisonStingDescription:
- db "An attack that may"
- next "poison the target.@"
-
-TwineedleDescription:
- db "Jabs the foe twice"
- next "using stingers.@"
-
-PinMissileDescription:
- db "Fires pins that"
- next "strike 2-5 times.@"
-
-LeerDescription:
- db "Reduces the foe's"
- next "DEFENSE.@"
-
-BiteDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-GrowlDescription:
- db "Reduces the foe's"
- next "ATTACK.@"
-
-RoarDescription:
- db "Scares wild foes"
- next "to end battle.@"
-
-SingDescription:
- db "May cause the foe"
- next "to fall asleep.@"
-
-SupersonicDescription:
- db "Sound waves that"
- next "cause confusion.@"
-
-SonicboomDescription:
- db "Always inflicts"
- next "20HP damage.@"
-
-DisableDescription:
- db "Disables the foe's"
- next "most recent move.@"
-
-AcidDescription:
- db "An attack that may"
- next "lower DEFENSE.@"
-
-EmberDescription:
- db "An attack that may"
- next "inflict a burn.@"
-
-FlamethrowerDescription:
- db "An attack that may"
- next "inflict a burn.@"
-
-MistDescription:
- db "Prevents stat"
- next "reduction.@"
-
-WaterGunDescription:
- db "Squirts water to"
- next "attack.@"
-
-HydroPumpDescription:
- db "A powerful water-"
- next "type attack.@"
-
-SurfDescription:
- db "A strong water-"
- next "type attack.@"
-
-IceBeamDescription:
- db "An attack that may"
- next "freeze the foe.@"
-
-BlizzardDescription:
- db "An attack that may"
- next "freeze the foe.@"
-
-PsybeamDescription:
- db "An attack that may"
- next "confuse the foe.@"
-
-BubblebeamDescription:
- db "An attack that may"
- next "lower SPEED.@"
-
-AuroraBeamDescription:
- db "An attack that may"
- next "lower ATTACK.@"
-
-HyperBeamDescription:
- db "1st turn: Attack"
- next "2nd turn: Rest@"
-
-PeckDescription:
- db "Jabs the foe with"
- next "a beak, etc.@"
-
-DrillPeckDescription:
- db "A strong, spin-"
- next "ning-peck attack.@"
-
-SubmissionDescription:
- db "An attack that al-"
- next "so hurts the user.@"
-
-LowKickDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-CounterDescription:
- db "Returns a physical"
- next "blow double.@"
-
-SeismicTossDescription:
- db "The user's level"
- next "equals damage HP.@"
-
-StrengthDescription:
- db "A powerful physi-"
- next "cal attack.@"
-
-AbsorbDescription:
- db "Steals 1/2 of the"
- next "damage inflicted.@"
-
-MegaDrainDescription:
- db "Steals 1/2 of the"
- next "damage inflicted.@"
-
-LeechSeedDescription:
- db "Steals HP from the"
- next "foe on every turn.@"
-
-GrowthDescription:
- db "Raises the SPCL."
- next "ATK rating.@"
-
-RazorLeafDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-SolarbeamDescription:
- db "1st turn: Prepare"
- next "2nd turn: Attack@"
-
-PoisonpowderDescription:
- db "A move that may"
- next "poison the foe.@"
-
-StunSporeDescription:
- db "A move that may"
- next "paralyze the foe.@"
-
-SleepPowderDescription:
- db "May cause the foe"
- next "to fall asleep.@"
-
-PetalDanceDescription:
- db "Works 2-3 turns"
- next "and confuses user.@"
-
-StringShotDescription:
- db "A move that lowers"
- next "the foe's SPEED.@"
-
-DragonRageDescription:
- db "Always inflicts"
- next "40HP damage.@"
-
-FireSpinDescription:
- db "Traps foe in fire"
- next "for 2-5 turns.@"
-
-ThundershockDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-ThunderboltDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-ThunderWaveDescription:
- db "A move that may"
- next "cause paralysis.@"
-
-ThunderDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-RockThrowDescription:
- db "Drops rocks on the"
- next "enemy.@"
-
-EarthquakeDescription:
- db "Tough but useless"
- next "vs. flying foes.@"
-
-FissureDescription:
- db "A ground-type,"
- next "one-hit KO attack.@"
-
-DigDescription:
- db "1st turn: Burrow"
- next "2nd turn: Attack@"
-
-ToxicDescription:
- db "A poison move with"
- next "increasing damage.@"
-
-ConfusionDescription:
- db "An attack that may"
- next "cause confusion.@"
-
-PsychicMDescription:
- db "An attack that may"
- next "lower SPCL.DEF.@"
-
-HypnosisDescription:
- db "May put the foe to"
- next "sleep.@"
-
-MeditateDescription:
- db "Raises the user's"
- next "ATTACK.@"
-
-AgilityDescription:
- db "Sharply increases"
- next "the user's SPEED.@"
-
-QuickAttackDescription:
- db "Lets the user get"
- next "in the first hit.@"
-
-RageDescription:
- db "Raises ATTACK if"
- next "the user is hit.@"
-
-TeleportDescription:
- db "A move for fleeing"
- next "from battle.@"
-
-NightShadeDescription:
- db "The user's level"
- next "equals damage HP.@"
-
-MimicDescription:
- db "Copies a move used"
- next "by the foe.@"
-
-ScreechDescription:
- db "Sharply reduces"
- next "the foe's DEFENSE.@"
-
-DoubleTeamDescription:
- db "Heightens evasive-"
- next "ness.@"
-
-RecoverDescription:
- db "Restores HP by 1/2"
- next "the max HP.@"
-
-HardenDescription:
- db "Raises the user's"
- next "DEFENSE.@"
-
-MinimizeDescription:
- db "Heightens evasive-"
- next "ness.@"
-
-SmokescreenDescription:
- db "Lowers the foe's"
- next "accuracy.@"
-
-ConfuseRayDescription:
- db "A move that causes"
- next "confusion.@"
-
-WithdrawDescription:
- db "Heightens the"
- next "user's DEFENSE.@"
-
-DefenseCurlDescription:
- db "Heightens the"
- next "user's DEFENSE.@"
-
-BarrierDescription:
- db "Sharply increases"
- next "user's DEFENSE.@"
-
-LightScreenDescription:
- db "Ups SPCL.DEF with"
- next "a wall of light.@"
-
-HazeDescription:
- db "Eliminates all"
- next "stat changes.@"
-
-ReflectDescription:
- db "Raises DEFENSE"
- next "with a barrier.@"
-
-FocusEnergyDescription:
- db "Raises the criti-"
- next "cal hit ratio.@"
-
-BideDescription:
- db "Waits 2-3 turns &"
- next "hits back double.@"
-
-MetronomeDescription:
- db "Randomly uses any"
- next "#MON move.@"
-
-MirrorMoveDescription:
- db "Counters with the"
- next "same move.@"
-
-SelfdestructDescription:
- db "Powerful but makes"
- next "the user faint.@"
-
-EggBombDescription:
- db "Eggs are hurled at"
- next "the foe.@"
-
-LickDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-SmogDescription:
- db "An attack that may"
- next "poison the foe.@"
-
-SludgeDescription:
- db "An attack that may"
- next "poison the foe.@"
-
-BoneClubDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-FireBlastDescription:
- db "An attack that"
- next "may cause a burn.@"
-
-WaterfallDescription:
- db "An aquatic charge"
- next "attack.@"
-
-ClampDescription:
- db "Traps the foe for"
- next "2-5 turns.@"
-
-SwiftDescription:
- db "An attack that"
- next "never misses.@"
-
-SkullBashDescription:
- db "1st turn: Prepare"
- next "2nd turn: Attack@"
-
-SpikeCannonDescription:
- db "Fires spikes to"
- next "hit 2-5 times.@"
-
-ConstrictDescription:
- db "An attack that may"
- next "lower SPEED.@"
-
-AmnesiaDescription:
- db "Sharply raises the"
- next "user's SPCL.DEF.@"
-
-KinesisDescription:
- db "Reduces the foe's"
- next "accuracy.@"
-
-SoftboiledDescription:
- db "Restores HP by 1/2"
- next "the user's max HP.@"
-
-HiJumpKickDescription:
- db "May miss and hurt"
- next "the user.@"
-
-GlareDescription:
- db "A move that may"
- next "cause paralysis.@"
-
-DreamEaterDescription:
- db "Steals HP from a"
- next "sleeping victim.@"
-
-PoisonGasDescription:
- db "A move that may"
- next "poison the foe.@"
-
-BarrageDescription:
- db "Throws orbs to hit"
- next "2-5 times.@"
-
-LeechLifeDescription:
- db "Steals 1/2 of the"
- next "damage inflicted.@"
-
-LovelyKissDescription:
- db "May cause the foe"
- next "to fall asleep.@"
-
-SkyAttackDescription:
- db "1st turn: Prepare"
- next "2nd turn: Attack@"
-TransformDescription:
- db "The user assumes"
- next "the foe's guise.@"
-
-BubbleDescription:
- db "An attack that may"
- next "reduce SPEED.@"
-
-DizzyPunchDescription:
- db "An attack that may"
- next "cause confusion.@"
-
-SporeDescription:
- db "A move that"
- next "induces sleep.@"
-
-FlashDescription:
- db "Blinds the foe to"
- next "reduce accuracy.@"
-
-PsywaveDescription:
- db "An attack with"
- next "variable power.@"
-
-SplashDescription:
- db "Has no effect"
- next "whatsoever.@"
-
-AcidArmorDescription:
- db "Sharply raises the"
- next "user's DEFENSE.@"
-
-CrabhammerDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-ExplosionDescription:
- db "Very powerful but"
- next "makes user faint.@"
-
-FurySwipesDescription:
- db "Quickly scratches"
- next "2-5 times.@"
-
-BonemerangDescription:
- db "An attack that"
- next "strikes twice.@"
-
-RestDescription:
- db "Sleep for 2 turns"
- next "to fully recover.@"
-
-RockSlideDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-HyperFangDescription:
- db "An attack that may"
- next "cause flinching.@"
-
-SharpenDescription:
- db "A move that raises"
- next "the user's ATTACK.@"
-
-ConversionDescription:
- db "Change user's type"
- next "to a move's type.@"
-
-TriAttackDescription:
- db "Fires three kinds"
- next "of beams at once.@"
-
-SuperFangDescription:
- db "Cuts the foe's HP"
- next "by 1/2.@"
-
-SlashDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-SubstituteDescription:
- db "Makes a decoy with"
- next "1/4 user's max HP.@"
-
-StruggleDescription:
- db "Used only if all"
- next "PP are exhausted.@"
-
-SketchDescription:
- db "Copies the foe's"
- next "move permanently.@"
-
-TripleKickDescription:
- db "Hits three times"
- next "with rising power.@"
-
-ThiefDescription:
- db "An attack that may"
- next "steal a held item.@"
-
-SpiderWebDescription:
- db "Prevents fleeing"
- next "or switching.@"
-
-MindReaderDescription:
- db "Ensures the next"
- next "attack will hit.@"
-
-NightmareDescription:
- db "A sleeper loses"
- next "1/4 HP every turn.@"
-
-FlameWheelDescription:
- db "An attack that may"
- next "cause a burn.@"
-
-SnoreDescription:
- db "An attack useable"
- next "only while asleep.@"
-
-CurseDescription:
- db "Works differently"
- next "for ghost-types.@"
-
-FlailDescription:
- db "Stronger if the"
- next "user's HP is low.@"
-
-Conversion2Description:
- db "The user's type is"
- next "made resistant.@"
-
-AeroblastDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-CottonSporeDescription:
- db "Sharply reduces"
- next "the foe's SPEED.@"
-
-ReversalDescription:
- db "Stronger if the"
- next "user's HP is low.@"
-
-SpiteDescription:
- db "Cuts the PP of the"
- next "foe's last move.@"
-
-PowderSnowDescription:
- db "An attack that may"
- next "cause freezing.@"
-
-ProtectDescription:
- db "Foils attack that"
- next "turn. It may fail.@"
-
-MachPunchDescription:
- db "A fast punch that"
- next "lands first.@"
-
-ScaryFaceDescription:
- db "Sharply reduces"
- next "the foe's SPEED.@"
-
-FaintAttackDescription:
- db "An attack that"
- next "never misses.@"
-
-SweetKissDescription:
- db "A move that causes"
- next "confusion.@"
-
-BellyDrumDescription:
- db "Reduces own HP to"
- next "maximize ATTACK.@"
-
-SludgeBombDescription:
- db "An attack that may"
- next "poison the foe.@"
-
-MudSlapDescription:
- db "Reduces the foe's"
- next "accuracy.@"
-
-OctazookaDescription:
- db "An attack that may"
- next "reduce accuracy.@"
-
-SpikesDescription:
- db "Hurts foes when"
- next "they switch out.@"
-
-ZapCannonDescription:
- db "An attack that"
- next "always paralyzes.@"
-
-ForesightDescription:
- db "Negates accuracy"
- next "reduction moves.@"
-
-DestinyBondDescription:
- db "The foe faints if"
- next "the user does.@"
-
-PerishSongDescription:
- db "Both user and foe"
- next "faint in 3 turns.@"
-
-IcyWindDescription:
- db "An icy attack that"
- next "lowers SPEED.@"
-
-DetectDescription:
- db "Evades attack that"
- next "turn. It may fail.@"
-
-BoneRushDescription:
- db "An attack that"
- next "hits 2-5 times.@"
-
-LockOnDescription:
- db "Ensures the next"
- next "attack will hit.@"
-
-OutrageDescription:
- db "Works 2-3 turns"
- next "and confuses user.@"
-
-SandstormDescription:
- db "Inflicts damage"
- next "every turn.@"
-
-GigaDrainDescription:
- db "Steals 1/2 of the"
- next "damage inflicted.@"
-
-EndureDescription:
- db "Always leaves at"
- next "least 1HP.@"
-
-CharmDescription:
- db "Sharply lowers the"
- next "foe's ATTACK.@"
-
-RolloutDescription:
- db "Attacks 5 turns"
- next "with rising power.@"
-
-FalseSwipeDescription:
- db "Leaves the foe"
- next "with at least 1HP.@"
-
-SwaggerDescription:
- db "Causes confusion"
- next "and raises ATTACK.@"
-
-MilkDrinkDescription:
- db "Restores HP by 1/2"
- next "the max HP.@"
-
-SparkDescription:
- db "An attack that may"
- next "cause paralysis.@"
-
-FuryCutterDescription:
- db "Successive hits"
- next "raise power.@"
-
-SteelWingDescription:
- db "Stiff wings strike"
- next "the foe.@"
-
-MeanLookDescription:
- db "Prevents fleeing"
- next "or switching.@"
-
-AttractDescription:
- db "Makes the opposite"
- next "gender infatuated.@"
-
-SleepTalkDescription:
- db "Randomly attacks"
- next "while asleep.@"
-
-HealBellDescription:
- db "Eliminates all"
- next "status problems.@"
-
-ReturnDescription:
- db "An attack that is"
- next "based on loyalty.@"
-
-PresentDescription:
- db "A bomb that may"
- next "restore HP.@"
-
-FrustrationDescription:
- db "An attack based on"
- next "lack of loyalty.@"
-
-SafeguardDescription:
- db "Prevents all"
- next "status problems.@"
-
-PainSplitDescription:
- db "Adds user & foe's"
- next "HPs. Shares total.@"
-
-SacredFireDescription:
- db "An attack that may"
- next "inflict a burn.@"
-
-MagnitudeDescription:
- db "A ground attack"
- next "with random power.@"
-
-DynamicpunchDescription:
- db "An attack that"
- next "always confuses.@"
-
-MegahornDescription:
- db "A powerful charge"
- next "attack.@"
-
-DragonbreathDescription:
- db "A strong breath"
- next "attack.@"
-
-BatonPassDescription:
- db "Switches while"
- next "keeping effects.@"
-
-EncoreDescription:
- db "Makes the foe re-"
- next "peat 2-6 times.@"
-
-PursuitDescription:
- db "Heavily strikes"
- next "switching #MON.@"
-
-RapidSpinDescription:
- db "A high-speed"
- next "spinning attack.@"
-
-SweetScentDescription:
- db "Reduces the foe's"
- next "evasiveness.@"
-
-IronTailDescription:
- db "An attack that may"
- next "reduce DEFENSE.@"
-
-MetalClawDescription:
- db "An attack that may"
- next "up user's ATTACK.@"
-
-VitalThrowDescription:
- db "A 2nd-strike move"
- next "that never misses.@"
-
-MorningSunDescription:
- db "Restores HP"
- next "(varies by time).@"
-
-SynthesisDescription:
- db "Restores HP"
- next "(varies by time).@"
-
-MoonlightDescription:
- db "Restores HP"
- next "(varies by time).@"
-
-HiddenPowerDescription:
- db "The power varies"
- next "with the #MON.@"
-
-CrossChopDescription:
- db "Has a high criti-"
- next "cal hit ratio.@"
-
-TwisterDescription:
- db "Whips up a tornado"
- next "to attack.@"
-
-RainDanceDescription:
- db "Boosts water-type"
- next "moves for 5 turns.@"
-
-SunnyDayDescription:
- db "Boosts fire-type"
- next "moves for 5 turns.@"
-
-CrunchDescription:
- db "An attack that may"
- next "lower SPCL.DEF.@"
-
-MirrorCoatDescription:
- db "Counters a SPCL."
- next "ATK move double.@"
-
-PsychUpDescription:
- db "Copies the foe's"
- next "stat changes.@"
-
-ExtremespeedDescription:
- db "A powerful first-"
- next "strike move.@"
-
-AncientpowerDescription:
- db "An attack that may"
- next "raise all stats.@"
-
-ShadowBallDescription:
- db "An attack that may"
- next "lower SPCL.DEF.@"
-
-FutureSightDescription:
- db "An attack that"
- next "hits on 3rd turn.@"
-
-RockSmashDescription:
- db "An attack that may"
- next "lower DEFENSE.@"
-
-WhirlpoolDescription:
- db "Traps the foe for"
- next "2-5 turns.@"
-
-BeatUpDescription:
- db "Party #MON join"
- next "in the attack.@"
-; 2ed44
--- a/data/moves/move_effects.asm
+++ /dev/null
@@ -1,2075 +1,0 @@
-MoveEffects: ; 2732e
-
-NormalHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-DoSleep:
- checkobedience
- usedmovetext
- doturn
- checkhit
- checksafeguard
- sleeptarget
- endmove
-
-PoisonHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- poisontarget
- endmove
-
-LeechHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- draintarget
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-BurnHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- burntarget
- endmove
-
-FreezeHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- freezetarget
- endmove
-
-ParalyzeHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- paralyzetarget
- endmove
-
-Selfdestruct:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- selfdestruct
- hittargetnosub
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-DreamEater:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- eatdream
- checkdestinybond
- buildopponentrage
- endmove
-
-MirrorMove:
- checkobedience
- usedmovetext
- doturn
- mirrormove
- endmove
-
-AttackUp:
- checkobedience
- usedmovetext
- doturn
- attackup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-DefenseUp:
- checkobedience
- usedmovetext
- doturn
- defenseup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpeedUp:
- checkobedience
- usedmovetext
- doturn
- speedup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpecialAttackUp:
- checkobedience
- usedmovetext
- doturn
- specialattackup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpecialDefenseUp:
- checkobedience
- usedmovetext
- doturn
- specialdefenseup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-AccuracyUp:
- checkobedience
- usedmovetext
- doturn
- accuracyup
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-EvasionUp:
- checkobedience
- usedmovetext
- doturn
- lowersub
- evasionup
- statupanim
- lowersubnoanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-AttackUp2:
- checkobedience
- usedmovetext
- doturn
- attackup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-DefenseUp2:
- checkobedience
- usedmovetext
- doturn
- defenseup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpeedUp2:
- checkobedience
- usedmovetext
- doturn
- speedup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpecialAttackUp2:
- checkobedience
- usedmovetext
- doturn
- specialattackup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-SpecialDefenseUp2:
- checkobedience
- usedmovetext
- doturn
- specialdefenseup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-AccuracyUp2:
- checkobedience
- usedmovetext
- doturn
- accuracyup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-EvasionUp2:
- checkobedience
- usedmovetext
- doturn
- evasionup2
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
-
-AttackDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- attackdown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-DefenseDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- defensedown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpeedDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- speeddown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpecialAttackDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- specialattackdown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpecialDefenseDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- specialdefensedown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-AccuracyDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- accuracydown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-EvasionDown:
- checkobedience
- usedmovetext
- doturn
- checkhit
- evasiondown
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-AttackDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- attackdown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-DefenseDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- defensedown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpeedDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- speeddown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpecialAttackDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- specialattackdown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-SpecialDefenseDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- specialdefensedown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-AccuracyDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- accuracydown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-EvasionDown2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- evasiondown2
- lowersub
- statdownanim
- raisesub
- statdownmessage
- statdownfailtext
- endmove
-
-AttackDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- attackdown
- statdownmessage
- endmove
-
-DefenseDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- effectchance ; bug: duplicate effectchance shouldn't be here
- defensedown
- statdownmessage
- endmove
-
-SpeedDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- speeddown
- statdownmessage
- endmove
-
-SpecialAttackDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- specialattackdown
- statdownmessage
- endmove
-
-SpecialDefenseDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- specialdefensedown
- statdownmessage
- endmove
-
-AccuracyDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- accuracydown
- statdownmessage
- endmove
-
-EvasionDownHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- evasiondown
- statdownmessage
- endmove
-
-DefenseUpHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- defenseup
- statupmessage
- endmove
-
-AttackUpHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- attackup
- statupmessage
- endmove
-
-AllUpHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- allstatsup
- endmove
-
-PayDay:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- payday
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Conversion:
- checkobedience
- usedmovetext
- doturn
- conversion
- endmove
-
-ResetStats:
- checkobedience
- usedmovetext
- doturn
- resetstats
- endmove
-
-Bide:
- storeenergy
- checkobedience
- doturn
- usedmovetext
- unleashenergy
- resettypematchup
- checkhit
- hittarget
- effect0xa5
- checkfaint
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Rampage:
- checkrampage
- checkobedience
- doturn
- rampage
- usedmovetext
- checkhit
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- clearmissdamage
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-ForceSwitch:
- checkobedience
- usedmovetext
- doturn
- checkhit
- forceswitch
- endmove
-
-MultiHit:
- checkobedience
- usedmovetext
- doturn
- startloop
- lowersub
- checkhit
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- clearmissdamage
- hittargetnosub
- failuretext
- checkfaint
- criticaltext
- cleartext
- supereffectivelooptext
- checkdestinybond
- buildopponentrage
- endloop
- raisesub
- kingsrock
- endmove
-
-PoisonMultiHit:
- checkobedience
- usedmovetext
- doturn
- startloop
- lowersub
- checkhit
- effectchance
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- clearmissdamage
- hittargetnosub
- failuretext
- checkfaint
- criticaltext
- cleartext
- supereffectivelooptext
- checkdestinybond
- buildopponentrage
- endloop
- raisesub
- kingsrock
- poisontarget
- endmove
-
-FlinchHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- flinchtarget
- endmove
-
-OHKOHit:
- checkobedience
- usedmovetext
- doturn
- stab
- ohko
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- endmove
-
-RecoilHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- recoil
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Mist:
- checkobedience
- usedmovetext
- doturn
- mist
- endmove
-
-FocusEnergy:
- checkobedience
- usedmovetext
- doturn
- focusenergy
- endmove
-
-DoConfuse:
- checkobedience
- usedmovetext
- doturn
- checkhit
- checksafeguard
- confuse
- endmove
-
-ConfuseHit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- confusetarget
- endmove
-
-Heal:
- checkobedience
- usedmovetext
- doturn
- heal
- endmove
-
-Transform:
- checkobedience
- usedmovetext
- doturn
- transform
- endmove
-
-LightScreen:
-Reflect:
- checkobedience
- usedmovetext
- doturn
- screen
- endmove
-
-TriAttack:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- tristatuschance
- endmove
-
-Toxic:
-DoPoison:
- checkobedience
- usedmovetext
- doturn
- checkhit
- stab
- checksafeguard
- poison
- endmove
-
-DoParalyze:
- checkobedience
- usedmovetext
- doturn
- stab
- checkhit
- checksafeguard
- paralyze
- endmove
-
-SkyAttack:
- checkcharge
- checkobedience
- doturn
- charge
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- flinchtarget
- kingsrock
- endmove
-
-Substitute:
- checkobedience
- usedmovetext
- doturn
- substitute
- endmove
-
-HyperBeam:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- rechargenextturn
- checkdestinybond
- buildopponentrage
- endmove
-
-Rage:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- checkhit
- ragedamage
- damagevariation
- hittarget
- failuretext
- rage
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Mimic:
- checkobedience
- usedmovetext
- doturn
- checkhit
- mimic
- endmove
-
-Metronome:
- checkobedience
- usedmovetext
- doturn
- metronome
- endmove
-
-LeechSeed:
- checkobedience
- usedmovetext
- doturn
- checkhit
- leechseed
- endmove
-
-Splash:
- checkobedience
- usedmovetext
- doturn
- splash
- endmove
-
-Disable:
- checkobedience
- usedmovetext
- doturn
- checkhit
- disable
- endmove
-
-RazorWind:
- checkcharge
- checkobedience
- doturn
- charge
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Fly:
- checkcharge
- checkobedience
- doturn
- charge
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittargetnosub
- raisesub
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-TrapTarget:
- checkobedience
- usedmovetext
- doturn
- checkhit
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- clearmissdamage
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- traptarget
- endmove
-
-SuperFang:
-Psywave:
-StaticDamage:
- checkobedience
- usedmovetext
- doturn
- constantdamage
- checkhit
- resettypematchup
- hittarget
- failuretext
- checkfaint
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Reversal:
- checkobedience
- usedmovetext
- doturn
- constantdamage
- stab
- checkhit
- hittarget
- failuretext
- checkfaint
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Counter:
- checkobedience
- usedmovetext
- doturn
- counter
- hittarget
- failuretext
- checkfaint
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Encore:
- checkobedience
- usedmovetext
- doturn
- checkhit
- encore
- endmove
-
-PainSplit:
- checkobedience
- usedmovetext
- doturn
- checkhit
- painsplit
- endmove
-
-Snore:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- snore
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- flinchtarget
- kingsrock
- endmove
-
-Conversion2:
- checkobedience
- usedmovetext
- doturn
- checkhit
- conversion2
- endmove
-
-LockOn:
- checkobedience
- usedmovetext
- doturn
- checkhit
- lockon
- endmove
-
-Sketch:
- checkobedience
- usedmovetext
- doturn
- sketch
- endmove
-
-DefrostOpponent:
- checkobedience
- usedmovetext
- doturn
- defrostopponent
- endmove
-
-SleepTalk:
- checkobedience
- usedmovetext
- doturn
- sleeptalk
- endmove
-
-DestinyBond:
- checkobedience
- usedmovetext
- doturn
- destinybond
- endmove
-
-Spite:
- checkobedience
- usedmovetext
- doturn
- checkhit
- spite
- endmove
-
-FalseSwipe:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- falseswipe
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-HealBell:
- checkobedience
- usedmovetext
- doturn
- healbell
- endmove
-
-TripleKick:
- checkobedience
- usedmovetext
- doturn
- startloop
- lowersub
- checkhit
- critical
- damagestats
- damagecalc
- triplekick
- stab
- damagevariation
- clearmissdamage
- hittargetnosub
- failuretext
- checkfaint
- criticaltext
- cleartext
- supereffectivelooptext
- checkdestinybond
- buildopponentrage
- kickcounter
- endloop
- raisesub
- kingsrock
- endmove
-
-Thief:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- thief
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-MeanLook:
- checkobedience
- usedmovetext
- doturn
- arenatrap
- endmove
-
-Nightmare:
- checkobedience
- usedmovetext
- doturn
- nightmare
- endmove
-
-FlameWheel:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- defrost
- checkdestinybond
- buildopponentrage
- burntarget
- endmove
-
-Curse:
- checkobedience
- usedmovetext
- doturn
- curse
- endmove
-
-Protect:
- checkobedience
- usedmovetext
- doturn
- protect
- endmove
-
-Spikes:
- checkobedience
- usedmovetext
- doturn
- spikes
- endmove
-
-Foresight:
- checkobedience
- usedmovetext
- doturn
- checkhit
- foresight
- endmove
-
-PerishSong:
- checkobedience
- usedmovetext
- doturn
- perishsong
- endmove
-
-Sandstorm:
- checkobedience
- usedmovetext
- doturn
- startsandstorm
- endmove
-
-Endure:
- checkobedience
- usedmovetext
- doturn
- endure
- endmove
-
-Rollout:
- checkcurl
- checkobedience
- doturn
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- checkhit
- rolloutpower
- damagevariation
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Swagger:
- checkobedience
- usedmovetext
- doturn
- checkhit
- switchturn
- attackup2
- switchturn
- lowersub
- statupanim
- raisesub
- failuretext
- switchturn
- statupmessage
- switchturn
- confusetarget
- endmove
-
-FuryCutter:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- checkhit
- furycutter
- damagevariation
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Attract:
- checkobedience
- usedmovetext
- doturn
- checkhit
- attract
- endmove
-
-Return:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- happinesspower
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Present:
- checkobedience
- usedmovetext
- doturn
- checkhit
- critical
- damagestats
- present
- damagecalc
- stab
- damagevariation
- clearmissdamage
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Frustration:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- frustrationpower
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Safeguard:
- checkobedience
- usedmovetext
- doturn
- safeguard
- endmove
-
-SacredFire:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- defrost
- checkdestinybond
- buildopponentrage
- burntarget
- endmove
-
-Magnitude:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- getmagnitude
- damagecalc
- stab
- damagevariation
- checkhit
- doubleundergrounddamage
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-BatonPass:
- checkobedience
- usedmovetext
- doturn
- batonpass
- endmove
-
-Pursuit:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- pursuit
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-RapidSpin:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- clearhazards
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-MorningSun:
- checkobedience
- usedmovetext
- doturn
- healmorn
- endmove
-
-Synthesis:
- checkobedience
- usedmovetext
- doturn
- healday
- endmove
-
-Moonlight:
- checkobedience
- usedmovetext
- doturn
- healnite
- endmove
-
-HiddenPower:
- checkobedience
- usedmovetext
- doturn
- critical
- hiddenpower
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-RainDance:
- checkobedience
- usedmovetext
- doturn
- startrain
- endmove
-
-SunnyDay:
- checkobedience
- usedmovetext
- doturn
- startsun
- endmove
-
-FakeOut:
- checkobedience
- usedmovetext
- doturn
- checkhit
- fakeout
- hittarget
- failuretext
- endmove
-
-BellyDrum:
- checkobedience
- usedmovetext
- doturn
- bellydrum
- endmove
-
-PsychUp:
- checkobedience
- usedmovetext
- doturn
- psychup
- endmove
-
-MirrorCoat:
- checkobedience
- usedmovetext
- doturn
- mirrorcoat
- hittarget
- failuretext
- checkfaint
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-SkullBash:
- checkcharge
- checkobedience
- doturn
- charge
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endturn
- defenseup
- statupmessage
- endmove
-
-Twister:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- doubleflyingdamage
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- flinchtarget
- endmove
-
-Earthquake:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- doubleundergrounddamage
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- endmove
-
-FutureSight:
- checkfuturesight
- checkobedience
- usedmovetext
- doturn
- damagestats
- damagecalc
- futuresight
- damagevariation ; skip here if last turn
- checkhit
- hittargetnosub
- failuretext
- checkfaint
- checkdestinybond
- buildopponentrage
- endmove
-
-Gust:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- doubleflyingdamage
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- endmove
-
-Stomp:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- doubleminimizedamage
- checkhit
- effectchance
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- flinchtarget
- endmove
-
-Solarbeam:
- checkcharge
- checkobedience
- doturn
- skipsuncharge
- charge
- usedmovetext
- critical
- damagestats
- damagecalc
- stab
- damagevariation
- checkhit
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- kingsrock
- endmove
-
-Thunder:
- checkobedience
- usedmovetext
- doturn
- critical
- damagestats
- damagecalc
- thunderaccuracy
- checkhit
- effectchance
- stab
- damagevariation
- hittarget
- failuretext
- checkfaint
- criticaltext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- paralyzetarget
- endmove
-
-Teleport:
- checkobedience
- usedmovetext
- doturn
- teleport
- endmove
-
-BeatUp:
- checkobedience
- usedmovetext
- movedelay
- doturn
- startloop
- lowersub
- checkhit
- critical
- beatup
- damagecalc
- damagevariation
- clearmissdamage
- hittargetnosub
- failuretext
- checkfaint
- criticaltext
- cleartext
- supereffectivetext
- checkdestinybond
- buildopponentrage
- endloop
- effect0xa8
- raisesub
- kingsrock
- endmove
-
-DefenseCurl:
- checkobedience
- usedmovetext
- doturn
- defenseup
- curl
- lowersub
- statupanim
- raisesub
- statupmessage
- statupfailtext
- endmove
--- a/data/moves/move_effects_pointers.asm
+++ /dev/null
@@ -1,159 +1,0 @@
-MoveEffectsPointers: ; 271f4
-; entries correspond to EFFECT_* constants
- dw NormalHit
- dw DoSleep
- dw PoisonHit
- dw LeechHit
- dw BurnHit
- dw FreezeHit
- dw ParalyzeHit
- dw Selfdestruct
- dw DreamEater
- dw MirrorMove
- dw AttackUp
- dw DefenseUp
- dw SpeedUp
- dw SpecialAttackUp
- dw SpecialDefenseUp
- dw AccuracyUp
- dw EvasionUp
- dw NormalHit
- dw AttackDown
- dw DefenseDown
- dw SpeedDown
- dw SpecialAttackDown
- dw SpecialDefenseDown
- dw AccuracyDown
- dw EvasionDown
- dw ResetStats
- dw Bide
- dw Rampage
- dw ForceSwitch
- dw MultiHit
- dw Conversion
- dw FlinchHit
- dw Heal
- dw Toxic
- dw PayDay
- dw LightScreen
- dw TriAttack
- dw NormalHit
- dw OHKOHit
- dw RazorWind
- dw SuperFang
- dw StaticDamage
- dw TrapTarget
- dw NormalHit
- dw MultiHit
- dw NormalHit
- dw Mist
- dw FocusEnergy
- dw RecoilHit
- dw DoConfuse
- dw AttackUp2
- dw DefenseUp2
- dw SpeedUp2
- dw SpecialAttackUp2
- dw SpecialDefenseUp2
- dw AccuracyUp2
- dw EvasionUp2
- dw Transform
- dw AttackDown2
- dw DefenseDown2
- dw SpeedDown2
- dw SpecialAttackDown2
- dw SpecialDefenseDown2
- dw AccuracyDown2
- dw EvasionDown2
- dw Reflect
- dw DoPoison
- dw DoParalyze
- dw AttackDownHit
- dw DefenseDownHit
- dw SpeedDownHit
- dw SpecialAttackDownHit
- dw SpecialDefenseDownHit
- dw AccuracyDownHit
- dw EvasionDownHit
- dw SkyAttack
- dw ConfuseHit
- dw PoisonMultiHit
- dw NormalHit
- dw Substitute
- dw HyperBeam
- dw Rage
- dw Mimic
- dw Metronome
- dw LeechSeed
- dw Splash
- dw Disable
- dw StaticDamage
- dw Psywave
- dw Counter
- dw Encore
- dw PainSplit
- dw Snore
- dw Conversion2
- dw LockOn
- dw Sketch
- dw DefrostOpponent
- dw SleepTalk
- dw DestinyBond
- dw Reversal
- dw Spite
- dw FalseSwipe
- dw HealBell
- dw NormalHit
- dw TripleKick
- dw Thief
- dw MeanLook
- dw Nightmare
- dw FlameWheel
- dw Curse
- dw NormalHit
- dw Protect
- dw Spikes
- dw Foresight
- dw PerishSong
- dw Sandstorm
- dw Endure
- dw Rollout
- dw Swagger
- dw FuryCutter
- dw Attract
- dw Return
- dw Present
- dw Frustration
- dw Safeguard
- dw SacredFire
- dw Magnitude
- dw BatonPass
- dw Pursuit
- dw RapidSpin
- dw NormalHit
- dw NormalHit
- dw MorningSun
- dw Synthesis
- dw Moonlight
- dw HiddenPower
- dw RainDance
- dw SunnyDay
- dw DefenseUpHit
- dw AttackUpHit
- dw AllUpHit
- dw FakeOut
- dw BellyDrum
- dw PsychUp
- dw MirrorCoat
- dw SkullBash
- dw Twister
- dw Earthquake
- dw FutureSight
- dw Gust
- dw Stomp
- dw Solarbeam
- dw Thunder
- dw Teleport
- dw BeatUp
- dw Fly
- dw DefenseCurl
--- a/data/moves/move_names.asm
+++ /dev/null
@@ -1,252 +1,0 @@
-MoveNames::
- db "POUND@"
- db "KARATE CHOP@"
- db "DOUBLESLAP@"
- db "COMET PUNCH@"
- db "MEGA PUNCH@"
- db "PAY DAY@"
- db "FIRE PUNCH@"
- db "ICE PUNCH@"
- db "THUNDERPUNCH@"
- db "SCRATCH@"
- db "VICEGRIP@"
- db "GUILLOTINE@"
- db "RAZOR WIND@"
- db "SWORDS DANCE@"
- db "CUT@"
- db "GUST@"
- db "WING ATTACK@"
- db "WHIRLWIND@"
- db "FLY@"
- db "BIND@"
- db "SLAM@"
- db "VINE WHIP@"
- db "STOMP@"
- db "DOUBLE KICK@"
- db "MEGA KICK@"
- db "JUMP KICK@"
- db "ROLLING KICK@"
- db "SAND-ATTACK@"
- db "HEADBUTT@"
- db "HORN ATTACK@"
- db "FURY ATTACK@"
- db "HORN DRILL@"
- db "TACKLE@"
- db "BODY SLAM@"
- db "WRAP@"
- db "TAKE DOWN@"
- db "THRASH@"
- db "DOUBLE-EDGE@"
- db "TAIL WHIP@"
- db "POISON STING@"
- db "TWINEEDLE@"
- db "PIN MISSILE@"
- db "LEER@"
- db "BITE@"
- db "GROWL@"
- db "ROAR@"
- db "SING@"
- db "SUPERSONIC@"
- db "SONICBOOM@"
- db "DISABLE@"
- db "ACID@"
- db "EMBER@"
- db "FLAMETHROWER@"
- db "MIST@"
- db "WATER GUN@"
- db "HYDRO PUMP@"
- db "SURF@"
- db "ICE BEAM@"
- db "BLIZZARD@"
- db "PSYBEAM@"
- db "BUBBLEBEAM@"
- db "AURORA BEAM@"
- db "HYPER BEAM@"
- db "PECK@"
- db "DRILL PECK@"
- db "SUBMISSION@"
- db "LOW KICK@"
- db "COUNTER@"
- db "SEISMIC TOSS@"
- db "STRENGTH@"
- db "ABSORB@"
- db "MEGA DRAIN@"
- db "LEECH SEED@"
- db "GROWTH@"
- db "RAZOR LEAF@"
- db "SOLARBEAM@"
- db "POISONPOWDER@"
- db "STUN SPORE@"
- db "SLEEP POWDER@"
- db "PETAL DANCE@"
- db "STRING SHOT@"
- db "DRAGON RAGE@"
- db "FIRE SPIN@"
- db "THUNDERSHOCK@"
- db "THUNDERBOLT@"
- db "THUNDER WAVE@"
- db "THUNDER@"
- db "ROCK THROW@"
- db "EARTHQUAKE@"
- db "FISSURE@"
- db "DIG@"
- db "TOXIC@"
- db "CONFUSION@"
- db "PSYCHIC@"
- db "HYPNOSIS@"
- db "MEDITATE@"
- db "AGILITY@"
- db "QUICK ATTACK@"
- db "RAGE@"
- db "TELEPORT@"
- db "NIGHT SHADE@"
- db "MIMIC@"
- db "SCREECH@"
- db "DOUBLE TEAM@"
- db "RECOVER@"
- db "HARDEN@"
- db "MINIMIZE@"
- db "SMOKESCREEN@"
- db "CONFUSE RAY@"
- db "WITHDRAW@"
- db "DEFENSE CURL@"
- db "BARRIER@"
- db "LIGHT SCREEN@"
- db "HAZE@"
- db "REFLECT@"
- db "FOCUS ENERGY@"
- db "BIDE@"
- db "METRONOME@"
- db "MIRROR MOVE@"
- db "SELFDESTRUCT@"
- db "EGG BOMB@"
- db "LICK@"
- db "SMOG@"
- db "SLUDGE@"
- db "BONE CLUB@"
- db "FIRE BLAST@"
- db "WATERFALL@"
- db "CLAMP@"
- db "SWIFT@"
- db "SKULL BASH@"
- db "SPIKE CANNON@"
- db "CONSTRICT@"
- db "AMNESIA@"
- db "KINESIS@"
- db "SOFTBOILED@"
- db "HI JUMP KICK@"
- db "GLARE@"
- db "DREAM EATER@"
- db "POISON GAS@"
- db "BARRAGE@"
- db "LEECH LIFE@"
- db "LOVELY KISS@"
- db "SKY ATTACK@"
- db "TRANSFORM@"
- db "BUBBLE@"
- db "DIZZY PUNCH@"
- db "SPORE@"
- db "FLASH@"
- db "PSYWAVE@"
- db "SPLASH@"
- db "ACID ARMOR@"
- db "CRABHAMMER@"
- db "EXPLOSION@"
- db "FURY SWIPES@"
- db "BONEMERANG@"
- db "REST@"
- db "ROCK SLIDE@"
- db "HYPER FANG@"
- db "SHARPEN@"
- db "CONVERSION@"
- db "TRI ATTACK@"
- db "SUPER FANG@"
- db "SLASH@"
- db "SUBSTITUTE@"
- db "STRUGGLE@"
- db "SKETCH@"
- db "TRIPLE KICK@"
- db "THIEF@"
- db "SPIDER WEB@"
- db "MIND READER@"
- db "NIGHTMARE@"
- db "FLAME WHEEL@"
- db "SNORE@"
- db "CURSE@"
- db "FLAIL@"
- db "CONVERSION2@"
- db "AEROBLAST@"
- db "COTTON SPORE@"
- db "REVERSAL@"
- db "SPITE@"
- db "POWDER SNOW@"
- db "PROTECT@"
- db "MACH PUNCH@"
- db "SCARY FACE@"
- db "FAINT ATTACK@"
- db "SWEET KISS@"
- db "BELLY DRUM@"
- db "SLUDGE BOMB@"
- db "MUD-SLAP@"
- db "OCTAZOOKA@"
- db "SPIKES@"
- db "ZAP CANNON@"
- db "FORESIGHT@"
- db "DESTINY BOND@"
- db "PERISH SONG@"
- db "ICY WIND@"
- db "DETECT@"
- db "BONE RUSH@"
- db "LOCK-ON@"
- db "OUTRAGE@"
- db "SANDSTORM@"
- db "GIGA DRAIN@"
- db "ENDURE@"
- db "CHARM@"
- db "ROLLOUT@"
- db "FALSE SWIPE@"
- db "SWAGGER@"
- db "MILK DRINK@"
- db "SPARK@"
- db "FURY CUTTER@"
- db "STEEL WING@"
- db "MEAN LOOK@"
- db "ATTRACT@"
- db "SLEEP TALK@"
- db "HEAL BELL@"
- db "RETURN@"
- db "PRESENT@"
- db "FRUSTRATION@"
- db "SAFEGUARD@"
- db "PAIN SPLIT@"
- db "SACRED FIRE@"
- db "MAGNITUDE@"
- db "DYNAMICPUNCH@"
- db "MEGAHORN@"
- db "DRAGONBREATH@"
- db "BATON PASS@"
- db "ENCORE@"
- db "PURSUIT@"
- db "RAPID SPIN@"
- db "SWEET SCENT@"
- db "IRON TAIL@"
- db "METAL CLAW@"
- db "VITAL THROW@"
- db "MORNING SUN@"
- db "SYNTHESIS@"
- db "MOONLIGHT@"
- db "HIDDEN POWER@"
- db "CROSS CHOP@"
- db "TWISTER@"
- db "RAIN DANCE@"
- db "SUNNY DAY@"
- db "CRUNCH@"
- db "MIRROR COAT@"
- db "PSYCH UP@"
- db "EXTREMESPEED@"
- db "ANCIENTPOWER@"
- db "SHADOW BALL@"
- db "FUTURE SIGHT@"
- db "ROCK SMASH@"
- db "WHIRLPOOL@"
- db "BEAT UP@"
--- /dev/null
+++ b/data/moves/names.asm
@@ -1,0 +1,252 @@
+MoveNames::
+ db "POUND@"
+ db "KARATE CHOP@"
+ db "DOUBLESLAP@"
+ db "COMET PUNCH@"
+ db "MEGA PUNCH@"
+ db "PAY DAY@"
+ db "FIRE PUNCH@"
+ db "ICE PUNCH@"
+ db "THUNDERPUNCH@"
+ db "SCRATCH@"
+ db "VICEGRIP@"
+ db "GUILLOTINE@"
+ db "RAZOR WIND@"
+ db "SWORDS DANCE@"
+ db "CUT@"
+ db "GUST@"
+ db "WING ATTACK@"
+ db "WHIRLWIND@"
+ db "FLY@"
+ db "BIND@"
+ db "SLAM@"
+ db "VINE WHIP@"
+ db "STOMP@"
+ db "DOUBLE KICK@"
+ db "MEGA KICK@"
+ db "JUMP KICK@"
+ db "ROLLING KICK@"
+ db "SAND-ATTACK@"
+ db "HEADBUTT@"
+ db "HORN ATTACK@"
+ db "FURY ATTACK@"
+ db "HORN DRILL@"
+ db "TACKLE@"
+ db "BODY SLAM@"
+ db "WRAP@"
+ db "TAKE DOWN@"
+ db "THRASH@"
+ db "DOUBLE-EDGE@"
+ db "TAIL WHIP@"
+ db "POISON STING@"
+ db "TWINEEDLE@"
+ db "PIN MISSILE@"
+ db "LEER@"
+ db "BITE@"
+ db "GROWL@"
+ db "ROAR@"
+ db "SING@"
+ db "SUPERSONIC@"
+ db "SONICBOOM@"
+ db "DISABLE@"
+ db "ACID@"
+ db "EMBER@"
+ db "FLAMETHROWER@"
+ db "MIST@"
+ db "WATER GUN@"
+ db "HYDRO PUMP@"
+ db "SURF@"
+ db "ICE BEAM@"
+ db "BLIZZARD@"
+ db "PSYBEAM@"
+ db "BUBBLEBEAM@"
+ db "AURORA BEAM@"
+ db "HYPER BEAM@"
+ db "PECK@"
+ db "DRILL PECK@"
+ db "SUBMISSION@"
+ db "LOW KICK@"
+ db "COUNTER@"
+ db "SEISMIC TOSS@"
+ db "STRENGTH@"
+ db "ABSORB@"
+ db "MEGA DRAIN@"
+ db "LEECH SEED@"
+ db "GROWTH@"
+ db "RAZOR LEAF@"
+ db "SOLARBEAM@"
+ db "POISONPOWDER@"
+ db "STUN SPORE@"
+ db "SLEEP POWDER@"
+ db "PETAL DANCE@"
+ db "STRING SHOT@"
+ db "DRAGON RAGE@"
+ db "FIRE SPIN@"
+ db "THUNDERSHOCK@"
+ db "THUNDERBOLT@"
+ db "THUNDER WAVE@"
+ db "THUNDER@"
+ db "ROCK THROW@"
+ db "EARTHQUAKE@"
+ db "FISSURE@"
+ db "DIG@"
+ db "TOXIC@"
+ db "CONFUSION@"
+ db "PSYCHIC@"
+ db "HYPNOSIS@"
+ db "MEDITATE@"
+ db "AGILITY@"
+ db "QUICK ATTACK@"
+ db "RAGE@"
+ db "TELEPORT@"
+ db "NIGHT SHADE@"
+ db "MIMIC@"
+ db "SCREECH@"
+ db "DOUBLE TEAM@"
+ db "RECOVER@"
+ db "HARDEN@"
+ db "MINIMIZE@"
+ db "SMOKESCREEN@"
+ db "CONFUSE RAY@"
+ db "WITHDRAW@"
+ db "DEFENSE CURL@"
+ db "BARRIER@"
+ db "LIGHT SCREEN@"
+ db "HAZE@"
+ db "REFLECT@"
+ db "FOCUS ENERGY@"
+ db "BIDE@"
+ db "METRONOME@"
+ db "MIRROR MOVE@"
+ db "SELFDESTRUCT@"
+ db "EGG BOMB@"
+ db "LICK@"
+ db "SMOG@"
+ db "SLUDGE@"
+ db "BONE CLUB@"
+ db "FIRE BLAST@"
+ db "WATERFALL@"
+ db "CLAMP@"
+ db "SWIFT@"
+ db "SKULL BASH@"
+ db "SPIKE CANNON@"
+ db "CONSTRICT@"
+ db "AMNESIA@"
+ db "KINESIS@"
+ db "SOFTBOILED@"
+ db "HI JUMP KICK@"
+ db "GLARE@"
+ db "DREAM EATER@"
+ db "POISON GAS@"
+ db "BARRAGE@"
+ db "LEECH LIFE@"
+ db "LOVELY KISS@"
+ db "SKY ATTACK@"
+ db "TRANSFORM@"
+ db "BUBBLE@"
+ db "DIZZY PUNCH@"
+ db "SPORE@"
+ db "FLASH@"
+ db "PSYWAVE@"
+ db "SPLASH@"
+ db "ACID ARMOR@"
+ db "CRABHAMMER@"
+ db "EXPLOSION@"
+ db "FURY SWIPES@"
+ db "BONEMERANG@"
+ db "REST@"
+ db "ROCK SLIDE@"
+ db "HYPER FANG@"
+ db "SHARPEN@"
+ db "CONVERSION@"
+ db "TRI ATTACK@"
+ db "SUPER FANG@"
+ db "SLASH@"
+ db "SUBSTITUTE@"
+ db "STRUGGLE@"
+ db "SKETCH@"
+ db "TRIPLE KICK@"
+ db "THIEF@"
+ db "SPIDER WEB@"
+ db "MIND READER@"
+ db "NIGHTMARE@"
+ db "FLAME WHEEL@"
+ db "SNORE@"
+ db "CURSE@"
+ db "FLAIL@"
+ db "CONVERSION2@"
+ db "AEROBLAST@"
+ db "COTTON SPORE@"
+ db "REVERSAL@"
+ db "SPITE@"
+ db "POWDER SNOW@"
+ db "PROTECT@"
+ db "MACH PUNCH@"
+ db "SCARY FACE@"
+ db "FAINT ATTACK@"
+ db "SWEET KISS@"
+ db "BELLY DRUM@"
+ db "SLUDGE BOMB@"
+ db "MUD-SLAP@"
+ db "OCTAZOOKA@"
+ db "SPIKES@"
+ db "ZAP CANNON@"
+ db "FORESIGHT@"
+ db "DESTINY BOND@"
+ db "PERISH SONG@"
+ db "ICY WIND@"
+ db "DETECT@"
+ db "BONE RUSH@"
+ db "LOCK-ON@"
+ db "OUTRAGE@"
+ db "SANDSTORM@"
+ db "GIGA DRAIN@"
+ db "ENDURE@"
+ db "CHARM@"
+ db "ROLLOUT@"
+ db "FALSE SWIPE@"
+ db "SWAGGER@"
+ db "MILK DRINK@"
+ db "SPARK@"
+ db "FURY CUTTER@"
+ db "STEEL WING@"
+ db "MEAN LOOK@"
+ db "ATTRACT@"
+ db "SLEEP TALK@"
+ db "HEAL BELL@"
+ db "RETURN@"
+ db "PRESENT@"
+ db "FRUSTRATION@"
+ db "SAFEGUARD@"
+ db "PAIN SPLIT@"
+ db "SACRED FIRE@"
+ db "MAGNITUDE@"
+ db "DYNAMICPUNCH@"
+ db "MEGAHORN@"
+ db "DRAGONBREATH@"
+ db "BATON PASS@"
+ db "ENCORE@"
+ db "PURSUIT@"
+ db "RAPID SPIN@"
+ db "SWEET SCENT@"
+ db "IRON TAIL@"
+ db "METAL CLAW@"
+ db "VITAL THROW@"
+ db "MORNING SUN@"
+ db "SYNTHESIS@"
+ db "MOONLIGHT@"
+ db "HIDDEN POWER@"
+ db "CROSS CHOP@"
+ db "TWISTER@"
+ db "RAIN DANCE@"
+ db "SUNNY DAY@"
+ db "CRUNCH@"
+ db "MIRROR COAT@"
+ db "PSYCH UP@"
+ db "EXTREMESPEED@"
+ db "ANCIENTPOWER@"
+ db "SHADOW BALL@"
+ db "FUTURE SIGHT@"
+ db "ROCK SMASH@"
+ db "WHIRLPOOL@"
+ db "BEAT UP@"
--- a/data/palettes/pokemon_palettes.asm
+++ /dev/null
@@ -1,542 +1,0 @@
-PokemonPalettes: ; a8ce
-; entries correspond to Pokémon species, two apiece
-
-; 000
- RGB 30, 22, 17
- RGB 16, 14, 19
-; 000 shiny
- RGB 30, 22, 17
- RGB 16, 14, 19
-
-INCLUDE "gfx/pokemon/bulbasaur/normal.pal"
-INCLUDE "gfx/pokemon/bulbasaur/shiny.pal"
-INCLUDE "gfx/pokemon/ivysaur/normal.pal"
-INCLUDE "gfx/pokemon/ivysaur/shiny.pal"
-INCLUDE "gfx/pokemon/venusaur/normal.pal"
-INCLUDE "gfx/pokemon/venusaur/shiny.pal"
-INCLUDE "gfx/pokemon/charmander/normal.pal"
-INCLUDE "gfx/pokemon/charmander/shiny.pal"
-INCLUDE "gfx/pokemon/charmeleon/normal.pal"
-INCLUDE "gfx/pokemon/charmeleon/shiny.pal"
-INCLUDE "gfx/pokemon/charizard/normal.pal"
-INCLUDE "gfx/pokemon/charizard/shiny.pal"
-INCLUDE "gfx/pokemon/squirtle/normal.pal"
-INCLUDE "gfx/pokemon/squirtle/shiny.pal"
-INCLUDE "gfx/pokemon/wartortle/normal.pal"
-INCLUDE "gfx/pokemon/wartortle/shiny.pal"
-INCLUDE "gfx/pokemon/blastoise/normal.pal"
-INCLUDE "gfx/pokemon/blastoise/shiny.pal"
-INCLUDE "gfx/pokemon/caterpie/normal.pal"
-INCLUDE "gfx/pokemon/caterpie/shiny.pal"
-INCLUDE "gfx/pokemon/metapod/normal.pal"
-INCLUDE "gfx/pokemon/metapod/shiny.pal"
-INCLUDE "gfx/pokemon/butterfree/normal.pal"
-INCLUDE "gfx/pokemon/butterfree/shiny.pal"
-INCLUDE "gfx/pokemon/weedle/normal.pal"
-INCLUDE "gfx/pokemon/weedle/shiny.pal"
-INCLUDE "gfx/pokemon/kakuna/normal.pal"
-INCLUDE "gfx/pokemon/kakuna/shiny.pal"
-INCLUDE "gfx/pokemon/beedrill/normal.pal"
-INCLUDE "gfx/pokemon/beedrill/shiny.pal"
-INCLUDE "gfx/pokemon/pidgey/normal.pal"
-INCLUDE "gfx/pokemon/pidgey/shiny.pal"
-INCLUDE "gfx/pokemon/pidgeotto/normal.pal"
-INCLUDE "gfx/pokemon/pidgeotto/shiny.pal"
-INCLUDE "gfx/pokemon/pidgeot/normal.pal"
-INCLUDE "gfx/pokemon/pidgeot/shiny.pal"
-INCLUDE "gfx/pokemon/rattata/normal.pal"
-INCLUDE "gfx/pokemon/rattata/shiny.pal"
-INCLUDE "gfx/pokemon/raticate/normal.pal"
-INCLUDE "gfx/pokemon/raticate/shiny.pal"
-INCLUDE "gfx/pokemon/spearow/normal.pal"
-INCLUDE "gfx/pokemon/spearow/shiny.pal"
-INCLUDE "gfx/pokemon/fearow/normal.pal"
-INCLUDE "gfx/pokemon/fearow/shiny.pal"
-INCLUDE "gfx/pokemon/ekans/normal.pal"
-INCLUDE "gfx/pokemon/ekans/shiny.pal"
-INCLUDE "gfx/pokemon/arbok/normal.pal"
-INCLUDE "gfx/pokemon/arbok/shiny.pal"
-INCLUDE "gfx/pokemon/pikachu/normal.pal"
-INCLUDE "gfx/pokemon/pikachu/shiny.pal"
-INCLUDE "gfx/pokemon/raichu/normal.pal"
-INCLUDE "gfx/pokemon/raichu/shiny.pal"
-INCLUDE "gfx/pokemon/sandshrew/normal.pal"
-INCLUDE "gfx/pokemon/sandshrew/shiny.pal"
-INCLUDE "gfx/pokemon/sandslash/normal.pal"
-INCLUDE "gfx/pokemon/sandslash/shiny.pal"
-INCLUDE "gfx/pokemon/nidoran_f/normal.pal"
-INCLUDE "gfx/pokemon/nidoran_f/shiny.pal"
-INCLUDE "gfx/pokemon/nidorina/normal.pal"
-INCLUDE "gfx/pokemon/nidorina/shiny.pal"
-INCLUDE "gfx/pokemon/nidoqueen/normal.pal"
-INCLUDE "gfx/pokemon/nidoqueen/shiny.pal"
-INCLUDE "gfx/pokemon/nidoran_m/normal.pal"
-INCLUDE "gfx/pokemon/nidoran_m/shiny.pal"
-INCLUDE "gfx/pokemon/nidorino/normal.pal"
-INCLUDE "gfx/pokemon/nidorino/shiny.pal"
-INCLUDE "gfx/pokemon/nidoking/normal.pal"
-INCLUDE "gfx/pokemon/nidoking/shiny.pal"
-INCLUDE "gfx/pokemon/clefairy/normal.pal"
-INCLUDE "gfx/pokemon/clefairy/shiny.pal"
-INCLUDE "gfx/pokemon/clefable/normal.pal"
-INCLUDE "gfx/pokemon/clefable/shiny.pal"
-INCLUDE "gfx/pokemon/vulpix/normal.pal"
-INCLUDE "gfx/pokemon/vulpix/shiny.pal"
-INCLUDE "gfx/pokemon/ninetales/normal.pal"
-INCLUDE "gfx/pokemon/ninetales/shiny.pal"
-INCLUDE "gfx/pokemon/jigglypuff/normal.pal"
-INCLUDE "gfx/pokemon/jigglypuff/shiny.pal"
-INCLUDE "gfx/pokemon/wigglytuff/normal.pal"
-INCLUDE "gfx/pokemon/wigglytuff/shiny.pal"
-INCLUDE "gfx/pokemon/zubat/normal.pal"
-INCLUDE "gfx/pokemon/zubat/shiny.pal"
-INCLUDE "gfx/pokemon/golbat/normal.pal"
-INCLUDE "gfx/pokemon/golbat/shiny.pal"
-INCLUDE "gfx/pokemon/oddish/normal.pal"
-INCLUDE "gfx/pokemon/oddish/shiny.pal"
-INCLUDE "gfx/pokemon/gloom/normal.pal"
-INCLUDE "gfx/pokemon/gloom/shiny.pal"
-INCLUDE "gfx/pokemon/vileplume/normal.pal"
-INCLUDE "gfx/pokemon/vileplume/shiny.pal"
-INCLUDE "gfx/pokemon/paras/normal.pal"
-INCLUDE "gfx/pokemon/paras/shiny.pal"
-INCLUDE "gfx/pokemon/parasect/normal.pal"
-INCLUDE "gfx/pokemon/parasect/shiny.pal"
-INCLUDE "gfx/pokemon/venonat/normal.pal"
-INCLUDE "gfx/pokemon/venonat/shiny.pal"
-INCLUDE "gfx/pokemon/venomoth/normal.pal"
-INCLUDE "gfx/pokemon/venomoth/shiny.pal"
-INCLUDE "gfx/pokemon/diglett/normal.pal"
-INCLUDE "gfx/pokemon/diglett/shiny.pal"
-INCLUDE "gfx/pokemon/dugtrio/normal.pal"
-INCLUDE "gfx/pokemon/dugtrio/shiny.pal"
-INCLUDE "gfx/pokemon/meowth/normal.pal"
-INCLUDE "gfx/pokemon/meowth/shiny.pal"
-INCLUDE "gfx/pokemon/persian/normal.pal"
-INCLUDE "gfx/pokemon/persian/shiny.pal"
-INCLUDE "gfx/pokemon/psyduck/normal.pal"
-INCLUDE "gfx/pokemon/psyduck/shiny.pal"
-INCLUDE "gfx/pokemon/golduck/normal.pal"
-INCLUDE "gfx/pokemon/golduck/shiny.pal"
-INCLUDE "gfx/pokemon/mankey/normal.pal"
-INCLUDE "gfx/pokemon/mankey/shiny.pal"
-INCLUDE "gfx/pokemon/primeape/normal.pal"
-INCLUDE "gfx/pokemon/primeape/shiny.pal"
-INCLUDE "gfx/pokemon/growlithe/normal.pal"
-INCLUDE "gfx/pokemon/growlithe/shiny.pal"
-INCLUDE "gfx/pokemon/arcanine/normal.pal"
-INCLUDE "gfx/pokemon/arcanine/shiny.pal"
-INCLUDE "gfx/pokemon/poliwag/normal.pal"
-INCLUDE "gfx/pokemon/poliwag/shiny.pal"
-INCLUDE "gfx/pokemon/poliwhirl/normal.pal"
-INCLUDE "gfx/pokemon/poliwhirl/shiny.pal"
-INCLUDE "gfx/pokemon/poliwrath/normal.pal"
-INCLUDE "gfx/pokemon/poliwrath/shiny.pal"
-INCLUDE "gfx/pokemon/abra/normal.pal"
-INCLUDE "gfx/pokemon/abra/shiny.pal"
-INCLUDE "gfx/pokemon/kadabra/normal.pal"
-INCLUDE "gfx/pokemon/kadabra/shiny.pal"
-INCLUDE "gfx/pokemon/alakazam/normal.pal"
-INCLUDE "gfx/pokemon/alakazam/shiny.pal"
-INCLUDE "gfx/pokemon/machop/normal.pal"
-INCLUDE "gfx/pokemon/machop/shiny.pal"
-INCLUDE "gfx/pokemon/machoke/normal.pal"
-INCLUDE "gfx/pokemon/machoke/shiny.pal"
-INCLUDE "gfx/pokemon/machamp/normal.pal"
-INCLUDE "gfx/pokemon/machamp/shiny.pal"
-INCLUDE "gfx/pokemon/bellsprout/normal.pal"
-INCLUDE "gfx/pokemon/bellsprout/shiny.pal"
-INCLUDE "gfx/pokemon/weepinbell/normal.pal"
-INCLUDE "gfx/pokemon/weepinbell/shiny.pal"
-INCLUDE "gfx/pokemon/victreebel/normal.pal"
-INCLUDE "gfx/pokemon/victreebel/shiny.pal"
-INCLUDE "gfx/pokemon/tentacool/normal.pal"
-INCLUDE "gfx/pokemon/tentacool/shiny.pal"
-INCLUDE "gfx/pokemon/tentacruel/normal.pal"
-INCLUDE "gfx/pokemon/tentacruel/shiny.pal"
-INCLUDE "gfx/pokemon/geodude/normal.pal"
-INCLUDE "gfx/pokemon/geodude/shiny.pal"
-INCLUDE "gfx/pokemon/graveler/normal.pal"
-INCLUDE "gfx/pokemon/graveler/shiny.pal"
-INCLUDE "gfx/pokemon/golem/normal.pal"
-INCLUDE "gfx/pokemon/golem/shiny.pal"
-INCLUDE "gfx/pokemon/ponyta/normal.pal"
-INCLUDE "gfx/pokemon/ponyta/shiny.pal"
-INCLUDE "gfx/pokemon/rapidash/normal.pal"
-INCLUDE "gfx/pokemon/rapidash/shiny.pal"
-INCLUDE "gfx/pokemon/slowpoke/normal.pal"
-INCLUDE "gfx/pokemon/slowpoke/shiny.pal"
-INCLUDE "gfx/pokemon/slowbro/normal.pal"
-INCLUDE "gfx/pokemon/slowbro/shiny.pal"
-INCLUDE "gfx/pokemon/magnemite/normal.pal"
-INCLUDE "gfx/pokemon/magnemite/shiny.pal"
-INCLUDE "gfx/pokemon/magneton/normal.pal"
-INCLUDE "gfx/pokemon/magneton/shiny.pal"
-INCLUDE "gfx/pokemon/farfetch_d/normal.pal"
-INCLUDE "gfx/pokemon/farfetch_d/shiny.pal"
-INCLUDE "gfx/pokemon/doduo/normal.pal"
-INCLUDE "gfx/pokemon/doduo/shiny.pal"
-INCLUDE "gfx/pokemon/dodrio/normal.pal"
-INCLUDE "gfx/pokemon/dodrio/shiny.pal"
-INCLUDE "gfx/pokemon/seel/normal.pal"
-INCLUDE "gfx/pokemon/seel/shiny.pal"
-INCLUDE "gfx/pokemon/dewgong/normal.pal"
-INCLUDE "gfx/pokemon/dewgong/shiny.pal"
-INCLUDE "gfx/pokemon/grimer/normal.pal"
-INCLUDE "gfx/pokemon/grimer/shiny.pal"
-INCLUDE "gfx/pokemon/muk/normal.pal"
-INCLUDE "gfx/pokemon/muk/shiny.pal"
-INCLUDE "gfx/pokemon/shellder/normal.pal"
-INCLUDE "gfx/pokemon/shellder/shiny.pal"
-INCLUDE "gfx/pokemon/cloyster/normal.pal"
-INCLUDE "gfx/pokemon/cloyster/shiny.pal"
-INCLUDE "gfx/pokemon/gastly/normal.pal"
-INCLUDE "gfx/pokemon/gastly/shiny.pal"
-INCLUDE "gfx/pokemon/haunter/normal.pal"
-INCLUDE "gfx/pokemon/haunter/shiny.pal"
-INCLUDE "gfx/pokemon/gengar/normal.pal"
-INCLUDE "gfx/pokemon/gengar/shiny.pal"
-INCLUDE "gfx/pokemon/onix/normal.pal"
-INCLUDE "gfx/pokemon/onix/shiny.pal"
-INCLUDE "gfx/pokemon/drowzee/normal.pal"
-INCLUDE "gfx/pokemon/drowzee/shiny.pal"
-INCLUDE "gfx/pokemon/hypno/normal.pal"
-INCLUDE "gfx/pokemon/hypno/shiny.pal"
-INCLUDE "gfx/pokemon/krabby/normal.pal"
-INCLUDE "gfx/pokemon/krabby/shiny.pal"
-INCLUDE "gfx/pokemon/kingler/normal.pal"
-INCLUDE "gfx/pokemon/kingler/shiny.pal"
-INCLUDE "gfx/pokemon/voltorb/normal.pal"
-INCLUDE "gfx/pokemon/voltorb/shiny.pal"
-INCLUDE "gfx/pokemon/electrode/normal.pal"
-INCLUDE "gfx/pokemon/electrode/shiny.pal"
-INCLUDE "gfx/pokemon/exeggcute/normal.pal"
-INCLUDE "gfx/pokemon/exeggcute/shiny.pal"
-INCLUDE "gfx/pokemon/exeggutor/normal.pal"
-INCLUDE "gfx/pokemon/exeggutor/shiny.pal"
-INCLUDE "gfx/pokemon/cubone/normal.pal"
-INCLUDE "gfx/pokemon/cubone/shiny.pal"
-INCLUDE "gfx/pokemon/marowak/normal.pal"
-INCLUDE "gfx/pokemon/marowak/shiny.pal"
-INCLUDE "gfx/pokemon/hitmonlee/normal.pal"
-INCLUDE "gfx/pokemon/hitmonlee/shiny.pal"
-INCLUDE "gfx/pokemon/hitmonchan/normal.pal"
-INCLUDE "gfx/pokemon/hitmonchan/shiny.pal"
-INCLUDE "gfx/pokemon/lickitung/normal.pal"
-INCLUDE "gfx/pokemon/lickitung/shiny.pal"
-INCLUDE "gfx/pokemon/koffing/normal.pal"
-INCLUDE "gfx/pokemon/koffing/shiny.pal"
-INCLUDE "gfx/pokemon/weezing/normal.pal"
-INCLUDE "gfx/pokemon/weezing/shiny.pal"
-INCLUDE "gfx/pokemon/rhyhorn/normal.pal"
-INCLUDE "gfx/pokemon/rhyhorn/shiny.pal"
-INCLUDE "gfx/pokemon/rhydon/normal.pal"
-INCLUDE "gfx/pokemon/rhydon/shiny.pal"
-INCLUDE "gfx/pokemon/chansey/normal.pal"
-INCLUDE "gfx/pokemon/chansey/shiny.pal"
-INCLUDE "gfx/pokemon/tangela/normal.pal"
-INCLUDE "gfx/pokemon/tangela/shiny.pal"
-INCLUDE "gfx/pokemon/kangaskhan/normal.pal"
-INCLUDE "gfx/pokemon/kangaskhan/shiny.pal"
-INCLUDE "gfx/pokemon/horsea/normal.pal"
-INCLUDE "gfx/pokemon/horsea/shiny.pal"
-INCLUDE "gfx/pokemon/seadra/normal.pal"
-INCLUDE "gfx/pokemon/seadra/shiny.pal"
-INCLUDE "gfx/pokemon/goldeen/normal.pal"
-INCLUDE "gfx/pokemon/goldeen/shiny.pal"
-INCLUDE "gfx/pokemon/seaking/normal.pal"
-INCLUDE "gfx/pokemon/seaking/shiny.pal"
-INCLUDE "gfx/pokemon/staryu/normal.pal"
-INCLUDE "gfx/pokemon/staryu/shiny.pal"
-INCLUDE "gfx/pokemon/starmie/normal.pal"
-INCLUDE "gfx/pokemon/starmie/shiny.pal"
-INCLUDE "gfx/pokemon/mr__mime/normal.pal"
-INCLUDE "gfx/pokemon/mr__mime/shiny.pal"
-INCLUDE "gfx/pokemon/scyther/normal.pal"
-INCLUDE "gfx/pokemon/scyther/shiny.pal"
-INCLUDE "gfx/pokemon/jynx/normal.pal"
-INCLUDE "gfx/pokemon/jynx/shiny.pal"
-INCLUDE "gfx/pokemon/electabuzz/normal.pal"
-INCLUDE "gfx/pokemon/electabuzz/shiny.pal"
-INCLUDE "gfx/pokemon/magmar/normal.pal"
-INCLUDE "gfx/pokemon/magmar/shiny.pal"
-INCLUDE "gfx/pokemon/pinsir/normal.pal"
-INCLUDE "gfx/pokemon/pinsir/shiny.pal"
-INCLUDE "gfx/pokemon/tauros/normal.pal"
-INCLUDE "gfx/pokemon/tauros/shiny.pal"
-INCLUDE "gfx/pokemon/magikarp/normal.pal"
-INCLUDE "gfx/pokemon/magikarp/shiny.pal"
-INCLUDE "gfx/pokemon/gyarados/normal.pal"
-INCLUDE "gfx/pokemon/gyarados/shiny.pal"
-INCLUDE "gfx/pokemon/lapras/normal.pal"
-INCLUDE "gfx/pokemon/lapras/shiny.pal"
-INCLUDE "gfx/pokemon/ditto/normal.pal"
-INCLUDE "gfx/pokemon/ditto/shiny.pal"
-INCLUDE "gfx/pokemon/eevee/normal.pal"
-INCLUDE "gfx/pokemon/eevee/shiny.pal"
-INCLUDE "gfx/pokemon/vaporeon/normal.pal"
-INCLUDE "gfx/pokemon/vaporeon/shiny.pal"
-INCLUDE "gfx/pokemon/jolteon/normal.pal"
-INCLUDE "gfx/pokemon/jolteon/shiny.pal"
-INCLUDE "gfx/pokemon/flareon/normal.pal"
-INCLUDE "gfx/pokemon/flareon/shiny.pal"
-INCLUDE "gfx/pokemon/porygon/normal.pal"
-INCLUDE "gfx/pokemon/porygon/shiny.pal"
-INCLUDE "gfx/pokemon/omanyte/normal.pal"
-INCLUDE "gfx/pokemon/omanyte/shiny.pal"
-INCLUDE "gfx/pokemon/omastar/normal.pal"
-INCLUDE "gfx/pokemon/omastar/shiny.pal"
-INCLUDE "gfx/pokemon/kabuto/normal.pal"
-INCLUDE "gfx/pokemon/kabuto/shiny.pal"
-INCLUDE "gfx/pokemon/kabutops/normal.pal"
-INCLUDE "gfx/pokemon/kabutops/shiny.pal"
-INCLUDE "gfx/pokemon/aerodactyl/normal.pal"
-INCLUDE "gfx/pokemon/aerodactyl/shiny.pal"
-INCLUDE "gfx/pokemon/snorlax/normal.pal"
-INCLUDE "gfx/pokemon/snorlax/shiny.pal"
-INCLUDE "gfx/pokemon/articuno/normal.pal"
-INCLUDE "gfx/pokemon/articuno/shiny.pal"
-INCLUDE "gfx/pokemon/zapdos/normal.pal"
-INCLUDE "gfx/pokemon/zapdos/shiny.pal"
-INCLUDE "gfx/pokemon/moltres/normal.pal"
-INCLUDE "gfx/pokemon/moltres/shiny.pal"
-INCLUDE "gfx/pokemon/dratini/normal.pal"
-INCLUDE "gfx/pokemon/dratini/shiny.pal"
-INCLUDE "gfx/pokemon/dragonair/normal.pal"
-INCLUDE "gfx/pokemon/dragonair/shiny.pal"
-INCLUDE "gfx/pokemon/dragonite/normal.pal"
-INCLUDE "gfx/pokemon/dragonite/shiny.pal"
-INCLUDE "gfx/pokemon/mewtwo/normal.pal"
-INCLUDE "gfx/pokemon/mewtwo/shiny.pal"
-INCLUDE "gfx/pokemon/mew/normal.pal"
-INCLUDE "gfx/pokemon/mew/shiny.pal"
-INCLUDE "gfx/pokemon/chikorita/normal.pal"
-INCLUDE "gfx/pokemon/chikorita/shiny.pal"
-INCLUDE "gfx/pokemon/bayleef/normal.pal"
-INCLUDE "gfx/pokemon/bayleef/shiny.pal"
-INCLUDE "gfx/pokemon/meganium/normal.pal"
-INCLUDE "gfx/pokemon/meganium/shiny.pal"
-INCLUDE "gfx/pokemon/cyndaquil/normal.pal"
-INCLUDE "gfx/pokemon/cyndaquil/shiny.pal"
-INCLUDE "gfx/pokemon/quilava/normal.pal"
-INCLUDE "gfx/pokemon/quilava/shiny.pal"
-INCLUDE "gfx/pokemon/typhlosion/normal.pal"
-INCLUDE "gfx/pokemon/typhlosion/shiny.pal"
-INCLUDE "gfx/pokemon/totodile/normal.pal"
-INCLUDE "gfx/pokemon/totodile/shiny.pal"
-INCLUDE "gfx/pokemon/croconaw/normal.pal"
-INCLUDE "gfx/pokemon/croconaw/shiny.pal"
-INCLUDE "gfx/pokemon/feraligatr/normal.pal"
-INCLUDE "gfx/pokemon/feraligatr/shiny.pal"
-INCLUDE "gfx/pokemon/sentret/normal.pal"
-INCLUDE "gfx/pokemon/sentret/shiny.pal"
-INCLUDE "gfx/pokemon/furret/normal.pal"
-INCLUDE "gfx/pokemon/furret/shiny.pal"
-INCLUDE "gfx/pokemon/hoothoot/normal.pal"
-INCLUDE "gfx/pokemon/hoothoot/shiny.pal"
-INCLUDE "gfx/pokemon/noctowl/normal.pal"
-INCLUDE "gfx/pokemon/noctowl/shiny.pal"
-INCLUDE "gfx/pokemon/ledyba/normal.pal"
-INCLUDE "gfx/pokemon/ledyba/shiny.pal"
-INCLUDE "gfx/pokemon/ledian/normal.pal"
-INCLUDE "gfx/pokemon/ledian/shiny.pal"
-INCLUDE "gfx/pokemon/spinarak/normal.pal"
-INCLUDE "gfx/pokemon/spinarak/shiny.pal"
-INCLUDE "gfx/pokemon/ariados/normal.pal"
-INCLUDE "gfx/pokemon/ariados/shiny.pal"
-INCLUDE "gfx/pokemon/crobat/normal.pal"
-INCLUDE "gfx/pokemon/crobat/shiny.pal"
-INCLUDE "gfx/pokemon/chinchou/normal.pal"
-INCLUDE "gfx/pokemon/chinchou/shiny.pal"
-INCLUDE "gfx/pokemon/lanturn/normal.pal"
-INCLUDE "gfx/pokemon/lanturn/shiny.pal"
-INCLUDE "gfx/pokemon/pichu/normal.pal"
-INCLUDE "gfx/pokemon/pichu/shiny.pal"
-INCLUDE "gfx/pokemon/cleffa/normal.pal"
-INCLUDE "gfx/pokemon/cleffa/shiny.pal"
-INCLUDE "gfx/pokemon/igglybuff/normal.pal"
-INCLUDE "gfx/pokemon/igglybuff/shiny.pal"
-INCLUDE "gfx/pokemon/togepi/normal.pal"
-INCLUDE "gfx/pokemon/togepi/shiny.pal"
-INCLUDE "gfx/pokemon/togetic/normal.pal"
-INCLUDE "gfx/pokemon/togetic/shiny.pal"
-INCLUDE "gfx/pokemon/natu/normal.pal"
-INCLUDE "gfx/pokemon/natu/shiny.pal"
-INCLUDE "gfx/pokemon/xatu/normal.pal"
-INCLUDE "gfx/pokemon/xatu/shiny.pal"
-INCLUDE "gfx/pokemon/mareep/normal.pal"
-INCLUDE "gfx/pokemon/mareep/shiny.pal"
-INCLUDE "gfx/pokemon/flaaffy/normal.pal"
-INCLUDE "gfx/pokemon/flaaffy/shiny.pal"
-INCLUDE "gfx/pokemon/ampharos/normal.pal"
-INCLUDE "gfx/pokemon/ampharos/shiny.pal"
-INCLUDE "gfx/pokemon/bellossom/normal.pal"
-INCLUDE "gfx/pokemon/bellossom/shiny.pal"
-INCLUDE "gfx/pokemon/marill/normal.pal"
-INCLUDE "gfx/pokemon/marill/shiny.pal"
-INCLUDE "gfx/pokemon/azumarill/normal.pal"
-INCLUDE "gfx/pokemon/azumarill/shiny.pal"
-INCLUDE "gfx/pokemon/sudowoodo/normal.pal"
-INCLUDE "gfx/pokemon/sudowoodo/shiny.pal"
-INCLUDE "gfx/pokemon/politoed/normal.pal"
-INCLUDE "gfx/pokemon/politoed/shiny.pal"
-INCLUDE "gfx/pokemon/hoppip/normal.pal"
-INCLUDE "gfx/pokemon/hoppip/shiny.pal"
-INCLUDE "gfx/pokemon/skiploom/normal.pal"
-INCLUDE "gfx/pokemon/skiploom/shiny.pal"
-INCLUDE "gfx/pokemon/jumpluff/normal.pal"
-INCLUDE "gfx/pokemon/jumpluff/shiny.pal"
-INCLUDE "gfx/pokemon/aipom/normal.pal"
-INCLUDE "gfx/pokemon/aipom/shiny.pal"
-INCLUDE "gfx/pokemon/sunkern/normal.pal"
-INCLUDE "gfx/pokemon/sunkern/shiny.pal"
-INCLUDE "gfx/pokemon/sunflora/normal.pal"
-INCLUDE "gfx/pokemon/sunflora/shiny.pal"
-INCLUDE "gfx/pokemon/yanma/normal.pal"
-INCLUDE "gfx/pokemon/yanma/shiny.pal"
-INCLUDE "gfx/pokemon/wooper/normal.pal"
-INCLUDE "gfx/pokemon/wooper/shiny.pal"
-INCLUDE "gfx/pokemon/quagsire/normal.pal"
-INCLUDE "gfx/pokemon/quagsire/shiny.pal"
-INCLUDE "gfx/pokemon/espeon/normal.pal"
-INCLUDE "gfx/pokemon/espeon/shiny.pal"
-INCLUDE "gfx/pokemon/umbreon/normal.pal"
-INCLUDE "gfx/pokemon/umbreon/shiny.pal"
-INCLUDE "gfx/pokemon/murkrow/normal.pal"
-INCLUDE "gfx/pokemon/murkrow/shiny.pal"
-INCLUDE "gfx/pokemon/slowking/normal.pal"
-INCLUDE "gfx/pokemon/slowking/shiny.pal"
-INCLUDE "gfx/pokemon/misdreavus/normal.pal"
-INCLUDE "gfx/pokemon/misdreavus/shiny.pal"
-INCLUDE "gfx/pokemon/unown/normal.pal"
-INCLUDE "gfx/pokemon/unown/shiny.pal"
-INCLUDE "gfx/pokemon/wobbuffet/normal.pal"
-INCLUDE "gfx/pokemon/wobbuffet/shiny.pal"
-INCLUDE "gfx/pokemon/girafarig/normal.pal"
-INCLUDE "gfx/pokemon/girafarig/shiny.pal"
-INCLUDE "gfx/pokemon/pineco/normal.pal"
-INCLUDE "gfx/pokemon/pineco/shiny.pal"
-INCLUDE "gfx/pokemon/forretress/normal.pal"
-INCLUDE "gfx/pokemon/forretress/shiny.pal"
-INCLUDE "gfx/pokemon/dunsparce/normal.pal"
-INCLUDE "gfx/pokemon/dunsparce/shiny.pal"
-INCLUDE "gfx/pokemon/gligar/normal.pal"
-INCLUDE "gfx/pokemon/gligar/shiny.pal"
-INCLUDE "gfx/pokemon/steelix/normal.pal"
-INCLUDE "gfx/pokemon/steelix/shiny.pal"
-INCLUDE "gfx/pokemon/snubbull/normal.pal"
-INCLUDE "gfx/pokemon/snubbull/shiny.pal"
-INCLUDE "gfx/pokemon/granbull/normal.pal"
-INCLUDE "gfx/pokemon/granbull/shiny.pal"
-INCLUDE "gfx/pokemon/qwilfish/normal.pal"
-INCLUDE "gfx/pokemon/qwilfish/shiny.pal"
-INCLUDE "gfx/pokemon/scizor/normal.pal"
-INCLUDE "gfx/pokemon/scizor/shiny.pal"
-INCLUDE "gfx/pokemon/shuckle/normal.pal"
-INCLUDE "gfx/pokemon/shuckle/shiny.pal"
-INCLUDE "gfx/pokemon/heracross/normal.pal"
-INCLUDE "gfx/pokemon/heracross/shiny.pal"
-INCLUDE "gfx/pokemon/sneasel/normal.pal"
-INCLUDE "gfx/pokemon/sneasel/shiny.pal"
-INCLUDE "gfx/pokemon/teddiursa/normal.pal"
-INCLUDE "gfx/pokemon/teddiursa/shiny.pal"
-INCLUDE "gfx/pokemon/ursaring/normal.pal"
-INCLUDE "gfx/pokemon/ursaring/shiny.pal"
-INCLUDE "gfx/pokemon/slugma/normal.pal"
-INCLUDE "gfx/pokemon/slugma/shiny.pal"
-INCLUDE "gfx/pokemon/magcargo/normal.pal"
-INCLUDE "gfx/pokemon/magcargo/shiny.pal"
-INCLUDE "gfx/pokemon/swinub/normal.pal"
-INCLUDE "gfx/pokemon/swinub/shiny.pal"
-INCLUDE "gfx/pokemon/piloswine/normal.pal"
-INCLUDE "gfx/pokemon/piloswine/shiny.pal"
-INCLUDE "gfx/pokemon/corsola/normal.pal"
-INCLUDE "gfx/pokemon/corsola/shiny.pal"
-INCLUDE "gfx/pokemon/remoraid/normal.pal"
-INCLUDE "gfx/pokemon/remoraid/shiny.pal"
-INCLUDE "gfx/pokemon/octillery/normal.pal"
-INCLUDE "gfx/pokemon/octillery/shiny.pal"
-INCLUDE "gfx/pokemon/delibird/normal.pal"
-INCLUDE "gfx/pokemon/delibird/shiny.pal"
-INCLUDE "gfx/pokemon/mantine/normal.pal"
-INCLUDE "gfx/pokemon/mantine/shiny.pal"
-INCLUDE "gfx/pokemon/skarmory/normal.pal"
-INCLUDE "gfx/pokemon/skarmory/shiny.pal"
-INCLUDE "gfx/pokemon/houndour/normal.pal"
-INCLUDE "gfx/pokemon/houndour/shiny.pal"
-INCLUDE "gfx/pokemon/houndoom/normal.pal"
-INCLUDE "gfx/pokemon/houndoom/shiny.pal"
-INCLUDE "gfx/pokemon/kingdra/normal.pal"
-INCLUDE "gfx/pokemon/kingdra/shiny.pal"
-INCLUDE "gfx/pokemon/phanpy/normal.pal"
-INCLUDE "gfx/pokemon/phanpy/shiny.pal"
-INCLUDE "gfx/pokemon/donphan/normal.pal"
-INCLUDE "gfx/pokemon/donphan/shiny.pal"
-INCLUDE "gfx/pokemon/porygon2/normal.pal"
-INCLUDE "gfx/pokemon/porygon2/shiny.pal"
-INCLUDE "gfx/pokemon/stantler/normal.pal"
-INCLUDE "gfx/pokemon/stantler/shiny.pal"
-INCLUDE "gfx/pokemon/smeargle/normal.pal"
-INCLUDE "gfx/pokemon/smeargle/shiny.pal"
-INCLUDE "gfx/pokemon/tyrogue/normal.pal"
-INCLUDE "gfx/pokemon/tyrogue/shiny.pal"
-INCLUDE "gfx/pokemon/hitmontop/normal.pal"
-INCLUDE "gfx/pokemon/hitmontop/shiny.pal"
-INCLUDE "gfx/pokemon/smoochum/normal.pal"
-INCLUDE "gfx/pokemon/smoochum/shiny.pal"
-INCLUDE "gfx/pokemon/elekid/normal.pal"
-INCLUDE "gfx/pokemon/elekid/shiny.pal"
-INCLUDE "gfx/pokemon/magby/normal.pal"
-INCLUDE "gfx/pokemon/magby/shiny.pal"
-INCLUDE "gfx/pokemon/miltank/normal.pal"
-INCLUDE "gfx/pokemon/miltank/shiny.pal"
-INCLUDE "gfx/pokemon/blissey/normal.pal"
-INCLUDE "gfx/pokemon/blissey/shiny.pal"
-INCLUDE "gfx/pokemon/raikou/normal.pal"
-INCLUDE "gfx/pokemon/raikou/shiny.pal"
-INCLUDE "gfx/pokemon/entei/normal.pal"
-INCLUDE "gfx/pokemon/entei/shiny.pal"
-INCLUDE "gfx/pokemon/suicune/normal.pal"
-INCLUDE "gfx/pokemon/suicune/shiny.pal"
-INCLUDE "gfx/pokemon/larvitar/normal.pal"
-INCLUDE "gfx/pokemon/larvitar/shiny.pal"
-INCLUDE "gfx/pokemon/pupitar/normal.pal"
-INCLUDE "gfx/pokemon/pupitar/shiny.pal"
-INCLUDE "gfx/pokemon/tyranitar/normal.pal"
-INCLUDE "gfx/pokemon/tyranitar/shiny.pal"
-INCLUDE "gfx/pokemon/lugia/normal.pal"
-INCLUDE "gfx/pokemon/lugia/shiny.pal"
-INCLUDE "gfx/pokemon/ho_oh/normal.pal"
-INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
-INCLUDE "gfx/pokemon/celebi/normal.pal"
-INCLUDE "gfx/pokemon/celebi/shiny.pal"
-
-; 252
- RGB 30, 26, 11
- RGB 23, 16, 00
-; 252 shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; Egg
- RGB 30, 26, 11
- RGB 23, 16, 00
-; Egg shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; 254
- RGB 30, 26, 11
- RGB 23, 16, 00
-; 254 shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; 255
- RGB 23, 23, 23
- RGB 17, 17, 17
-; 255 shiny
- RGB 23, 23, 23
- RGB 17, 17, 17
-
-; b0ce
--- a/data/palettes/trainer_palettes.asm
+++ /dev/null
@@ -1,76 +1,0 @@
-TrainerPalettes: ; b0ce
-; entries correspond to trainer classes
-
-PlayerPalette: ; b0ce
-; Chris uses the same colors as Cal
-INCLUDE "gfx/trainers/cal.pal"
-KrisPalette: ; b0d0
-; Kris shares Falkner's palette
-INCLUDE "gfx/trainers/falkner.pal"
-INCLUDE "gfx/trainers/whitney.pal"
-INCLUDE "gfx/trainers/bugsy.pal"
-INCLUDE "gfx/trainers/morty.pal"
-INCLUDE "gfx/trainers/pryce.pal"
-INCLUDE "gfx/trainers/jasmine.pal"
-INCLUDE "gfx/trainers/chuck.pal"
-INCLUDE "gfx/trainers/clair.pal"
-INCLUDE "gfx/trainers/rival1.pal"
-INCLUDE "gfx/trainers/oak.pal"
-INCLUDE "gfx/trainers/will.pal"
-INCLUDE "gfx/trainers/cal.pal"
-INCLUDE "gfx/trainers/bruno.pal"
-INCLUDE "gfx/trainers/karen.pal"
-INCLUDE "gfx/trainers/koga.pal"
-INCLUDE "gfx/trainers/champion.pal"
-INCLUDE "gfx/trainers/brock.pal"
-INCLUDE "gfx/trainers/misty.pal"
-INCLUDE "gfx/trainers/lt_surge.pal"
-INCLUDE "gfx/trainers/scientist.pal"
-INCLUDE "gfx/trainers/erika.pal"
-INCLUDE "gfx/trainers/youngster.pal"
-INCLUDE "gfx/trainers/schoolboy.pal"
-INCLUDE "gfx/trainers/bird_keeper.pal"
-INCLUDE "gfx/trainers/lass.pal"
-INCLUDE "gfx/trainers/janine.pal"
-INCLUDE "gfx/trainers/cooltrainer_m.pal"
-INCLUDE "gfx/trainers/cooltrainer_f.pal"
-INCLUDE "gfx/trainers/beauty.pal"
-INCLUDE "gfx/trainers/pokemaniac.pal"
-INCLUDE "gfx/trainers/grunt_m.pal"
-INCLUDE "gfx/trainers/gentleman.pal"
-INCLUDE "gfx/trainers/skier.pal"
-INCLUDE "gfx/trainers/teacher.pal"
-INCLUDE "gfx/trainers/sabrina.pal"
-INCLUDE "gfx/trainers/bug_catcher.pal"
-INCLUDE "gfx/trainers/fisher.pal"
-INCLUDE "gfx/trainers/swimmer_m.pal"
-INCLUDE "gfx/trainers/swimmer_f.pal"
-INCLUDE "gfx/trainers/sailor.pal"
-INCLUDE "gfx/trainers/super_nerd.pal"
-INCLUDE "gfx/trainers/rival2.pal"
-INCLUDE "gfx/trainers/guitarist.pal"
-INCLUDE "gfx/trainers/hiker.pal"
-INCLUDE "gfx/trainers/biker.pal"
-INCLUDE "gfx/trainers/blaine.pal"
-INCLUDE "gfx/trainers/burglar.pal"
-INCLUDE "gfx/trainers/firebreather.pal"
-INCLUDE "gfx/trainers/juggler.pal"
-INCLUDE "gfx/trainers/blackbelt_t.pal"
-INCLUDE "gfx/trainers/executive_m.pal"
-INCLUDE "gfx/trainers/psychic_t.pal"
-INCLUDE "gfx/trainers/picnicker.pal"
-INCLUDE "gfx/trainers/camper.pal"
-INCLUDE "gfx/trainers/executive_f.pal"
-INCLUDE "gfx/trainers/sage.pal"
-INCLUDE "gfx/trainers/medium.pal"
-INCLUDE "gfx/trainers/boarder.pal"
-INCLUDE "gfx/trainers/pokefan_m.pal"
-INCLUDE "gfx/trainers/kimono_girl.pal"
-INCLUDE "gfx/trainers/twins.pal"
-INCLUDE "gfx/trainers/pokefan_f.pal"
-INCLUDE "gfx/trainers/red.pal"
-INCLUDE "gfx/trainers/blue.pal"
-INCLUDE "gfx/trainers/officer.pal"
-INCLUDE "gfx/trainers/grunt_f.pal"
-INCLUDE "gfx/trainers/mysticalman.pal"
-; b1de
--- /dev/null
+++ b/data/pokemon/names.asm
@@ -1,0 +1,257 @@
+PokemonNames::
+ db "BULBASAUR@"
+ db "IVYSAUR@@@"
+ db "VENUSAUR@@"
+ db "CHARMANDER"
+ db "CHARMELEON"
+ db "CHARIZARD@"
+ db "SQUIRTLE@@"
+ db "WARTORTLE@"
+ db "BLASTOISE@"
+ db "CATERPIE@@"
+ db "METAPOD@@@"
+ db "BUTTERFREE"
+ db "WEEDLE@@@@"
+ db "KAKUNA@@@@"
+ db "BEEDRILL@@"
+ db "PIDGEY@@@@"
+ db "PIDGEOTTO@"
+ db "PIDGEOT@@@"
+ db "RATTATA@@@"
+ db "RATICATE@@"
+ db "SPEAROW@@@"
+ db "FEAROW@@@@"
+ db "EKANS@@@@@"
+ db "ARBOK@@@@@"
+ db "PIKACHU@@@"
+ db "RAICHU@@@@"
+ db "SANDSHREW@"
+ db "SANDSLASH@"
+ db "NIDORAN♀@@"
+ db "NIDORINA@@"
+ db "NIDOQUEEN@"
+ db "NIDORAN♂@@"
+ db "NIDORINO@@"
+ db "NIDOKING@@"
+ db "CLEFAIRY@@"
+ db "CLEFABLE@@"
+ db "VULPIX@@@@"
+ db "NINETALES@"
+ db "JIGGLYPUFF"
+ db "WIGGLYTUFF"
+ db "ZUBAT@@@@@"
+ db "GOLBAT@@@@"
+ db "ODDISH@@@@"
+ db "GLOOM@@@@@"
+ db "VILEPLUME@"
+ db "PARAS@@@@@"
+ db "PARASECT@@"
+ db "VENONAT@@@"
+ db "VENOMOTH@@"
+ db "DIGLETT@@@"
+ db "DUGTRIO@@@"
+ db "MEOWTH@@@@"
+ db "PERSIAN@@@"
+ db "PSYDUCK@@@"
+ db "GOLDUCK@@@"
+ db "MANKEY@@@@"
+ db "PRIMEAPE@@"
+ db "GROWLITHE@"
+ db "ARCANINE@@"
+ db "POLIWAG@@@"
+ db "POLIWHIRL@"
+ db "POLIWRATH@"
+ db "ABRA@@@@@@"
+ db "KADABRA@@@"
+ db "ALAKAZAM@@"
+ db "MACHOP@@@@"
+ db "MACHOKE@@@"
+ db "MACHAMP@@@"
+ db "BELLSPROUT"
+ db "WEEPINBELL"
+ db "VICTREEBEL"
+ db "TENTACOOL@"
+ db "TENTACRUEL"
+ db "GEODUDE@@@"
+ db "GRAVELER@@"
+ db "GOLEM@@@@@"
+ db "PONYTA@@@@"
+ db "RAPIDASH@@"
+ db "SLOWPOKE@@"
+ db "SLOWBRO@@@"
+ db "MAGNEMITE@"
+ db "MAGNETON@@"
+ db "FARFETCH'D"
+ db "DODUO@@@@@"
+ db "DODRIO@@@@"
+ db "SEEL@@@@@@"
+ db "DEWGONG@@@"
+ db "GRIMER@@@@"
+ db "MUK@@@@@@@"
+ db "SHELLDER@@"
+ db "CLOYSTER@@"
+ db "GASTLY@@@@"
+ db "HAUNTER@@@"
+ db "GENGAR@@@@"
+ db "ONIX@@@@@@"
+ db "DROWZEE@@@"
+ db "HYPNO@@@@@"
+ db "KRABBY@@@@"
+ db "KINGLER@@@"
+ db "VOLTORB@@@"
+ db "ELECTRODE@"
+ db "EXEGGCUTE@"
+ db "EXEGGUTOR@"
+ db "CUBONE@@@@"
+ db "MAROWAK@@@"
+ db "HITMONLEE@"
+ db "HITMONCHAN"
+ db "LICKITUNG@"
+ db "KOFFING@@@"
+ db "WEEZING@@@"
+ db "RHYHORN@@@"
+ db "RHYDON@@@@"
+ db "CHANSEY@@@"
+ db "TANGELA@@@"
+ db "KANGASKHAN"
+ db "HORSEA@@@@"
+ db "SEADRA@@@@"
+ db "GOLDEEN@@@"
+ db "SEAKING@@@"
+ db "STARYU@@@@"
+ db "STARMIE@@@"
+ db "MR.MIME@@@"
+ db "SCYTHER@@@"
+ db "JYNX@@@@@@"
+ db "ELECTABUZZ"
+ db "MAGMAR@@@@"
+ db "PINSIR@@@@"
+ db "TAUROS@@@@"
+ db "MAGIKARP@@"
+ db "GYARADOS@@"
+ db "LAPRAS@@@@"
+ db "DITTO@@@@@"
+ db "EEVEE@@@@@"
+ db "VAPOREON@@"
+ db "JOLTEON@@@"
+ db "FLAREON@@@"
+ db "PORYGON@@@"
+ db "OMANYTE@@@"
+ db "OMASTAR@@@"
+ db "KABUTO@@@@"
+ db "KABUTOPS@@"
+ db "AERODACTYL"
+ db "SNORLAX@@@"
+ db "ARTICUNO@@"
+ db "ZAPDOS@@@@"
+ db "MOLTRES@@@"
+ db "DRATINI@@@"
+ db "DRAGONAIR@"
+ db "DRAGONITE@"
+ db "MEWTWO@@@@"
+ db "MEW@@@@@@@"
+ db "CHIKORITA@"
+ db "BAYLEEF@@@"
+ db "MEGANIUM@@"
+ db "CYNDAQUIL@"
+ db "QUILAVA@@@"
+ db "TYPHLOSION"
+ db "TOTODILE@@"
+ db "CROCONAW@@"
+ db "FERALIGATR"
+ db "SENTRET@@@"
+ db "FURRET@@@@"
+ db "HOOTHOOT@@"
+ db "NOCTOWL@@@"
+ db "LEDYBA@@@@"
+ db "LEDIAN@@@@"
+ db "SPINARAK@@"
+ db "ARIADOS@@@"
+ db "CROBAT@@@@"
+ db "CHINCHOU@@"
+ db "LANTURN@@@"
+ db "PICHU@@@@@"
+ db "CLEFFA@@@@"
+ db "IGGLYBUFF@"
+ db "TOGEPI@@@@"
+ db "TOGETIC@@@"
+ db "NATU@@@@@@"
+ db "XATU@@@@@@"
+ db "MAREEP@@@@"
+ db "FLAAFFY@@@"
+ db "AMPHAROS@@"
+ db "BELLOSSOM@"
+ db "MARILL@@@@"
+ db "AZUMARILL@"
+ db "SUDOWOODO@"
+ db "POLITOED@@"
+ db "HOPPIP@@@@"
+ db "SKIPLOOM@@"
+ db "JUMPLUFF@@"
+ db "AIPOM@@@@@"
+ db "SUNKERN@@@"
+ db "SUNFLORA@@"
+ db "YANMA@@@@@"
+ db "WOOPER@@@@"
+ db "QUAGSIRE@@"
+ db "ESPEON@@@@"
+ db "UMBREON@@@"
+ db "MURKROW@@@"
+ db "SLOWKING@@"
+ db "MISDREAVUS"
+ db "UNOWN@@@@@"
+ db "WOBBUFFET@"
+ db "GIRAFARIG@"
+ db "PINECO@@@@"
+ db "FORRETRESS"
+ db "DUNSPARCE@"
+ db "GLIGAR@@@@"
+ db "STEELIX@@@"
+ db "SNUBBULL@@"
+ db "GRANBULL@@"
+ db "QWILFISH@@"
+ db "SCIZOR@@@@"
+ db "SHUCKLE@@@"
+ db "HERACROSS@"
+ db "SNEASEL@@@"
+ db "TEDDIURSA@"
+ db "URSARING@@"
+ db "SLUGMA@@@@"
+ db "MAGCARGO@@"
+ db "SWINUB@@@@"
+ db "PILOSWINE@"
+ db "CORSOLA@@@"
+ db "REMORAID@@"
+ db "OCTILLERY@"
+ db "DELIBIRD@@"
+ db "MANTINE@@@"
+ db "SKARMORY@@"
+ db "HOUNDOUR@@"
+ db "HOUNDOOM@@"
+ db "KINGDRA@@@"
+ db "PHANPY@@@@"
+ db "DONPHAN@@@"
+ db "PORYGON2@@"
+ db "STANTLER@@"
+ db "SMEARGLE@@"
+ db "TYROGUE@@@"
+ db "HITMONTOP@"
+ db "SMOOCHUM@@"
+ db "ELEKID@@@@"
+ db "MAGBY@@@@@"
+ db "MILTANK@@@"
+ db "BLISSEY@@@"
+ db "RAIKOU@@@@"
+ db "ENTEI@@@@@"
+ db "SUICUNE@@@"
+ db "LARVITAR@@"
+ db "PUPITAR@@@"
+ db "TYRANITAR@"
+ db "LUGIA@@@@@"
+ db "HO-OH@@@@@"
+ db "CELEBI@@@@"
+ db "?????@@@@@"
+ db "EGG@@@@@@@"
+ db "?????@@@@@"
+ db "?????@@@@@"
+ db "?????@@@@@"
--- /dev/null
+++ b/data/pokemon/palettes.asm
@@ -1,0 +1,542 @@
+PokemonPalettes: ; a8ce
+; entries correspond to Pokémon species, two apiece
+
+; 000
+ RGB 30, 22, 17
+ RGB 16, 14, 19
+; 000 shiny
+ RGB 30, 22, 17
+ RGB 16, 14, 19
+
+INCLUDE "gfx/pokemon/bulbasaur/normal.pal"
+INCLUDE "gfx/pokemon/bulbasaur/shiny.pal"
+INCLUDE "gfx/pokemon/ivysaur/normal.pal"
+INCLUDE "gfx/pokemon/ivysaur/shiny.pal"
+INCLUDE "gfx/pokemon/venusaur/normal.pal"
+INCLUDE "gfx/pokemon/venusaur/shiny.pal"
+INCLUDE "gfx/pokemon/charmander/normal.pal"
+INCLUDE "gfx/pokemon/charmander/shiny.pal"
+INCLUDE "gfx/pokemon/charmeleon/normal.pal"
+INCLUDE "gfx/pokemon/charmeleon/shiny.pal"
+INCLUDE "gfx/pokemon/charizard/normal.pal"
+INCLUDE "gfx/pokemon/charizard/shiny.pal"
+INCLUDE "gfx/pokemon/squirtle/normal.pal"
+INCLUDE "gfx/pokemon/squirtle/shiny.pal"
+INCLUDE "gfx/pokemon/wartortle/normal.pal"
+INCLUDE "gfx/pokemon/wartortle/shiny.pal"
+INCLUDE "gfx/pokemon/blastoise/normal.pal"
+INCLUDE "gfx/pokemon/blastoise/shiny.pal"
+INCLUDE "gfx/pokemon/caterpie/normal.pal"
+INCLUDE "gfx/pokemon/caterpie/shiny.pal"
+INCLUDE "gfx/pokemon/metapod/normal.pal"
+INCLUDE "gfx/pokemon/metapod/shiny.pal"
+INCLUDE "gfx/pokemon/butterfree/normal.pal"
+INCLUDE "gfx/pokemon/butterfree/shiny.pal"
+INCLUDE "gfx/pokemon/weedle/normal.pal"
+INCLUDE "gfx/pokemon/weedle/shiny.pal"
+INCLUDE "gfx/pokemon/kakuna/normal.pal"
+INCLUDE "gfx/pokemon/kakuna/shiny.pal"
+INCLUDE "gfx/pokemon/beedrill/normal.pal"
+INCLUDE "gfx/pokemon/beedrill/shiny.pal"
+INCLUDE "gfx/pokemon/pidgey/normal.pal"
+INCLUDE "gfx/pokemon/pidgey/shiny.pal"
+INCLUDE "gfx/pokemon/pidgeotto/normal.pal"
+INCLUDE "gfx/pokemon/pidgeotto/shiny.pal"
+INCLUDE "gfx/pokemon/pidgeot/normal.pal"
+INCLUDE "gfx/pokemon/pidgeot/shiny.pal"
+INCLUDE "gfx/pokemon/rattata/normal.pal"
+INCLUDE "gfx/pokemon/rattata/shiny.pal"
+INCLUDE "gfx/pokemon/raticate/normal.pal"
+INCLUDE "gfx/pokemon/raticate/shiny.pal"
+INCLUDE "gfx/pokemon/spearow/normal.pal"
+INCLUDE "gfx/pokemon/spearow/shiny.pal"
+INCLUDE "gfx/pokemon/fearow/normal.pal"
+INCLUDE "gfx/pokemon/fearow/shiny.pal"
+INCLUDE "gfx/pokemon/ekans/normal.pal"
+INCLUDE "gfx/pokemon/ekans/shiny.pal"
+INCLUDE "gfx/pokemon/arbok/normal.pal"
+INCLUDE "gfx/pokemon/arbok/shiny.pal"
+INCLUDE "gfx/pokemon/pikachu/normal.pal"
+INCLUDE "gfx/pokemon/pikachu/shiny.pal"
+INCLUDE "gfx/pokemon/raichu/normal.pal"
+INCLUDE "gfx/pokemon/raichu/shiny.pal"
+INCLUDE "gfx/pokemon/sandshrew/normal.pal"
+INCLUDE "gfx/pokemon/sandshrew/shiny.pal"
+INCLUDE "gfx/pokemon/sandslash/normal.pal"
+INCLUDE "gfx/pokemon/sandslash/shiny.pal"
+INCLUDE "gfx/pokemon/nidoran_f/normal.pal"
+INCLUDE "gfx/pokemon/nidoran_f/shiny.pal"
+INCLUDE "gfx/pokemon/nidorina/normal.pal"
+INCLUDE "gfx/pokemon/nidorina/shiny.pal"
+INCLUDE "gfx/pokemon/nidoqueen/normal.pal"
+INCLUDE "gfx/pokemon/nidoqueen/shiny.pal"
+INCLUDE "gfx/pokemon/nidoran_m/normal.pal"
+INCLUDE "gfx/pokemon/nidoran_m/shiny.pal"
+INCLUDE "gfx/pokemon/nidorino/normal.pal"
+INCLUDE "gfx/pokemon/nidorino/shiny.pal"
+INCLUDE "gfx/pokemon/nidoking/normal.pal"
+INCLUDE "gfx/pokemon/nidoking/shiny.pal"
+INCLUDE "gfx/pokemon/clefairy/normal.pal"
+INCLUDE "gfx/pokemon/clefairy/shiny.pal"
+INCLUDE "gfx/pokemon/clefable/normal.pal"
+INCLUDE "gfx/pokemon/clefable/shiny.pal"
+INCLUDE "gfx/pokemon/vulpix/normal.pal"
+INCLUDE "gfx/pokemon/vulpix/shiny.pal"
+INCLUDE "gfx/pokemon/ninetales/normal.pal"
+INCLUDE "gfx/pokemon/ninetales/shiny.pal"
+INCLUDE "gfx/pokemon/jigglypuff/normal.pal"
+INCLUDE "gfx/pokemon/jigglypuff/shiny.pal"
+INCLUDE "gfx/pokemon/wigglytuff/normal.pal"
+INCLUDE "gfx/pokemon/wigglytuff/shiny.pal"
+INCLUDE "gfx/pokemon/zubat/normal.pal"
+INCLUDE "gfx/pokemon/zubat/shiny.pal"
+INCLUDE "gfx/pokemon/golbat/normal.pal"
+INCLUDE "gfx/pokemon/golbat/shiny.pal"
+INCLUDE "gfx/pokemon/oddish/normal.pal"
+INCLUDE "gfx/pokemon/oddish/shiny.pal"
+INCLUDE "gfx/pokemon/gloom/normal.pal"
+INCLUDE "gfx/pokemon/gloom/shiny.pal"
+INCLUDE "gfx/pokemon/vileplume/normal.pal"
+INCLUDE "gfx/pokemon/vileplume/shiny.pal"
+INCLUDE "gfx/pokemon/paras/normal.pal"
+INCLUDE "gfx/pokemon/paras/shiny.pal"
+INCLUDE "gfx/pokemon/parasect/normal.pal"
+INCLUDE "gfx/pokemon/parasect/shiny.pal"
+INCLUDE "gfx/pokemon/venonat/normal.pal"
+INCLUDE "gfx/pokemon/venonat/shiny.pal"
+INCLUDE "gfx/pokemon/venomoth/normal.pal"
+INCLUDE "gfx/pokemon/venomoth/shiny.pal"
+INCLUDE "gfx/pokemon/diglett/normal.pal"
+INCLUDE "gfx/pokemon/diglett/shiny.pal"
+INCLUDE "gfx/pokemon/dugtrio/normal.pal"
+INCLUDE "gfx/pokemon/dugtrio/shiny.pal"
+INCLUDE "gfx/pokemon/meowth/normal.pal"
+INCLUDE "gfx/pokemon/meowth/shiny.pal"
+INCLUDE "gfx/pokemon/persian/normal.pal"
+INCLUDE "gfx/pokemon/persian/shiny.pal"
+INCLUDE "gfx/pokemon/psyduck/normal.pal"
+INCLUDE "gfx/pokemon/psyduck/shiny.pal"
+INCLUDE "gfx/pokemon/golduck/normal.pal"
+INCLUDE "gfx/pokemon/golduck/shiny.pal"
+INCLUDE "gfx/pokemon/mankey/normal.pal"
+INCLUDE "gfx/pokemon/mankey/shiny.pal"
+INCLUDE "gfx/pokemon/primeape/normal.pal"
+INCLUDE "gfx/pokemon/primeape/shiny.pal"
+INCLUDE "gfx/pokemon/growlithe/normal.pal"
+INCLUDE "gfx/pokemon/growlithe/shiny.pal"
+INCLUDE "gfx/pokemon/arcanine/normal.pal"
+INCLUDE "gfx/pokemon/arcanine/shiny.pal"
+INCLUDE "gfx/pokemon/poliwag/normal.pal"
+INCLUDE "gfx/pokemon/poliwag/shiny.pal"
+INCLUDE "gfx/pokemon/poliwhirl/normal.pal"
+INCLUDE "gfx/pokemon/poliwhirl/shiny.pal"
+INCLUDE "gfx/pokemon/poliwrath/normal.pal"
+INCLUDE "gfx/pokemon/poliwrath/shiny.pal"
+INCLUDE "gfx/pokemon/abra/normal.pal"
+INCLUDE "gfx/pokemon/abra/shiny.pal"
+INCLUDE "gfx/pokemon/kadabra/normal.pal"
+INCLUDE "gfx/pokemon/kadabra/shiny.pal"
+INCLUDE "gfx/pokemon/alakazam/normal.pal"
+INCLUDE "gfx/pokemon/alakazam/shiny.pal"
+INCLUDE "gfx/pokemon/machop/normal.pal"
+INCLUDE "gfx/pokemon/machop/shiny.pal"
+INCLUDE "gfx/pokemon/machoke/normal.pal"
+INCLUDE "gfx/pokemon/machoke/shiny.pal"
+INCLUDE "gfx/pokemon/machamp/normal.pal"
+INCLUDE "gfx/pokemon/machamp/shiny.pal"
+INCLUDE "gfx/pokemon/bellsprout/normal.pal"
+INCLUDE "gfx/pokemon/bellsprout/shiny.pal"
+INCLUDE "gfx/pokemon/weepinbell/normal.pal"
+INCLUDE "gfx/pokemon/weepinbell/shiny.pal"
+INCLUDE "gfx/pokemon/victreebel/normal.pal"
+INCLUDE "gfx/pokemon/victreebel/shiny.pal"
+INCLUDE "gfx/pokemon/tentacool/normal.pal"
+INCLUDE "gfx/pokemon/tentacool/shiny.pal"
+INCLUDE "gfx/pokemon/tentacruel/normal.pal"
+INCLUDE "gfx/pokemon/tentacruel/shiny.pal"
+INCLUDE "gfx/pokemon/geodude/normal.pal"
+INCLUDE "gfx/pokemon/geodude/shiny.pal"
+INCLUDE "gfx/pokemon/graveler/normal.pal"
+INCLUDE "gfx/pokemon/graveler/shiny.pal"
+INCLUDE "gfx/pokemon/golem/normal.pal"
+INCLUDE "gfx/pokemon/golem/shiny.pal"
+INCLUDE "gfx/pokemon/ponyta/normal.pal"
+INCLUDE "gfx/pokemon/ponyta/shiny.pal"
+INCLUDE "gfx/pokemon/rapidash/normal.pal"
+INCLUDE "gfx/pokemon/rapidash/shiny.pal"
+INCLUDE "gfx/pokemon/slowpoke/normal.pal"
+INCLUDE "gfx/pokemon/slowpoke/shiny.pal"
+INCLUDE "gfx/pokemon/slowbro/normal.pal"
+INCLUDE "gfx/pokemon/slowbro/shiny.pal"
+INCLUDE "gfx/pokemon/magnemite/normal.pal"
+INCLUDE "gfx/pokemon/magnemite/shiny.pal"
+INCLUDE "gfx/pokemon/magneton/normal.pal"
+INCLUDE "gfx/pokemon/magneton/shiny.pal"
+INCLUDE "gfx/pokemon/farfetch_d/normal.pal"
+INCLUDE "gfx/pokemon/farfetch_d/shiny.pal"
+INCLUDE "gfx/pokemon/doduo/normal.pal"
+INCLUDE "gfx/pokemon/doduo/shiny.pal"
+INCLUDE "gfx/pokemon/dodrio/normal.pal"
+INCLUDE "gfx/pokemon/dodrio/shiny.pal"
+INCLUDE "gfx/pokemon/seel/normal.pal"
+INCLUDE "gfx/pokemon/seel/shiny.pal"
+INCLUDE "gfx/pokemon/dewgong/normal.pal"
+INCLUDE "gfx/pokemon/dewgong/shiny.pal"
+INCLUDE "gfx/pokemon/grimer/normal.pal"
+INCLUDE "gfx/pokemon/grimer/shiny.pal"
+INCLUDE "gfx/pokemon/muk/normal.pal"
+INCLUDE "gfx/pokemon/muk/shiny.pal"
+INCLUDE "gfx/pokemon/shellder/normal.pal"
+INCLUDE "gfx/pokemon/shellder/shiny.pal"
+INCLUDE "gfx/pokemon/cloyster/normal.pal"
+INCLUDE "gfx/pokemon/cloyster/shiny.pal"
+INCLUDE "gfx/pokemon/gastly/normal.pal"
+INCLUDE "gfx/pokemon/gastly/shiny.pal"
+INCLUDE "gfx/pokemon/haunter/normal.pal"
+INCLUDE "gfx/pokemon/haunter/shiny.pal"
+INCLUDE "gfx/pokemon/gengar/normal.pal"
+INCLUDE "gfx/pokemon/gengar/shiny.pal"
+INCLUDE "gfx/pokemon/onix/normal.pal"
+INCLUDE "gfx/pokemon/onix/shiny.pal"
+INCLUDE "gfx/pokemon/drowzee/normal.pal"
+INCLUDE "gfx/pokemon/drowzee/shiny.pal"
+INCLUDE "gfx/pokemon/hypno/normal.pal"
+INCLUDE "gfx/pokemon/hypno/shiny.pal"
+INCLUDE "gfx/pokemon/krabby/normal.pal"
+INCLUDE "gfx/pokemon/krabby/shiny.pal"
+INCLUDE "gfx/pokemon/kingler/normal.pal"
+INCLUDE "gfx/pokemon/kingler/shiny.pal"
+INCLUDE "gfx/pokemon/voltorb/normal.pal"
+INCLUDE "gfx/pokemon/voltorb/shiny.pal"
+INCLUDE "gfx/pokemon/electrode/normal.pal"
+INCLUDE "gfx/pokemon/electrode/shiny.pal"
+INCLUDE "gfx/pokemon/exeggcute/normal.pal"
+INCLUDE "gfx/pokemon/exeggcute/shiny.pal"
+INCLUDE "gfx/pokemon/exeggutor/normal.pal"
+INCLUDE "gfx/pokemon/exeggutor/shiny.pal"
+INCLUDE "gfx/pokemon/cubone/normal.pal"
+INCLUDE "gfx/pokemon/cubone/shiny.pal"
+INCLUDE "gfx/pokemon/marowak/normal.pal"
+INCLUDE "gfx/pokemon/marowak/shiny.pal"
+INCLUDE "gfx/pokemon/hitmonlee/normal.pal"
+INCLUDE "gfx/pokemon/hitmonlee/shiny.pal"
+INCLUDE "gfx/pokemon/hitmonchan/normal.pal"
+INCLUDE "gfx/pokemon/hitmonchan/shiny.pal"
+INCLUDE "gfx/pokemon/lickitung/normal.pal"
+INCLUDE "gfx/pokemon/lickitung/shiny.pal"
+INCLUDE "gfx/pokemon/koffing/normal.pal"
+INCLUDE "gfx/pokemon/koffing/shiny.pal"
+INCLUDE "gfx/pokemon/weezing/normal.pal"
+INCLUDE "gfx/pokemon/weezing/shiny.pal"
+INCLUDE "gfx/pokemon/rhyhorn/normal.pal"
+INCLUDE "gfx/pokemon/rhyhorn/shiny.pal"
+INCLUDE "gfx/pokemon/rhydon/normal.pal"
+INCLUDE "gfx/pokemon/rhydon/shiny.pal"
+INCLUDE "gfx/pokemon/chansey/normal.pal"
+INCLUDE "gfx/pokemon/chansey/shiny.pal"
+INCLUDE "gfx/pokemon/tangela/normal.pal"
+INCLUDE "gfx/pokemon/tangela/shiny.pal"
+INCLUDE "gfx/pokemon/kangaskhan/normal.pal"
+INCLUDE "gfx/pokemon/kangaskhan/shiny.pal"
+INCLUDE "gfx/pokemon/horsea/normal.pal"
+INCLUDE "gfx/pokemon/horsea/shiny.pal"
+INCLUDE "gfx/pokemon/seadra/normal.pal"
+INCLUDE "gfx/pokemon/seadra/shiny.pal"
+INCLUDE "gfx/pokemon/goldeen/normal.pal"
+INCLUDE "gfx/pokemon/goldeen/shiny.pal"
+INCLUDE "gfx/pokemon/seaking/normal.pal"
+INCLUDE "gfx/pokemon/seaking/shiny.pal"
+INCLUDE "gfx/pokemon/staryu/normal.pal"
+INCLUDE "gfx/pokemon/staryu/shiny.pal"
+INCLUDE "gfx/pokemon/starmie/normal.pal"
+INCLUDE "gfx/pokemon/starmie/shiny.pal"
+INCLUDE "gfx/pokemon/mr__mime/normal.pal"
+INCLUDE "gfx/pokemon/mr__mime/shiny.pal"
+INCLUDE "gfx/pokemon/scyther/normal.pal"
+INCLUDE "gfx/pokemon/scyther/shiny.pal"
+INCLUDE "gfx/pokemon/jynx/normal.pal"
+INCLUDE "gfx/pokemon/jynx/shiny.pal"
+INCLUDE "gfx/pokemon/electabuzz/normal.pal"
+INCLUDE "gfx/pokemon/electabuzz/shiny.pal"
+INCLUDE "gfx/pokemon/magmar/normal.pal"
+INCLUDE "gfx/pokemon/magmar/shiny.pal"
+INCLUDE "gfx/pokemon/pinsir/normal.pal"
+INCLUDE "gfx/pokemon/pinsir/shiny.pal"
+INCLUDE "gfx/pokemon/tauros/normal.pal"
+INCLUDE "gfx/pokemon/tauros/shiny.pal"
+INCLUDE "gfx/pokemon/magikarp/normal.pal"
+INCLUDE "gfx/pokemon/magikarp/shiny.pal"
+INCLUDE "gfx/pokemon/gyarados/normal.pal"
+INCLUDE "gfx/pokemon/gyarados/shiny.pal"
+INCLUDE "gfx/pokemon/lapras/normal.pal"
+INCLUDE "gfx/pokemon/lapras/shiny.pal"
+INCLUDE "gfx/pokemon/ditto/normal.pal"
+INCLUDE "gfx/pokemon/ditto/shiny.pal"
+INCLUDE "gfx/pokemon/eevee/normal.pal"
+INCLUDE "gfx/pokemon/eevee/shiny.pal"
+INCLUDE "gfx/pokemon/vaporeon/normal.pal"
+INCLUDE "gfx/pokemon/vaporeon/shiny.pal"
+INCLUDE "gfx/pokemon/jolteon/normal.pal"
+INCLUDE "gfx/pokemon/jolteon/shiny.pal"
+INCLUDE "gfx/pokemon/flareon/normal.pal"
+INCLUDE "gfx/pokemon/flareon/shiny.pal"
+INCLUDE "gfx/pokemon/porygon/normal.pal"
+INCLUDE "gfx/pokemon/porygon/shiny.pal"
+INCLUDE "gfx/pokemon/omanyte/normal.pal"
+INCLUDE "gfx/pokemon/omanyte/shiny.pal"
+INCLUDE "gfx/pokemon/omastar/normal.pal"
+INCLUDE "gfx/pokemon/omastar/shiny.pal"
+INCLUDE "gfx/pokemon/kabuto/normal.pal"
+INCLUDE "gfx/pokemon/kabuto/shiny.pal"
+INCLUDE "gfx/pokemon/kabutops/normal.pal"
+INCLUDE "gfx/pokemon/kabutops/shiny.pal"
+INCLUDE "gfx/pokemon/aerodactyl/normal.pal"
+INCLUDE "gfx/pokemon/aerodactyl/shiny.pal"
+INCLUDE "gfx/pokemon/snorlax/normal.pal"
+INCLUDE "gfx/pokemon/snorlax/shiny.pal"
+INCLUDE "gfx/pokemon/articuno/normal.pal"
+INCLUDE "gfx/pokemon/articuno/shiny.pal"
+INCLUDE "gfx/pokemon/zapdos/normal.pal"
+INCLUDE "gfx/pokemon/zapdos/shiny.pal"
+INCLUDE "gfx/pokemon/moltres/normal.pal"
+INCLUDE "gfx/pokemon/moltres/shiny.pal"
+INCLUDE "gfx/pokemon/dratini/normal.pal"
+INCLUDE "gfx/pokemon/dratini/shiny.pal"
+INCLUDE "gfx/pokemon/dragonair/normal.pal"
+INCLUDE "gfx/pokemon/dragonair/shiny.pal"
+INCLUDE "gfx/pokemon/dragonite/normal.pal"
+INCLUDE "gfx/pokemon/dragonite/shiny.pal"
+INCLUDE "gfx/pokemon/mewtwo/normal.pal"
+INCLUDE "gfx/pokemon/mewtwo/shiny.pal"
+INCLUDE "gfx/pokemon/mew/normal.pal"
+INCLUDE "gfx/pokemon/mew/shiny.pal"
+INCLUDE "gfx/pokemon/chikorita/normal.pal"
+INCLUDE "gfx/pokemon/chikorita/shiny.pal"
+INCLUDE "gfx/pokemon/bayleef/normal.pal"
+INCLUDE "gfx/pokemon/bayleef/shiny.pal"
+INCLUDE "gfx/pokemon/meganium/normal.pal"
+INCLUDE "gfx/pokemon/meganium/shiny.pal"
+INCLUDE "gfx/pokemon/cyndaquil/normal.pal"
+INCLUDE "gfx/pokemon/cyndaquil/shiny.pal"
+INCLUDE "gfx/pokemon/quilava/normal.pal"
+INCLUDE "gfx/pokemon/quilava/shiny.pal"
+INCLUDE "gfx/pokemon/typhlosion/normal.pal"
+INCLUDE "gfx/pokemon/typhlosion/shiny.pal"
+INCLUDE "gfx/pokemon/totodile/normal.pal"
+INCLUDE "gfx/pokemon/totodile/shiny.pal"
+INCLUDE "gfx/pokemon/croconaw/normal.pal"
+INCLUDE "gfx/pokemon/croconaw/shiny.pal"
+INCLUDE "gfx/pokemon/feraligatr/normal.pal"
+INCLUDE "gfx/pokemon/feraligatr/shiny.pal"
+INCLUDE "gfx/pokemon/sentret/normal.pal"
+INCLUDE "gfx/pokemon/sentret/shiny.pal"
+INCLUDE "gfx/pokemon/furret/normal.pal"
+INCLUDE "gfx/pokemon/furret/shiny.pal"
+INCLUDE "gfx/pokemon/hoothoot/normal.pal"
+INCLUDE "gfx/pokemon/hoothoot/shiny.pal"
+INCLUDE "gfx/pokemon/noctowl/normal.pal"
+INCLUDE "gfx/pokemon/noctowl/shiny.pal"
+INCLUDE "gfx/pokemon/ledyba/normal.pal"
+INCLUDE "gfx/pokemon/ledyba/shiny.pal"
+INCLUDE "gfx/pokemon/ledian/normal.pal"
+INCLUDE "gfx/pokemon/ledian/shiny.pal"
+INCLUDE "gfx/pokemon/spinarak/normal.pal"
+INCLUDE "gfx/pokemon/spinarak/shiny.pal"
+INCLUDE "gfx/pokemon/ariados/normal.pal"
+INCLUDE "gfx/pokemon/ariados/shiny.pal"
+INCLUDE "gfx/pokemon/crobat/normal.pal"
+INCLUDE "gfx/pokemon/crobat/shiny.pal"
+INCLUDE "gfx/pokemon/chinchou/normal.pal"
+INCLUDE "gfx/pokemon/chinchou/shiny.pal"
+INCLUDE "gfx/pokemon/lanturn/normal.pal"
+INCLUDE "gfx/pokemon/lanturn/shiny.pal"
+INCLUDE "gfx/pokemon/pichu/normal.pal"
+INCLUDE "gfx/pokemon/pichu/shiny.pal"
+INCLUDE "gfx/pokemon/cleffa/normal.pal"
+INCLUDE "gfx/pokemon/cleffa/shiny.pal"
+INCLUDE "gfx/pokemon/igglybuff/normal.pal"
+INCLUDE "gfx/pokemon/igglybuff/shiny.pal"
+INCLUDE "gfx/pokemon/togepi/normal.pal"
+INCLUDE "gfx/pokemon/togepi/shiny.pal"
+INCLUDE "gfx/pokemon/togetic/normal.pal"
+INCLUDE "gfx/pokemon/togetic/shiny.pal"
+INCLUDE "gfx/pokemon/natu/normal.pal"
+INCLUDE "gfx/pokemon/natu/shiny.pal"
+INCLUDE "gfx/pokemon/xatu/normal.pal"
+INCLUDE "gfx/pokemon/xatu/shiny.pal"
+INCLUDE "gfx/pokemon/mareep/normal.pal"
+INCLUDE "gfx/pokemon/mareep/shiny.pal"
+INCLUDE "gfx/pokemon/flaaffy/normal.pal"
+INCLUDE "gfx/pokemon/flaaffy/shiny.pal"
+INCLUDE "gfx/pokemon/ampharos/normal.pal"
+INCLUDE "gfx/pokemon/ampharos/shiny.pal"
+INCLUDE "gfx/pokemon/bellossom/normal.pal"
+INCLUDE "gfx/pokemon/bellossom/shiny.pal"
+INCLUDE "gfx/pokemon/marill/normal.pal"
+INCLUDE "gfx/pokemon/marill/shiny.pal"
+INCLUDE "gfx/pokemon/azumarill/normal.pal"
+INCLUDE "gfx/pokemon/azumarill/shiny.pal"
+INCLUDE "gfx/pokemon/sudowoodo/normal.pal"
+INCLUDE "gfx/pokemon/sudowoodo/shiny.pal"
+INCLUDE "gfx/pokemon/politoed/normal.pal"
+INCLUDE "gfx/pokemon/politoed/shiny.pal"
+INCLUDE "gfx/pokemon/hoppip/normal.pal"
+INCLUDE "gfx/pokemon/hoppip/shiny.pal"
+INCLUDE "gfx/pokemon/skiploom/normal.pal"
+INCLUDE "gfx/pokemon/skiploom/shiny.pal"
+INCLUDE "gfx/pokemon/jumpluff/normal.pal"
+INCLUDE "gfx/pokemon/jumpluff/shiny.pal"
+INCLUDE "gfx/pokemon/aipom/normal.pal"
+INCLUDE "gfx/pokemon/aipom/shiny.pal"
+INCLUDE "gfx/pokemon/sunkern/normal.pal"
+INCLUDE "gfx/pokemon/sunkern/shiny.pal"
+INCLUDE "gfx/pokemon/sunflora/normal.pal"
+INCLUDE "gfx/pokemon/sunflora/shiny.pal"
+INCLUDE "gfx/pokemon/yanma/normal.pal"
+INCLUDE "gfx/pokemon/yanma/shiny.pal"
+INCLUDE "gfx/pokemon/wooper/normal.pal"
+INCLUDE "gfx/pokemon/wooper/shiny.pal"
+INCLUDE "gfx/pokemon/quagsire/normal.pal"
+INCLUDE "gfx/pokemon/quagsire/shiny.pal"
+INCLUDE "gfx/pokemon/espeon/normal.pal"
+INCLUDE "gfx/pokemon/espeon/shiny.pal"
+INCLUDE "gfx/pokemon/umbreon/normal.pal"
+INCLUDE "gfx/pokemon/umbreon/shiny.pal"
+INCLUDE "gfx/pokemon/murkrow/normal.pal"
+INCLUDE "gfx/pokemon/murkrow/shiny.pal"
+INCLUDE "gfx/pokemon/slowking/normal.pal"
+INCLUDE "gfx/pokemon/slowking/shiny.pal"
+INCLUDE "gfx/pokemon/misdreavus/normal.pal"
+INCLUDE "gfx/pokemon/misdreavus/shiny.pal"
+INCLUDE "gfx/pokemon/unown/normal.pal"
+INCLUDE "gfx/pokemon/unown/shiny.pal"
+INCLUDE "gfx/pokemon/wobbuffet/normal.pal"
+INCLUDE "gfx/pokemon/wobbuffet/shiny.pal"
+INCLUDE "gfx/pokemon/girafarig/normal.pal"
+INCLUDE "gfx/pokemon/girafarig/shiny.pal"
+INCLUDE "gfx/pokemon/pineco/normal.pal"
+INCLUDE "gfx/pokemon/pineco/shiny.pal"
+INCLUDE "gfx/pokemon/forretress/normal.pal"
+INCLUDE "gfx/pokemon/forretress/shiny.pal"
+INCLUDE "gfx/pokemon/dunsparce/normal.pal"
+INCLUDE "gfx/pokemon/dunsparce/shiny.pal"
+INCLUDE "gfx/pokemon/gligar/normal.pal"
+INCLUDE "gfx/pokemon/gligar/shiny.pal"
+INCLUDE "gfx/pokemon/steelix/normal.pal"
+INCLUDE "gfx/pokemon/steelix/shiny.pal"
+INCLUDE "gfx/pokemon/snubbull/normal.pal"
+INCLUDE "gfx/pokemon/snubbull/shiny.pal"
+INCLUDE "gfx/pokemon/granbull/normal.pal"
+INCLUDE "gfx/pokemon/granbull/shiny.pal"
+INCLUDE "gfx/pokemon/qwilfish/normal.pal"
+INCLUDE "gfx/pokemon/qwilfish/shiny.pal"
+INCLUDE "gfx/pokemon/scizor/normal.pal"
+INCLUDE "gfx/pokemon/scizor/shiny.pal"
+INCLUDE "gfx/pokemon/shuckle/normal.pal"
+INCLUDE "gfx/pokemon/shuckle/shiny.pal"
+INCLUDE "gfx/pokemon/heracross/normal.pal"
+INCLUDE "gfx/pokemon/heracross/shiny.pal"
+INCLUDE "gfx/pokemon/sneasel/normal.pal"
+INCLUDE "gfx/pokemon/sneasel/shiny.pal"
+INCLUDE "gfx/pokemon/teddiursa/normal.pal"
+INCLUDE "gfx/pokemon/teddiursa/shiny.pal"
+INCLUDE "gfx/pokemon/ursaring/normal.pal"
+INCLUDE "gfx/pokemon/ursaring/shiny.pal"
+INCLUDE "gfx/pokemon/slugma/normal.pal"
+INCLUDE "gfx/pokemon/slugma/shiny.pal"
+INCLUDE "gfx/pokemon/magcargo/normal.pal"
+INCLUDE "gfx/pokemon/magcargo/shiny.pal"
+INCLUDE "gfx/pokemon/swinub/normal.pal"
+INCLUDE "gfx/pokemon/swinub/shiny.pal"
+INCLUDE "gfx/pokemon/piloswine/normal.pal"
+INCLUDE "gfx/pokemon/piloswine/shiny.pal"
+INCLUDE "gfx/pokemon/corsola/normal.pal"
+INCLUDE "gfx/pokemon/corsola/shiny.pal"
+INCLUDE "gfx/pokemon/remoraid/normal.pal"
+INCLUDE "gfx/pokemon/remoraid/shiny.pal"
+INCLUDE "gfx/pokemon/octillery/normal.pal"
+INCLUDE "gfx/pokemon/octillery/shiny.pal"
+INCLUDE "gfx/pokemon/delibird/normal.pal"
+INCLUDE "gfx/pokemon/delibird/shiny.pal"
+INCLUDE "gfx/pokemon/mantine/normal.pal"
+INCLUDE "gfx/pokemon/mantine/shiny.pal"
+INCLUDE "gfx/pokemon/skarmory/normal.pal"
+INCLUDE "gfx/pokemon/skarmory/shiny.pal"
+INCLUDE "gfx/pokemon/houndour/normal.pal"
+INCLUDE "gfx/pokemon/houndour/shiny.pal"
+INCLUDE "gfx/pokemon/houndoom/normal.pal"
+INCLUDE "gfx/pokemon/houndoom/shiny.pal"
+INCLUDE "gfx/pokemon/kingdra/normal.pal"
+INCLUDE "gfx/pokemon/kingdra/shiny.pal"
+INCLUDE "gfx/pokemon/phanpy/normal.pal"
+INCLUDE "gfx/pokemon/phanpy/shiny.pal"
+INCLUDE "gfx/pokemon/donphan/normal.pal"
+INCLUDE "gfx/pokemon/donphan/shiny.pal"
+INCLUDE "gfx/pokemon/porygon2/normal.pal"
+INCLUDE "gfx/pokemon/porygon2/shiny.pal"
+INCLUDE "gfx/pokemon/stantler/normal.pal"
+INCLUDE "gfx/pokemon/stantler/shiny.pal"
+INCLUDE "gfx/pokemon/smeargle/normal.pal"
+INCLUDE "gfx/pokemon/smeargle/shiny.pal"
+INCLUDE "gfx/pokemon/tyrogue/normal.pal"
+INCLUDE "gfx/pokemon/tyrogue/shiny.pal"
+INCLUDE "gfx/pokemon/hitmontop/normal.pal"
+INCLUDE "gfx/pokemon/hitmontop/shiny.pal"
+INCLUDE "gfx/pokemon/smoochum/normal.pal"
+INCLUDE "gfx/pokemon/smoochum/shiny.pal"
+INCLUDE "gfx/pokemon/elekid/normal.pal"
+INCLUDE "gfx/pokemon/elekid/shiny.pal"
+INCLUDE "gfx/pokemon/magby/normal.pal"
+INCLUDE "gfx/pokemon/magby/shiny.pal"
+INCLUDE "gfx/pokemon/miltank/normal.pal"
+INCLUDE "gfx/pokemon/miltank/shiny.pal"
+INCLUDE "gfx/pokemon/blissey/normal.pal"
+INCLUDE "gfx/pokemon/blissey/shiny.pal"
+INCLUDE "gfx/pokemon/raikou/normal.pal"
+INCLUDE "gfx/pokemon/raikou/shiny.pal"
+INCLUDE "gfx/pokemon/entei/normal.pal"
+INCLUDE "gfx/pokemon/entei/shiny.pal"
+INCLUDE "gfx/pokemon/suicune/normal.pal"
+INCLUDE "gfx/pokemon/suicune/shiny.pal"
+INCLUDE "gfx/pokemon/larvitar/normal.pal"
+INCLUDE "gfx/pokemon/larvitar/shiny.pal"
+INCLUDE "gfx/pokemon/pupitar/normal.pal"
+INCLUDE "gfx/pokemon/pupitar/shiny.pal"
+INCLUDE "gfx/pokemon/tyranitar/normal.pal"
+INCLUDE "gfx/pokemon/tyranitar/shiny.pal"
+INCLUDE "gfx/pokemon/lugia/normal.pal"
+INCLUDE "gfx/pokemon/lugia/shiny.pal"
+INCLUDE "gfx/pokemon/ho_oh/normal.pal"
+INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
+INCLUDE "gfx/pokemon/celebi/normal.pal"
+INCLUDE "gfx/pokemon/celebi/shiny.pal"
+
+; 252
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; 252 shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; Egg
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; Egg shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; 254
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; 254 shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; 255
+ RGB 23, 23, 23
+ RGB 17, 17, 17
+; 255 shiny
+ RGB 23, 23, 23
+ RGB 17, 17, 17
+
+; b0ce
--- a/data/pokemon/pic_pointers.asm
+++ b/data/pokemon/pic_pointers.asm
@@ -1,4 +1,4 @@
-PicPointers::
+PokemonPicPointers::
; entries correspond to Pokémon species, two apiece
dba_pic BulbasaurFrontpic
dba_pic BulbasaurBackpic
--- a/data/pokemon/pokemon_names.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-PokemonNames::
- db "BULBASAUR@"
- db "IVYSAUR@@@"
- db "VENUSAUR@@"
- db "CHARMANDER"
- db "CHARMELEON"
- db "CHARIZARD@"
- db "SQUIRTLE@@"
- db "WARTORTLE@"
- db "BLASTOISE@"
- db "CATERPIE@@"
- db "METAPOD@@@"
- db "BUTTERFREE"
- db "WEEDLE@@@@"
- db "KAKUNA@@@@"
- db "BEEDRILL@@"
- db "PIDGEY@@@@"
- db "PIDGEOTTO@"
- db "PIDGEOT@@@"
- db "RATTATA@@@"
- db "RATICATE@@"
- db "SPEAROW@@@"
- db "FEAROW@@@@"
- db "EKANS@@@@@"
- db "ARBOK@@@@@"
- db "PIKACHU@@@"
- db "RAICHU@@@@"
- db "SANDSHREW@"
- db "SANDSLASH@"
- db "NIDORAN♀@@"
- db "NIDORINA@@"
- db "NIDOQUEEN@"
- db "NIDORAN♂@@"
- db "NIDORINO@@"
- db "NIDOKING@@"
- db "CLEFAIRY@@"
- db "CLEFABLE@@"
- db "VULPIX@@@@"
- db "NINETALES@"
- db "JIGGLYPUFF"
- db "WIGGLYTUFF"
- db "ZUBAT@@@@@"
- db "GOLBAT@@@@"
- db "ODDISH@@@@"
- db "GLOOM@@@@@"
- db "VILEPLUME@"
- db "PARAS@@@@@"
- db "PARASECT@@"
- db "VENONAT@@@"
- db "VENOMOTH@@"
- db "DIGLETT@@@"
- db "DUGTRIO@@@"
- db "MEOWTH@@@@"
- db "PERSIAN@@@"
- db "PSYDUCK@@@"
- db "GOLDUCK@@@"
- db "MANKEY@@@@"
- db "PRIMEAPE@@"
- db "GROWLITHE@"
- db "ARCANINE@@"
- db "POLIWAG@@@"
- db "POLIWHIRL@"
- db "POLIWRATH@"
- db "ABRA@@@@@@"
- db "KADABRA@@@"
- db "ALAKAZAM@@"
- db "MACHOP@@@@"
- db "MACHOKE@@@"
- db "MACHAMP@@@"
- db "BELLSPROUT"
- db "WEEPINBELL"
- db "VICTREEBEL"
- db "TENTACOOL@"
- db "TENTACRUEL"
- db "GEODUDE@@@"
- db "GRAVELER@@"
- db "GOLEM@@@@@"
- db "PONYTA@@@@"
- db "RAPIDASH@@"
- db "SLOWPOKE@@"
- db "SLOWBRO@@@"
- db "MAGNEMITE@"
- db "MAGNETON@@"
- db "FARFETCH'D"
- db "DODUO@@@@@"
- db "DODRIO@@@@"
- db "SEEL@@@@@@"
- db "DEWGONG@@@"
- db "GRIMER@@@@"
- db "MUK@@@@@@@"
- db "SHELLDER@@"
- db "CLOYSTER@@"
- db "GASTLY@@@@"
- db "HAUNTER@@@"
- db "GENGAR@@@@"
- db "ONIX@@@@@@"
- db "DROWZEE@@@"
- db "HYPNO@@@@@"
- db "KRABBY@@@@"
- db "KINGLER@@@"
- db "VOLTORB@@@"
- db "ELECTRODE@"
- db "EXEGGCUTE@"
- db "EXEGGUTOR@"
- db "CUBONE@@@@"
- db "MAROWAK@@@"
- db "HITMONLEE@"
- db "HITMONCHAN"
- db "LICKITUNG@"
- db "KOFFING@@@"
- db "WEEZING@@@"
- db "RHYHORN@@@"
- db "RHYDON@@@@"
- db "CHANSEY@@@"
- db "TANGELA@@@"
- db "KANGASKHAN"
- db "HORSEA@@@@"
- db "SEADRA@@@@"
- db "GOLDEEN@@@"
- db "SEAKING@@@"
- db "STARYU@@@@"
- db "STARMIE@@@"
- db "MR.MIME@@@"
- db "SCYTHER@@@"
- db "JYNX@@@@@@"
- db "ELECTABUZZ"
- db "MAGMAR@@@@"
- db "PINSIR@@@@"
- db "TAUROS@@@@"
- db "MAGIKARP@@"
- db "GYARADOS@@"
- db "LAPRAS@@@@"
- db "DITTO@@@@@"
- db "EEVEE@@@@@"
- db "VAPOREON@@"
- db "JOLTEON@@@"
- db "FLAREON@@@"
- db "PORYGON@@@"
- db "OMANYTE@@@"
- db "OMASTAR@@@"
- db "KABUTO@@@@"
- db "KABUTOPS@@"
- db "AERODACTYL"
- db "SNORLAX@@@"
- db "ARTICUNO@@"
- db "ZAPDOS@@@@"
- db "MOLTRES@@@"
- db "DRATINI@@@"
- db "DRAGONAIR@"
- db "DRAGONITE@"
- db "MEWTWO@@@@"
- db "MEW@@@@@@@"
- db "CHIKORITA@"
- db "BAYLEEF@@@"
- db "MEGANIUM@@"
- db "CYNDAQUIL@"
- db "QUILAVA@@@"
- db "TYPHLOSION"
- db "TOTODILE@@"
- db "CROCONAW@@"
- db "FERALIGATR"
- db "SENTRET@@@"
- db "FURRET@@@@"
- db "HOOTHOOT@@"
- db "NOCTOWL@@@"
- db "LEDYBA@@@@"
- db "LEDIAN@@@@"
- db "SPINARAK@@"
- db "ARIADOS@@@"
- db "CROBAT@@@@"
- db "CHINCHOU@@"
- db "LANTURN@@@"
- db "PICHU@@@@@"
- db "CLEFFA@@@@"
- db "IGGLYBUFF@"
- db "TOGEPI@@@@"
- db "TOGETIC@@@"
- db "NATU@@@@@@"
- db "XATU@@@@@@"
- db "MAREEP@@@@"
- db "FLAAFFY@@@"
- db "AMPHAROS@@"
- db "BELLOSSOM@"
- db "MARILL@@@@"
- db "AZUMARILL@"
- db "SUDOWOODO@"
- db "POLITOED@@"
- db "HOPPIP@@@@"
- db "SKIPLOOM@@"
- db "JUMPLUFF@@"
- db "AIPOM@@@@@"
- db "SUNKERN@@@"
- db "SUNFLORA@@"
- db "YANMA@@@@@"
- db "WOOPER@@@@"
- db "QUAGSIRE@@"
- db "ESPEON@@@@"
- db "UMBREON@@@"
- db "MURKROW@@@"
- db "SLOWKING@@"
- db "MISDREAVUS"
- db "UNOWN@@@@@"
- db "WOBBUFFET@"
- db "GIRAFARIG@"
- db "PINECO@@@@"
- db "FORRETRESS"
- db "DUNSPARCE@"
- db "GLIGAR@@@@"
- db "STEELIX@@@"
- db "SNUBBULL@@"
- db "GRANBULL@@"
- db "QWILFISH@@"
- db "SCIZOR@@@@"
- db "SHUCKLE@@@"
- db "HERACROSS@"
- db "SNEASEL@@@"
- db "TEDDIURSA@"
- db "URSARING@@"
- db "SLUGMA@@@@"
- db "MAGCARGO@@"
- db "SWINUB@@@@"
- db "PILOSWINE@"
- db "CORSOLA@@@"
- db "REMORAID@@"
- db "OCTILLERY@"
- db "DELIBIRD@@"
- db "MANTINE@@@"
- db "SKARMORY@@"
- db "HOUNDOUR@@"
- db "HOUNDOOM@@"
- db "KINGDRA@@@"
- db "PHANPY@@@@"
- db "DONPHAN@@@"
- db "PORYGON2@@"
- db "STANTLER@@"
- db "SMEARGLE@@"
- db "TYROGUE@@@"
- db "HITMONTOP@"
- db "SMOOCHUM@@"
- db "ELEKID@@@@"
- db "MAGBY@@@@@"
- db "MILTANK@@@"
- db "BLISSEY@@@"
- db "RAIKOU@@@@"
- db "ENTEI@@@@@"
- db "SUICUNE@@@"
- db "LARVITAR@@"
- db "PUPITAR@@@"
- db "TYRANITAR@"
- db "LUGIA@@@@@"
- db "HO-OH@@@@@"
- db "CELEBI@@@@"
- db "?????@@@@@"
- db "EGG@@@@@@@"
- db "?????@@@@@"
- db "?????@@@@@"
- db "?????@@@@@"
--- /dev/null
+++ b/data/trainers/attributes.asm
@@ -1,0 +1,406 @@
+TrainerClassAttributes: ; 3959c
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+
+; Falkner
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Whitney
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bugsy
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Morty
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pryce
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Jasmine
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Chuck
+ db FULL_HEAL, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Clair
+ db FULL_HEAL, HYPER_POTION ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Rival1
+ db 0, 0 ; items
+ db 15 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokemon Prof
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Will
+ db MAX_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cal
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bruno
+ db MAX_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Karen
+ db FULL_HEAL, MAX_POTION ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Koga
+ db FULL_HEAL, FULL_RESTORE ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Champion
+ db FULL_HEAL, FULL_RESTORE ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Brock
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Misty
+ db FULL_HEAL, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Lt Surge
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Scientist
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Erika
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Youngster
+ db 0, 0 ; items
+ db 4 ; base reward
+ dw AI_BASIC + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Schoolboy
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_OFTEN
+
+; Bird Keeper
+ db 0, 0 ; items
+ db 6 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Lass
+ db 0, 0 ; items
+ db 6 ; base reward
+ dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_OFTEN
+
+; Janine
+ db DIRE_HIT, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cooltrainerm
+ db 0, 0 ; items
+ db 12 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Cooltrainerf
+ db 0, 0 ; items
+ db 12 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Beauty
+ db 0, 0 ; items
+ db 22 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokemaniac
+ db 0, 0 ; items
+ db 15 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gruntm
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gentleman
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Skier
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Teacher
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sabrina
+ db HYPER_POTION, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Bug Catcher
+ db 0, 0 ; items
+ db 4 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Fisher
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_OFTEN
+
+; Swimmerm
+ db 0, 0 ; items
+ db 2 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Swimmerf
+ db 0, 0 ; items
+ db 5 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sailor
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Super Nerd
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Rival2
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Guitarist
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Hiker
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Biker
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blaine
+ db MAX_POTION, FULL_HEAL ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Burglar
+ db 0, 0 ; items
+ db 22 ; base reward
+ dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Firebreather
+ db 0, 0 ; items
+ db 12 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Juggler
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blackbelt T
+ db 0, 0 ; items
+ db 6 ; base reward
+ dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Executivem
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Psychic T
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Picnicker
+ db 0, 0 ; items
+ db 5 ; base reward
+ dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Camper
+ db 0, 0 ; items
+ db 5 ; base reward
+ dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Executivef
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Sage
+ db 0, 0 ; items
+ db 8 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Medium
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Boarder
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Pokefanm
+ db 0, 0 ; items
+ db 20 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Kimono Girl
+ db 0, 0 ; items
+ db 18 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Twins
+ db 0, 0 ; items
+ db 5 ; base reward
+ dw NO_AI
+ dw CONTEXT_USE + SWITCH_OFTEN
+
+; Pokefanf
+ db 0, 0 ; items
+ db 20 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Red
+ db FULL_RESTORE, FULL_RESTORE ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Blue
+ db FULL_RESTORE, FULL_RESTORE ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Officer
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Gruntf
+ db 0, 0 ; items
+ db 10 ; base reward
+ dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; Mysticalman
+ db 0, 0 ; items
+ db 25 ; base reward
+ dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
+ dw CONTEXT_USE + SWITCH_SOMETIMES
+
+; 39771
--- /dev/null
+++ b/data/trainers/class_names.asm
@@ -1,0 +1,69 @@
+TrainerClassNames:: ; 2c1ef
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "RIVAL@"
+ db "#MON PROF.@"
+ db "ELITE FOUR@"
+ db "<PKMN> TRAINER@"
+ db "ELITE FOUR@"
+ db "ELITE FOUR@"
+ db "ELITE FOUR@"
+ db "CHAMPION@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "SCIENTIST@"
+ db "LEADER@"
+ db "YOUNGSTER@"
+ db "SCHOOLBOY@"
+ db "BIRD KEEPER@"
+ db "LASS@"
+ db "LEADER@"
+ db "COOLTRAINER@"
+ db "COOLTRAINER@"
+ db "BEAUTY@"
+ db "#MANIAC@"
+ db "ROCKET@"
+ db "GENTLEMAN@"
+ db "SKIER@"
+ db "TEACHER@"
+ db "LEADER@"
+ db "BUG CATCHER@"
+ db "FISHER@"
+ db "SWIMMER♂@"
+ db "SWIMMER♀@"
+ db "SAILOR@"
+ db "SUPER NERD@"
+ db "RIVAL@"
+ db "GUITARIST@"
+ db "HIKER@"
+ db "BIKER@"
+ db "LEADER@"
+ db "BURGLAR@"
+ db "FIREBREATHER@"
+ db "JUGGLER@"
+ db "BLACKBELT@"
+ db "ROCKET@"
+ db "PSYCHIC@"
+ db "PICNICKER@"
+ db "CAMPER@"
+ db "ROCKET@"
+ db "SAGE@"
+ db "MEDIUM@"
+ db "BOARDER@"
+ db "#FAN@"
+ db "KIMONO GIRL@"
+ db "TWINS@"
+ db "#FAN@"
+ db "<PKMN> TRAINER@"
+ db "LEADER@"
+ db "OFFICER@"
+ db "ROCKET@"
+ db "MYSTICALMAN@"
--- /dev/null
+++ b/data/trainers/dvs.asm
@@ -1,0 +1,72 @@
+TrainerClassDVs: ; 270d6
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+ ; Atk Spd
+ ; Def Spc
+ db $9A, $77 ; falkner
+ db $88, $88 ; bugsy
+ db $98, $88 ; whitney
+ db $98, $88 ; morty
+ db $98, $88 ; pryce
+ db $98, $88 ; jasmine
+ db $98, $88 ; chuck
+ db $7C, $DD ; clair
+ db $DD, $DD ; rival1
+ db $98, $88 ; pokemon prof
+ db $DC, $DD ; will
+ db $DC, $DD ; cal
+ db $DC, $DD ; bruno
+ db $7F, $DF ; karen
+ db $DC, $DD ; koga
+ db $DC, $DD ; champion
+ db $98, $88 ; brock
+ db $78, $88 ; misty
+ db $98, $88 ; lt surge
+ db $98, $88 ; scientist
+ db $78, $88 ; erika
+ db $98, $88 ; youngster
+ db $98, $88 ; schoolboy
+ db $98, $88 ; bird keeper
+ db $58, $88 ; lass
+ db $98, $88 ; janine
+ db $D8, $C8 ; cooltrainerm
+ db $7C, $C8 ; cooltrainerf
+ db $69, $C8 ; beauty
+ db $98, $88 ; pokemaniac
+ db $D8, $A8 ; gruntm
+ db $98, $88 ; gentleman
+ db $98, $88 ; skier
+ db $68, $88 ; teacher
+ db $7D, $87 ; sabrina
+ db $98, $88 ; bug catcher
+ db $98, $88 ; fisher
+ db $98, $88 ; swimmerm
+ db $78, $88 ; swimmerf
+ db $98, $88 ; sailor
+ db $98, $88 ; super nerd
+ db $98, $88 ; rival2
+ db $98, $88 ; guitarist
+ db $A8, $88 ; hiker
+ db $98, $88 ; biker
+ db $98, $88 ; blaine
+ db $98, $88 ; burglar
+ db $98, $88 ; firebreather
+ db $98, $88 ; juggler
+ db $98, $88 ; blackbelt
+ db $D8, $A8 ; executivem
+ db $98, $88 ; psychic
+ db $6A, $A8 ; picnicker
+ db $98, $88 ; camper
+ db $7E, $A8 ; executivef
+ db $98, $88 ; sage
+ db $78, $88 ; medium
+ db $98, $88 ; boarder
+ db $98, $88 ; pokefanm
+ db $68, $8A ; kimono girl
+ db $68, $A8 ; twins
+ db $6D, $88 ; pokefanf
+ db $FD, $DE ; red
+ db $9D, $DD ; blue
+ db $98, $88 ; officer
+ db $7E, $A8 ; gruntf
+ db $98, $88 ; mysticalman
+; 2715c
--- /dev/null
+++ b/data/trainers/palettes.asm
@@ -1,0 +1,76 @@
+TrainerPalettes: ; b0ce
+; entries correspond to trainer classes
+
+PlayerPalette: ; b0ce
+; Chris uses the same colors as Cal
+INCLUDE "gfx/trainers/cal.pal"
+KrisPalette: ; b0d0
+; Kris shares Falkner's palette
+INCLUDE "gfx/trainers/falkner.pal"
+INCLUDE "gfx/trainers/whitney.pal"
+INCLUDE "gfx/trainers/bugsy.pal"
+INCLUDE "gfx/trainers/morty.pal"
+INCLUDE "gfx/trainers/pryce.pal"
+INCLUDE "gfx/trainers/jasmine.pal"
+INCLUDE "gfx/trainers/chuck.pal"
+INCLUDE "gfx/trainers/clair.pal"
+INCLUDE "gfx/trainers/rival1.pal"
+INCLUDE "gfx/trainers/oak.pal"
+INCLUDE "gfx/trainers/will.pal"
+INCLUDE "gfx/trainers/cal.pal"
+INCLUDE "gfx/trainers/bruno.pal"
+INCLUDE "gfx/trainers/karen.pal"
+INCLUDE "gfx/trainers/koga.pal"
+INCLUDE "gfx/trainers/champion.pal"
+INCLUDE "gfx/trainers/brock.pal"
+INCLUDE "gfx/trainers/misty.pal"
+INCLUDE "gfx/trainers/lt_surge.pal"
+INCLUDE "gfx/trainers/scientist.pal"
+INCLUDE "gfx/trainers/erika.pal"
+INCLUDE "gfx/trainers/youngster.pal"
+INCLUDE "gfx/trainers/schoolboy.pal"
+INCLUDE "gfx/trainers/bird_keeper.pal"
+INCLUDE "gfx/trainers/lass.pal"
+INCLUDE "gfx/trainers/janine.pal"
+INCLUDE "gfx/trainers/cooltrainer_m.pal"
+INCLUDE "gfx/trainers/cooltrainer_f.pal"
+INCLUDE "gfx/trainers/beauty.pal"
+INCLUDE "gfx/trainers/pokemaniac.pal"
+INCLUDE "gfx/trainers/grunt_m.pal"
+INCLUDE "gfx/trainers/gentleman.pal"
+INCLUDE "gfx/trainers/skier.pal"
+INCLUDE "gfx/trainers/teacher.pal"
+INCLUDE "gfx/trainers/sabrina.pal"
+INCLUDE "gfx/trainers/bug_catcher.pal"
+INCLUDE "gfx/trainers/fisher.pal"
+INCLUDE "gfx/trainers/swimmer_m.pal"
+INCLUDE "gfx/trainers/swimmer_f.pal"
+INCLUDE "gfx/trainers/sailor.pal"
+INCLUDE "gfx/trainers/super_nerd.pal"
+INCLUDE "gfx/trainers/rival2.pal"
+INCLUDE "gfx/trainers/guitarist.pal"
+INCLUDE "gfx/trainers/hiker.pal"
+INCLUDE "gfx/trainers/biker.pal"
+INCLUDE "gfx/trainers/blaine.pal"
+INCLUDE "gfx/trainers/burglar.pal"
+INCLUDE "gfx/trainers/firebreather.pal"
+INCLUDE "gfx/trainers/juggler.pal"
+INCLUDE "gfx/trainers/blackbelt_t.pal"
+INCLUDE "gfx/trainers/executive_m.pal"
+INCLUDE "gfx/trainers/psychic_t.pal"
+INCLUDE "gfx/trainers/picnicker.pal"
+INCLUDE "gfx/trainers/camper.pal"
+INCLUDE "gfx/trainers/executive_f.pal"
+INCLUDE "gfx/trainers/sage.pal"
+INCLUDE "gfx/trainers/medium.pal"
+INCLUDE "gfx/trainers/boarder.pal"
+INCLUDE "gfx/trainers/pokefan_m.pal"
+INCLUDE "gfx/trainers/kimono_girl.pal"
+INCLUDE "gfx/trainers/twins.pal"
+INCLUDE "gfx/trainers/pokefan_f.pal"
+INCLUDE "gfx/trainers/red.pal"
+INCLUDE "gfx/trainers/blue.pal"
+INCLUDE "gfx/trainers/officer.pal"
+INCLUDE "gfx/trainers/grunt_f.pal"
+INCLUDE "gfx/trainers/mysticalman.pal"
+; b1de
--- a/data/trainers/trainer_attributes.asm
+++ /dev/null
@@ -1,406 +1,0 @@
-TrainerClassAttributes: ; 3959c
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
-
-; Falkner
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Whitney
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bugsy
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Morty
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pryce
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Jasmine
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Chuck
- db FULL_HEAL, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Clair
- db FULL_HEAL, HYPER_POTION ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Rival1
- db 0, 0 ; items
- db 15 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokemon Prof
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Will
- db MAX_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cal
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bruno
- db MAX_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Karen
- db FULL_HEAL, MAX_POTION ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Koga
- db FULL_HEAL, FULL_RESTORE ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Champion
- db FULL_HEAL, FULL_RESTORE ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Brock
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Misty
- db FULL_HEAL, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Lt Surge
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Scientist
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Erika
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Youngster
- db 0, 0 ; items
- db 4 ; base reward
- dw AI_BASIC + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Schoolboy
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_OFTEN
-
-; Bird Keeper
- db 0, 0 ; items
- db 6 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Lass
- db 0, 0 ; items
- db 6 ; base reward
- dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_OFTEN
-
-; Janine
- db DIRE_HIT, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cooltrainerm
- db 0, 0 ; items
- db 12 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Cooltrainerf
- db 0, 0 ; items
- db 12 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Beauty
- db 0, 0 ; items
- db 22 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokemaniac
- db 0, 0 ; items
- db 15 ; base reward
- dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gruntm
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gentleman
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Skier
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Teacher
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sabrina
- db HYPER_POTION, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Bug Catcher
- db 0, 0 ; items
- db 4 ; base reward
- dw AI_BASIC + AI_SETUP + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Fisher
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_OFTEN
-
-; Swimmerm
- db 0, 0 ; items
- db 2 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Swimmerf
- db 0, 0 ; items
- db 5 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sailor
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Super Nerd
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Rival2
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Guitarist
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Hiker
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Biker
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blaine
- db MAX_POTION, FULL_HEAL ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Burglar
- db 0, 0 ; items
- db 22 ; base reward
- dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Firebreather
- db 0, 0 ; items
- db 12 ; base reward
- dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Juggler
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blackbelt T
- db 0, 0 ; items
- db 6 ; base reward
- dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Executivem
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Psychic T
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Picnicker
- db 0, 0 ; items
- db 5 ; base reward
- dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Camper
- db 0, 0 ; items
- db 5 ; base reward
- dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Executivef
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Sage
- db 0, 0 ; items
- db 8 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Medium
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Boarder
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Pokefanm
- db 0, 0 ; items
- db 20 ; base reward
- dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Kimono Girl
- db 0, 0 ; items
- db 18 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Twins
- db 0, 0 ; items
- db 5 ; base reward
- dw NO_AI
- dw CONTEXT_USE + SWITCH_OFTEN
-
-; Pokefanf
- db 0, 0 ; items
- db 20 ; base reward
- dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Red
- db FULL_RESTORE, FULL_RESTORE ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Blue
- db FULL_RESTORE, FULL_RESTORE ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Officer
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Gruntf
- db 0, 0 ; items
- db 10 ; base reward
- dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; Mysticalman
- db 0, 0 ; items
- db 25 ; base reward
- dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
- dw CONTEXT_USE + SWITCH_SOMETIMES
-
-; 39771
--- a/data/trainers/trainer_class_names.asm
+++ /dev/null
@@ -1,69 +1,0 @@
-TrainerClassNames:: ; 2c1ef
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "RIVAL@"
- db "#MON PROF.@"
- db "ELITE FOUR@"
- db "<PKMN> TRAINER@"
- db "ELITE FOUR@"
- db "ELITE FOUR@"
- db "ELITE FOUR@"
- db "CHAMPION@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "SCIENTIST@"
- db "LEADER@"
- db "YOUNGSTER@"
- db "SCHOOLBOY@"
- db "BIRD KEEPER@"
- db "LASS@"
- db "LEADER@"
- db "COOLTRAINER@"
- db "COOLTRAINER@"
- db "BEAUTY@"
- db "#MANIAC@"
- db "ROCKET@"
- db "GENTLEMAN@"
- db "SKIER@"
- db "TEACHER@"
- db "LEADER@"
- db "BUG CATCHER@"
- db "FISHER@"
- db "SWIMMER♂@"
- db "SWIMMER♀@"
- db "SAILOR@"
- db "SUPER NERD@"
- db "RIVAL@"
- db "GUITARIST@"
- db "HIKER@"
- db "BIKER@"
- db "LEADER@"
- db "BURGLAR@"
- db "FIREBREATHER@"
- db "JUGGLER@"
- db "BLACKBELT@"
- db "ROCKET@"
- db "PSYCHIC@"
- db "PICNICKER@"
- db "CAMPER@"
- db "ROCKET@"
- db "SAGE@"
- db "MEDIUM@"
- db "BOARDER@"
- db "#FAN@"
- db "KIMONO GIRL@"
- db "TWINS@"
- db "#FAN@"
- db "<PKMN> TRAINER@"
- db "LEADER@"
- db "OFFICER@"
- db "ROCKET@"
- db "MYSTICALMAN@"
--- a/data/trainers/trainer_dvs.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-GetTrainerDVs: ; 270c4
-; Return the DVs of OtherTrainerClass in bc
-
- push hl
- ld a, [OtherTrainerClass]
- dec a
- ld c, a
- ld b, 0
-
- ld hl, TrainerClassDVs
- add hl, bc
- add hl, bc
-
- ld a, [hli]
- ld b, a
- ld c, [hl]
-
- pop hl
- ret
-; 270d6
-
-TrainerClassDVs: ; 270d6
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
- ; Atk Spd
- ; Def Spc
- db $9A, $77 ; falkner
- db $88, $88 ; bugsy
- db $98, $88 ; whitney
- db $98, $88 ; morty
- db $98, $88 ; pryce
- db $98, $88 ; jasmine
- db $98, $88 ; chuck
- db $7C, $DD ; clair
- db $DD, $DD ; rival1
- db $98, $88 ; pokemon prof
- db $DC, $DD ; will
- db $DC, $DD ; cal
- db $DC, $DD ; bruno
- db $7F, $DF ; karen
- db $DC, $DD ; koga
- db $DC, $DD ; champion
- db $98, $88 ; brock
- db $78, $88 ; misty
- db $98, $88 ; lt surge
- db $98, $88 ; scientist
- db $78, $88 ; erika
- db $98, $88 ; youngster
- db $98, $88 ; schoolboy
- db $98, $88 ; bird keeper
- db $58, $88 ; lass
- db $98, $88 ; janine
- db $D8, $C8 ; cooltrainerm
- db $7C, $C8 ; cooltrainerf
- db $69, $C8 ; beauty
- db $98, $88 ; pokemaniac
- db $D8, $A8 ; gruntm
- db $98, $88 ; gentleman
- db $98, $88 ; skier
- db $68, $88 ; teacher
- db $7D, $87 ; sabrina
- db $98, $88 ; bug catcher
- db $98, $88 ; fisher
- db $98, $88 ; swimmerm
- db $78, $88 ; swimmerf
- db $98, $88 ; sailor
- db $98, $88 ; super nerd
- db $98, $88 ; rival2
- db $98, $88 ; guitarist
- db $A8, $88 ; hiker
- db $98, $88 ; biker
- db $98, $88 ; blaine
- db $98, $88 ; burglar
- db $98, $88 ; firebreather
- db $98, $88 ; juggler
- db $98, $88 ; blackbelt
- db $D8, $A8 ; executivem
- db $98, $88 ; psychic
- db $6A, $A8 ; picnicker
- db $98, $88 ; camper
- db $7E, $A8 ; executivef
- db $98, $88 ; sage
- db $78, $88 ; medium
- db $98, $88 ; boarder
- db $98, $88 ; pokefanm
- db $68, $8A ; kimono girl
- db $68, $A8 ; twins
- db $6D, $88 ; pokefanf
- db $FD, $DE ; red
- db $9D, $DD ; blue
- db $98, $88 ; officer
- db $7E, $A8 ; gruntf
- db $98, $88 ; mysticalman
-; 2715c
--- a/docs/battle_anim_commands.md
+++ b/docs/battle_anim_commands.md
@@ -1,6 +1,6 @@
# Battle Animation Commands
-Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm).
+Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/animations.asm:BattleAnimations](/data/moves/animations.asm).
## `$00`−`$EF`: `anim_wait` *length*
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -186,7 +186,7 @@
This bug affects Acid, Iron Tail, and Rock Smash.
-This is a bug with `DefenseDownHit` in [data/moves/move_effects.asm](/data/moves/move_effects.asm):
+This is a bug with `DefenseDownHit` in [data/moves/effects.asm](/data/moves/effects.asm):
```asm
DefenseDownHit:
@@ -661,7 +661,7 @@
## Dragon Scale, not Dragon Fang, boosts Dragon-type moves
-This is a bug with `ItemAttributes` in [items/item_attributes.asm](/items/item_attributes.asm):
+This is a bug with `ItemAttributes` in [items/attributes.asm](/items/attributes.asm):
```asm
; DRAGON FANG
--- a/docs/effect_commands.md
+++ /dev/null
@@ -1,358 +1,0 @@
-# Effect Commands
-
-Defined in [macros/scripts/effect_commands.asm](/macros/scripts/effect_commands.asm) and [data/moves/effect_command_pointers.asm:BattleCommandPointers](/data/moves/effect_command_pointers.asm).
-
-
-## `$01`: `checkturn`
-
-## `$02`: `checkobedience`
-
-## `$03`: `usedmovetext`
-
-## `$04`: `doturn`
-
-## `$05`: `critical`
-
-## `$06`: `damagestats`
-
-## `$07`: `stab`
-
-## `$08`: `damagevariation`
-
-## `$09`: `checkhit`
-
-## `$0A`: `lowersub`
-
-## `$0B`: `hittargetnosub`
-
-## `$0C`: `raisesub`
-
-## `$0D`: `failuretext`
-
-## `$0E`: `checkfaint`
-
-## `$0F`: `criticaltext`
-
-## `$10`: `supereffectivetext`
-
-## `$11`: `checkdestinybond`
-
-## `$12`: `buildopponentrage`
-
-## `$13`: `poisontarget`
-
-## `$14`: `sleeptarget`
-
-## `$15`: `draintarget`
-
-## `$16`: `eatdream`
-
-## `$17`: `burntarget`
-
-## `$18`: `freezetarget`
-
-## `$19`: `paralyzetarget`
-
-## `$1A`: `selfdestruct`
-
-## `$1B`: `mirrormove`
-
-## `$1C`: `statup`
-
-## `$1D`: `statdown`
-
-## `$1E`: `payday`
-
-## `$1F`: `conversion`
-
-## `$20`: `resetstats`
-
-## `$21`: `storeenergy`
-
-## `$22`: `unleashenergy`
-
-## `$23`: `forceswitch`
-
-## `$24`: `endloop`
-
-## `$25`: `flinchtarget`
-
-## `$26`: `ohko`
-
-## `$27`: `recoil`
-
-## `$28`: `mist`
-
-## `$29`: `focusenergy`
-
-## `$2A`: `confuse`
-
-## `$2B`: `confusetarget`
-
-## `$2C`: `heal`
-
-## `$2D`: `transform`
-
-## `$2E`: `screen`
-
-## `$2F`: `poison`
-
-## `$30`: `paralyze`
-
-## `$31`: `substitute`
-
-## `$32`: `rechargenextturn`
-
-## `$33`: `mimic`
-
-## `$34`: `metronome`
-
-## `$35`: `leechseed`
-
-## `$36`: `splash`
-
-## `$37`: `disable`
-
-## `$38`: `cleartext`
-
-## `$39`: `charge`
-
-## `$3A`: `checkcharge`
-
-## `$3B`: `traptarget`
-
-## `$3C`: `effect0x3c`
-
-## `$3D`: `rampage`
-
-## `$3E`: `checkrampage`
-
-## `$3F`: `constantdamage`
-
-## `$40`: `counter`
-
-## `$41`: `encore`
-
-## `$42`: `painsplit`
-
-## `$43`: `snore`
-
-## `$44`: `conversion2`
-
-## `$45`: `lockon`
-
-## `$46`: `sketch`
-
-## `$47`: `defrostopponent`
-
-## `$48`: `sleeptalk`
-
-## `$49`: `destinybond`
-
-## `$4A`: `spite`
-
-## `$4B`: `falseswipe`
-
-## `$4C`: `healbell`
-
-## `$4D`: `kingsrock`
-
-## `$4E`: `triplekick`
-
-## `$4F`: `kickcounter`
-
-## `$50`: `thief`
-
-## `$51`: `arenatrap`
-
-## `$52`: `nightmare`
-
-## `$53`: `defrost`
-
-## `$54`: `curse`
-
-## `$55`: `protect`
-
-## `$56`: `spikes`
-
-## `$57`: `foresight`
-
-## `$58`: `perishsong`
-
-## `$59`: `startsandstorm`
-
-## `$5A`: `endure`
-
-## `$5B`: `checkcurl`
-
-## `$5C`: `rolloutpower`
-
-## `$5D`: `effect0x5d`
-
-## `$5E`: `furycutter`
-
-## `$5F`: `attract`
-
-## `$60`: `happinesspower`
-
-## `$61`: `present`
-
-## `$62`: `damagecalc`
-
-## `$63`: `frustrationpower`
-
-## `$64`: `safeguard`
-
-## `$65`: `checksafeguard`
-
-## `$66`: `getmagnitude`
-
-## `$67`: `batonpass`
-
-## `$68`: `pursuit`
-
-## `$69`: `clearhazards`
-
-## `$6A`: `healmorn`
-
-## `$6B`: `healday`
-
-## `$6C`: `healnite`
-
-## `$6D`: `hiddenpower`
-
-## `$6E`: `startrain`
-
-## `$6F`: `startsun`
-
-## `$70`: `attackup`
-
-## `$71`: `defenseup`
-
-## `$72`: `speedup`
-
-## `$73`: `specialattackup`
-
-## `$74`: `specialdefenseup`
-
-## `$75`: `accuracyup`
-
-## `$76`: `evasionup`
-
-## `$77`: `attackup2`
-
-## `$78`: `defenseup2`
-
-## `$79`: `speedup2`
-
-## `$7A`: `specialattackup2`
-
-## `$7B`: `specialdefenseup2`
-
-## `$7C`: `accuracyup2`
-
-## `$7D`: `evasionup2`
-
-## `$7E`: `attackdown`
-
-## `$7F`: `defensedown`
-
-## `$80`: `speeddown`
-
-## `$81`: `specialattackdown`
-
-## `$82`: `specialdefensedown`
-
-## `$83`: `accuracydown`
-
-## `$84`: `evasiondown`
-
-## `$85`: `attackdown2`
-
-## `$86`: `defensedown2`
-
-## `$87`: `speeddown2`
-
-## `$88`: `specialattackdown2`
-
-## `$89`: `specialdefensedown2`
-
-## `$8A`: `accuracydown2`
-
-## `$8B`: `evasiondown2`
-
-## `$8C`: `statupmessage`
-
-## `$8D`: `statdownmessage`
-
-## `$8E`: `statupfailtext`
-
-## `$8F`: `statdownfailtext`
-
-## `$90`: `effectchance`
-
-## `$91`: `statdownanim`
-
-## `$92`: `statupanim`
-
-## `$93`: `switchturn`
-
-## `$94`: `fakeout`
-
-## `$95`: `bellydrum`
-
-## `$96`: `psychup`
-
-## `$97`: `rage`
-
-## `$98`: `doubleflyingdamage`
-
-## `$99`: `doubleundergrounddamage`
-
-## `$9A`: `mirrorcoat`
-
-## `$9B`: `checkfuturesight`
-
-## `$9C`: `futuresight`
-
-## `$9D`: `doubleminimizedamage`
-
-## `$9E`: `skipsuncharge`
-
-## `$9F`: `thunderaccuracy`
-
-## `$A0`: `teleport`
-
-## `$A1`: `beatup`
-
-## `$A2`: `ragedamage`
-
-## `$A3`: `resettypematchup`
-
-## `$A4`: `allstatsup`
-
-## `$A5`: `effect0xa5`
-
-## `$A6`: `raisesubnoanim`
-
-## `$A7`: `lowersubnoanim`
-
-## `$A8`: `effect0xa8`
-
-## `$A9`: `clearmissdamage`
-
-## `$AA`: `movedelay`
-
-## `$AB`: `hittarget`
-
-## `$AC`: `tristatuschance`
-
-## `$AD`: `supereffectivelooptext`
-
-## `$AE`: `startloop`
-
-## `$AF`: `curl`
-
-## `$FE`: `endturn`
-
-## `$FF`: `endmove`
--- /dev/null
+++ b/docs/move_effect_commands.md
@@ -1,0 +1,358 @@
+# Move Effect Commands
+
+Defined in [macros/scripts/battle_commands.asm](/macros/scripts/battle_commands.asm) and [data/battle_command_pointers.asm:BattleCommandPointers](/data/battle_command_pointers.asm).
+
+
+## `$01`: `checkturn`
+
+## `$02`: `checkobedience`
+
+## `$03`: `usedmovetext`
+
+## `$04`: `doturn`
+
+## `$05`: `critical`
+
+## `$06`: `damagestats`
+
+## `$07`: `stab`
+
+## `$08`: `damagevariation`
+
+## `$09`: `checkhit`
+
+## `$0A`: `lowersub`
+
+## `$0B`: `hittargetnosub`
+
+## `$0C`: `raisesub`
+
+## `$0D`: `failuretext`
+
+## `$0E`: `checkfaint`
+
+## `$0F`: `criticaltext`
+
+## `$10`: `supereffectivetext`
+
+## `$11`: `checkdestinybond`
+
+## `$12`: `buildopponentrage`
+
+## `$13`: `poisontarget`
+
+## `$14`: `sleeptarget`
+
+## `$15`: `draintarget`
+
+## `$16`: `eatdream`
+
+## `$17`: `burntarget`
+
+## `$18`: `freezetarget`
+
+## `$19`: `paralyzetarget`
+
+## `$1A`: `selfdestruct`
+
+## `$1B`: `mirrormove`
+
+## `$1C`: `statup`
+
+## `$1D`: `statdown`
+
+## `$1E`: `payday`
+
+## `$1F`: `conversion`
+
+## `$20`: `resetstats`
+
+## `$21`: `storeenergy`
+
+## `$22`: `unleashenergy`
+
+## `$23`: `forceswitch`
+
+## `$24`: `endloop`
+
+## `$25`: `flinchtarget`
+
+## `$26`: `ohko`
+
+## `$27`: `recoil`
+
+## `$28`: `mist`
+
+## `$29`: `focusenergy`
+
+## `$2A`: `confuse`
+
+## `$2B`: `confusetarget`
+
+## `$2C`: `heal`
+
+## `$2D`: `transform`
+
+## `$2E`: `screen`
+
+## `$2F`: `poison`
+
+## `$30`: `paralyze`
+
+## `$31`: `substitute`
+
+## `$32`: `rechargenextturn`
+
+## `$33`: `mimic`
+
+## `$34`: `metronome`
+
+## `$35`: `leechseed`
+
+## `$36`: `splash`
+
+## `$37`: `disable`
+
+## `$38`: `cleartext`
+
+## `$39`: `charge`
+
+## `$3A`: `checkcharge`
+
+## `$3B`: `traptarget`
+
+## `$3C`: `effect0x3c`
+
+## `$3D`: `rampage`
+
+## `$3E`: `checkrampage`
+
+## `$3F`: `constantdamage`
+
+## `$40`: `counter`
+
+## `$41`: `encore`
+
+## `$42`: `painsplit`
+
+## `$43`: `snore`
+
+## `$44`: `conversion2`
+
+## `$45`: `lockon`
+
+## `$46`: `sketch`
+
+## `$47`: `defrostopponent`
+
+## `$48`: `sleeptalk`
+
+## `$49`: `destinybond`
+
+## `$4A`: `spite`
+
+## `$4B`: `falseswipe`
+
+## `$4C`: `healbell`
+
+## `$4D`: `kingsrock`
+
+## `$4E`: `triplekick`
+
+## `$4F`: `kickcounter`
+
+## `$50`: `thief`
+
+## `$51`: `arenatrap`
+
+## `$52`: `nightmare`
+
+## `$53`: `defrost`
+
+## `$54`: `curse`
+
+## `$55`: `protect`
+
+## `$56`: `spikes`
+
+## `$57`: `foresight`
+
+## `$58`: `perishsong`
+
+## `$59`: `startsandstorm`
+
+## `$5A`: `endure`
+
+## `$5B`: `checkcurl`
+
+## `$5C`: `rolloutpower`
+
+## `$5D`: `effect0x5d`
+
+## `$5E`: `furycutter`
+
+## `$5F`: `attract`
+
+## `$60`: `happinesspower`
+
+## `$61`: `present`
+
+## `$62`: `damagecalc`
+
+## `$63`: `frustrationpower`
+
+## `$64`: `safeguard`
+
+## `$65`: `checksafeguard`
+
+## `$66`: `getmagnitude`
+
+## `$67`: `batonpass`
+
+## `$68`: `pursuit`
+
+## `$69`: `clearhazards`
+
+## `$6A`: `healmorn`
+
+## `$6B`: `healday`
+
+## `$6C`: `healnite`
+
+## `$6D`: `hiddenpower`
+
+## `$6E`: `startrain`
+
+## `$6F`: `startsun`
+
+## `$70`: `attackup`
+
+## `$71`: `defenseup`
+
+## `$72`: `speedup`
+
+## `$73`: `specialattackup`
+
+## `$74`: `specialdefenseup`
+
+## `$75`: `accuracyup`
+
+## `$76`: `evasionup`
+
+## `$77`: `attackup2`
+
+## `$78`: `defenseup2`
+
+## `$79`: `speedup2`
+
+## `$7A`: `specialattackup2`
+
+## `$7B`: `specialdefenseup2`
+
+## `$7C`: `accuracyup2`
+
+## `$7D`: `evasionup2`
+
+## `$7E`: `attackdown`
+
+## `$7F`: `defensedown`
+
+## `$80`: `speeddown`
+
+## `$81`: `specialattackdown`
+
+## `$82`: `specialdefensedown`
+
+## `$83`: `accuracydown`
+
+## `$84`: `evasiondown`
+
+## `$85`: `attackdown2`
+
+## `$86`: `defensedown2`
+
+## `$87`: `speeddown2`
+
+## `$88`: `specialattackdown2`
+
+## `$89`: `specialdefensedown2`
+
+## `$8A`: `accuracydown2`
+
+## `$8B`: `evasiondown2`
+
+## `$8C`: `statupmessage`
+
+## `$8D`: `statdownmessage`
+
+## `$8E`: `statupfailtext`
+
+## `$8F`: `statdownfailtext`
+
+## `$90`: `effectchance`
+
+## `$91`: `statdownanim`
+
+## `$92`: `statupanim`
+
+## `$93`: `switchturn`
+
+## `$94`: `fakeout`
+
+## `$95`: `bellydrum`
+
+## `$96`: `psychup`
+
+## `$97`: `rage`
+
+## `$98`: `doubleflyingdamage`
+
+## `$99`: `doubleundergrounddamage`
+
+## `$9A`: `mirrorcoat`
+
+## `$9B`: `checkfuturesight`
+
+## `$9C`: `futuresight`
+
+## `$9D`: `doubleminimizedamage`
+
+## `$9E`: `skipsuncharge`
+
+## `$9F`: `thunderaccuracy`
+
+## `$A0`: `teleport`
+
+## `$A1`: `beatup`
+
+## `$A2`: `ragedamage`
+
+## `$A3`: `resettypematchup`
+
+## `$A4`: `allstatsup`
+
+## `$A5`: `effect0xa5`
+
+## `$A6`: `raisesubnoanim`
+
+## `$A7`: `lowersubnoanim`
+
+## `$A8`: `effect0xa8`
+
+## `$A9`: `clearmissdamage`
+
+## `$AA`: `movedelay`
+
+## `$AB`: `hittarget`
+
+## `$AC`: `tristatuschance`
+
+## `$AD`: `supereffectivelooptext`
+
+## `$AE`: `startloop`
+
+## `$AF`: `curl`
+
+## `$FE`: `endturn`
+
+## `$FF`: `endmove`
--- /dev/null
+++ b/engine/battle/read_trainer_dvs.asm
@@ -1,0 +1,20 @@
+GetTrainerDVs: ; 270c4
+; Return the DVs of OtherTrainerClass in bc
+
+ push hl
+ ld a, [OtherTrainerClass]
+ dec a
+ ld c, a
+ ld b, 0
+
+ ld hl, TrainerClassDVs
+ add hl, bc
+ add hl, bc
+
+ ld a, [hli]
+ ld b, a
+ ld c, [hl]
+
+ pop hl
+ ret
+; 270d6
--- a/engine/battle/read_trainer_party.asm
+++ b/engine/battle/read_trainer_party.asm
@@ -1,4 +1,3 @@
-
ReadTrainerParty: ; 39771
ld a, [InBattleTowerBattle]
bit 0, a
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -1218,9 +1218,9 @@
ExpBarPalette:
INCLUDE "data/palettes/exp_bar.pal"
-INCLUDE "data/palettes/pokemon_palettes.asm"
+INCLUDE "data/pokemon/palettes.asm"
-INCLUDE "data/palettes/trainer_palettes.asm"
+INCLUDE "data/trainers/palettes.asm"
LoadMapPals:
farcall LoadSpecialMapPalette
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -14,7 +14,7 @@
ret
; 15377
-INCLUDE "data/maps/map_setup_scripts.asm"
+INCLUDE "data/maps/setup_scripts.asm"
ReadMapSetupScript: ; 1541d
.loop
--- a/gfx/load_pics.asm
+++ b/gfx/load_pics.asm
@@ -103,13 +103,13 @@
ret
GetFrontpicPointer: ; 510d7
-GLOBAL PicPointers, UnownPicPointers
+GLOBAL PokemonPicPointers, UnownPicPointers
ld a, [CurPartySpecies]
cp UNOWN
jr z, .unown
ld a, [CurPartySpecies]
- ld d, BANK(PicPointers)
+ ld d, BANK(PokemonPicPointers)
jr .ok
.unown
@@ -117,7 +117,7 @@
ld d, BANK(UnownPicPointers)
.ok
- ld hl, PicPointers ; UnownPicPointers
+ ld hl, PokemonPicPointers ; UnownPicPointers
dec a
ld bc, 6
call AddNTimes
@@ -212,10 +212,10 @@
; These are assumed to be at the same
; address in their respective banks.
- GLOBAL PicPointers, UnownPicPointers
- ld hl, PicPointers ; UnownPicPointers
+ GLOBAL PokemonPicPointers, UnownPicPointers
+ ld hl, PokemonPicPointers ; UnownPicPointers
ld a, b
- ld d, BANK(PicPointers)
+ ld d, BANK(PokemonPicPointers)
cp UNOWN
jr nz, .ok
ld a, c
@@ -295,16 +295,16 @@
Function511ec: ; 511ec
ld a, c
push de
- ld hl, PicPointers
+ ld hl, PokemonPicPointers
dec a
ld bc, 6
call AddNTimes
- ld a, BANK(PicPointers)
+ ld a, BANK(PokemonPicPointers)
call GetFarByte
call FixPicBank
push af
inc hl
- ld a, BANK(PicPointers)
+ ld a, BANK(PokemonPicPointers)
call GetFarHalfword
pop af
pop de
--- a/gfx/pics.asm
+++ b/gfx/pics.asm
@@ -1,8 +1,8 @@
INCLUDE "includes.asm"
-; PicPointers and UnownPicPointers are assumed to start at the same address,
-; but in different banks. This is enforced in pokecrystal.link.
+; PokemonPicPointers and UnownPicPointers are assumed to start at the same
+; address, but in different banks. This is enforced in pokecrystal.link.
SECTION "Pic Pointers", ROMX
--- a/macros.asm
+++ b/macros.asm
@@ -14,7 +14,7 @@
INCLUDE "macros/scripts/events.asm"
INCLUDE "macros/scripts/text.asm"
INCLUDE "macros/scripts/movement.asm"
-INCLUDE "macros/scripts/effect_commands.asm"
+INCLUDE "macros/scripts/battle_commands.asm"
INCLUDE "macros/scripts/battle_anims.asm"
INCLUDE "macros/scripts/trade_anims.asm"
INCLUDE "macros/scripts/gfx_anims.asm"
--- /dev/null
+++ b/macros/scripts/battle_commands.asm
@@ -1,0 +1,187 @@
+command: macro
+ enum \1_command
+\1 equs "db \1_command"
+endm
+
+; BattleCommandPointers indexes (see data/battle_command_pointers.asm)
+ enum_start 1
+ command checkturn ; 01
+ command checkobedience ; 02
+ command usedmovetext ; 03
+ command doturn ; 04
+ command critical ; 05
+ command damagestats ; 06
+ command stab ; 07
+ command damagevariation ; 08
+ command checkhit ; 09
+ command lowersub ; 0a
+ command hittargetnosub ; 0b
+ command raisesub ; 0c
+ command failuretext ; 0d
+ command checkfaint ; 0e
+ command criticaltext ; 0f
+ command supereffectivetext ; 10
+ command checkdestinybond ; 11
+ command buildopponentrage ; 12
+ command poisontarget ; 13
+ command sleeptarget ; 14
+ command draintarget ; 15
+ command eatdream ; 16
+ command burntarget ; 17
+ command freezetarget ; 18
+ command paralyzetarget ; 19
+ command selfdestruct ; 1a
+ command mirrormove ; 1b
+ command statup ; 1c
+ command statdown ; 1d
+ command payday ; 1e
+ command conversion ; 1f
+ command resetstats ; 20
+ command storeenergy ; 21
+ command unleashenergy ; 22
+ command forceswitch ; 23
+ command endloop ; 24
+ command flinchtarget ; 25
+ command ohko ; 26
+ command recoil ; 27
+ command mist ; 28
+ command focusenergy ; 29
+ command confuse ; 2a
+ command confusetarget ; 2b
+ command heal ; 2c
+ command transform ; 2d
+ command screen ; 2e
+ command poison ; 2f
+ command paralyze ; 30
+ command substitute ; 31
+ command rechargenextturn ; 32
+ command mimic ; 33
+ command metronome ; 34
+ command leechseed ; 35
+ command splash ; 36
+ command disable ; 37
+ command cleartext ; 38
+ command charge ; 39
+ command checkcharge ; 3a
+ command traptarget ; 3b
+ command effect0x3c ; 3c
+ command rampage ; 3d
+ command checkrampage ; 3e
+ command constantdamage ; 3f
+ command counter ; 40
+ command encore ; 41
+ command painsplit ; 42
+ command snore ; 43
+ command conversion2 ; 44
+ command lockon ; 45
+ command sketch ; 46
+ command defrostopponent ; 47
+ command sleeptalk ; 48
+ command destinybond ; 49
+ command spite ; 4a
+ command falseswipe ; 4b
+ command healbell ; 4c
+ command kingsrock ; 4d
+ command triplekick ; 4e
+ command kickcounter ; 4f
+ command thief ; 50
+ command arenatrap ; 51
+ command nightmare ; 52
+ command defrost ; 53
+ command curse ; 54
+ command protect ; 55
+ command spikes ; 56
+ command foresight ; 57
+ command perishsong ; 58
+ command startsandstorm ; 59
+ command endure ; 5a
+ command checkcurl ; 5b
+ command rolloutpower ; 5c
+ command effect0x5d ; 5d
+ command furycutter ; 5e
+ command attract ; 5f
+ command happinesspower ; 60
+ command present ; 61
+ command damagecalc ; 62
+ command frustrationpower ; 63
+ command safeguard ; 64
+ command checksafeguard ; 65
+ command getmagnitude ; 66
+ command batonpass ; 67
+ command pursuit ; 68
+ command clearhazards ; 69
+ command healmorn ; 6a
+ command healday ; 6b
+ command healnite ; 6c
+ command hiddenpower ; 6d
+ command startrain ; 6e
+ command startsun ; 6f
+ command attackup ; 70
+ command defenseup ; 71
+ command speedup ; 72
+ command specialattackup ; 73
+ command specialdefenseup ; 74
+ command accuracyup ; 75
+ command evasionup ; 76
+ command attackup2 ; 77
+ command defenseup2 ; 78
+ command speedup2 ; 79
+ command specialattackup2 ; 7a
+ command specialdefenseup2 ; 7b
+ command accuracyup2 ; 7c
+ command evasionup2 ; 7d
+ command attackdown ; 7e
+ command defensedown ; 7f
+ command speeddown ; 80
+ command specialattackdown ; 81
+ command specialdefensedown ; 82
+ command accuracydown ; 83
+ command evasiondown ; 84
+ command attackdown2 ; 85
+ command defensedown2 ; 86
+ command speeddown2 ; 87
+ command specialattackdown2 ; 88
+ command specialdefensedown2 ; 89
+ command accuracydown2 ; 8a
+ command evasiondown2 ; 8b
+ command statupmessage ; 8c
+ command statdownmessage ; 8d
+ command statupfailtext ; 8e
+ command statdownfailtext ; 8f
+ command effectchance ; 90
+ command statdownanim ; 91
+ command statupanim ; 92
+ command switchturn ; 93
+ command fakeout ; 94
+ command bellydrum ; 95
+ command psychup ; 96
+ command rage ; 97
+ command doubleflyingdamage ; 98
+ command doubleundergrounddamage ; 99
+ command mirrorcoat ; 9a
+ command checkfuturesight ; 9b
+ command futuresight ; 9c
+ command doubleminimizedamage ; 9d
+ command skipsuncharge ; 9e
+ command thunderaccuracy ; 9f
+ command teleport ; a0
+ command beatup ; a1
+ command ragedamage ; a2
+ command resettypematchup ; a3
+ command allstatsup ; a4
+ command effect0xa5 ; a5
+ command raisesubnoanim ; a6
+ command lowersubnoanim ; a7
+ command effect0xa8 ; a8
+ command clearmissdamage ; a9
+ command movedelay ; aa
+ command hittarget ; ab
+ command tristatuschance ; ac
+ command supereffectivelooptext ; ad
+ command startloop ; ae
+ command curl ; af
+
+__enum__ set $fe
+
+ command endturn ; fe
+ command endmove ; ff
--- a/macros/scripts/effect_commands.asm
+++ /dev/null
@@ -1,187 +1,0 @@
-command: macro
- enum \1_command
-\1 equs "db \1_command"
-endm
-
-; BattleCommandPointers indexes (see data/moves/effect_command_pointers.asm)
- enum_start 1
- command checkturn ; 01
- command checkobedience ; 02
- command usedmovetext ; 03
- command doturn ; 04
- command critical ; 05
- command damagestats ; 06
- command stab ; 07
- command damagevariation ; 08
- command checkhit ; 09
- command lowersub ; 0a
- command hittargetnosub ; 0b
- command raisesub ; 0c
- command failuretext ; 0d
- command checkfaint ; 0e
- command criticaltext ; 0f
- command supereffectivetext ; 10
- command checkdestinybond ; 11
- command buildopponentrage ; 12
- command poisontarget ; 13
- command sleeptarget ; 14
- command draintarget ; 15
- command eatdream ; 16
- command burntarget ; 17
- command freezetarget ; 18
- command paralyzetarget ; 19
- command selfdestruct ; 1a
- command mirrormove ; 1b
- command statup ; 1c
- command statdown ; 1d
- command payday ; 1e
- command conversion ; 1f
- command resetstats ; 20
- command storeenergy ; 21
- command unleashenergy ; 22
- command forceswitch ; 23
- command endloop ; 24
- command flinchtarget ; 25
- command ohko ; 26
- command recoil ; 27
- command mist ; 28
- command focusenergy ; 29
- command confuse ; 2a
- command confusetarget ; 2b
- command heal ; 2c
- command transform ; 2d
- command screen ; 2e
- command poison ; 2f
- command paralyze ; 30
- command substitute ; 31
- command rechargenextturn ; 32
- command mimic ; 33
- command metronome ; 34
- command leechseed ; 35
- command splash ; 36
- command disable ; 37
- command cleartext ; 38
- command charge ; 39
- command checkcharge ; 3a
- command traptarget ; 3b
- command effect0x3c ; 3c
- command rampage ; 3d
- command checkrampage ; 3e
- command constantdamage ; 3f
- command counter ; 40
- command encore ; 41
- command painsplit ; 42
- command snore ; 43
- command conversion2 ; 44
- command lockon ; 45
- command sketch ; 46
- command defrostopponent ; 47
- command sleeptalk ; 48
- command destinybond ; 49
- command spite ; 4a
- command falseswipe ; 4b
- command healbell ; 4c
- command kingsrock ; 4d
- command triplekick ; 4e
- command kickcounter ; 4f
- command thief ; 50
- command arenatrap ; 51
- command nightmare ; 52
- command defrost ; 53
- command curse ; 54
- command protect ; 55
- command spikes ; 56
- command foresight ; 57
- command perishsong ; 58
- command startsandstorm ; 59
- command endure ; 5a
- command checkcurl ; 5b
- command rolloutpower ; 5c
- command effect0x5d ; 5d
- command furycutter ; 5e
- command attract ; 5f
- command happinesspower ; 60
- command present ; 61
- command damagecalc ; 62
- command frustrationpower ; 63
- command safeguard ; 64
- command checksafeguard ; 65
- command getmagnitude ; 66
- command batonpass ; 67
- command pursuit ; 68
- command clearhazards ; 69
- command healmorn ; 6a
- command healday ; 6b
- command healnite ; 6c
- command hiddenpower ; 6d
- command startrain ; 6e
- command startsun ; 6f
- command attackup ; 70
- command defenseup ; 71
- command speedup ; 72
- command specialattackup ; 73
- command specialdefenseup ; 74
- command accuracyup ; 75
- command evasionup ; 76
- command attackup2 ; 77
- command defenseup2 ; 78
- command speedup2 ; 79
- command specialattackup2 ; 7a
- command specialdefenseup2 ; 7b
- command accuracyup2 ; 7c
- command evasionup2 ; 7d
- command attackdown ; 7e
- command defensedown ; 7f
- command speeddown ; 80
- command specialattackdown ; 81
- command specialdefensedown ; 82
- command accuracydown ; 83
- command evasiondown ; 84
- command attackdown2 ; 85
- command defensedown2 ; 86
- command speeddown2 ; 87
- command specialattackdown2 ; 88
- command specialdefensedown2 ; 89
- command accuracydown2 ; 8a
- command evasiondown2 ; 8b
- command statupmessage ; 8c
- command statdownmessage ; 8d
- command statupfailtext ; 8e
- command statdownfailtext ; 8f
- command effectchance ; 90
- command statdownanim ; 91
- command statupanim ; 92
- command switchturn ; 93
- command fakeout ; 94
- command bellydrum ; 95
- command psychup ; 96
- command rage ; 97
- command doubleflyingdamage ; 98
- command doubleundergrounddamage ; 99
- command mirrorcoat ; 9a
- command checkfuturesight ; 9b
- command futuresight ; 9c
- command doubleminimizedamage ; 9d
- command skipsuncharge ; 9e
- command thunderaccuracy ; 9f
- command teleport ; a0
- command beatup ; a1
- command ragedamage ; a2
- command resettypematchup ; a3
- command allstatsup ; a4
- command effect0xa5 ; a5
- command raisesubnoanim ; a6
- command lowersubnoanim ; a7
- command effect0xa8 ; a8
- command clearmissdamage ; a9
- command movedelay ; aa
- command hittarget ; ab
- command tristatuschance ; ac
- command supereffectivelooptext ; ad
- command startloop ; ae
- command curl ; af
-
-__enum__ set $fe
-
- command endturn ; fe
- command endmove ; ff
--- a/main.asm
+++ b/main.asm
@@ -11,7 +11,7 @@
INCLUDE "engine/learn.asm"
INCLUDE "engine/routines/checknickerrors.asm"
INCLUDE "engine/math.asm"
-INCLUDE "data/items/item_attributes.asm"
+INCLUDE "data/items/attributes.asm"
INCLUDE "engine/npc_movement.asm"
INCLUDE "engine/events/happiness_egg.asm"
INCLUDE "engine/events/special.asm"
@@ -117,11 +117,12 @@
INCLUDE "engine/events/prof_oaks_pc.asm"
INCLUDE "engine/decorations.asm"
INCLUDE "engine/routines/leveluphappinessmod.asm"
-INCLUDE "data/trainers/trainer_dvs.asm"
+INCLUDE "engine/battle/read_trainer_dvs.asm"
+INCLUDE "data/trainers/dvs.asm"
INCLUDE "engine/battle/returntobattle_useball.asm"
INCLUDE "engine/battle/consumehelditem.asm"
-INCLUDE "data/moves/move_effects_pointers.asm"
-INCLUDE "data/moves/move_effects.asm"
+INCLUDE "data/moves/effects_pointers.asm"
+INCLUDE "data/moves/effects.asm"
INCLUDE "engine/events/kurt_selectquantity_interpretjoypad.asm"
@@ -141,12 +142,12 @@
SECTION "bankB", ROMX
INCLUDE "engine/battle/trainer_huds.asm"
-INCLUDE "data/trainers/trainer_class_names.asm"
+INCLUDE "data/trainers/class_names.asm"
INCLUDE "engine/battle/ai/redundant.asm"
INCLUDE "engine/events/move_deleter.asm"
INCLUDE "engine/mystery_gift_2.asm"
INCLUDE "engine/tmhm2.asm"
-INCLUDE "data/moves/move_descriptions.asm"
+INCLUDE "data/moves/descriptions.asm"
INCLUDE "engine/events/pokerus/pokerus.asm"
INCLUDE "engine/battle/start_battle.asm"
INCLUDE "engine/routines/placegraphic.asm"
@@ -162,7 +163,7 @@
INCLUDE "engine/battle/ai/items.asm"
INCLUDE "engine/battle/ai/scoring.asm"
INCLUDE "engine/battle/read_trainer_attributes.asm"
-INCLUDE "data/trainers/trainer_attributes.asm"
+INCLUDE "data/trainers/attributes.asm"
INCLUDE "engine/battle/read_trainer_party.asm"
INCLUDE "data/trainers/party_pointers.asm"
INCLUDE "data/trainers/parties.asm"
@@ -171,7 +172,7 @@
SECTION "Battle Core", ROMX
INCLUDE "engine/battle/core.asm"
-INCLUDE "data/moves/effect_command_pointers.asm"
+INCLUDE "data/battle_command_pointers.asm"
SECTION "bank10", ROMX
@@ -220,7 +221,7 @@
INCLUDE "engine/routines/emptyallsrambanks.asm"
INCLUDE "engine/routines/savemenu_copytilemapatonce.asm"
INCLUDE "engine/routines/checksave.asm"
-INCLUDE "data/maps/map_scenes.asm"
+INCLUDE "data/maps/scenes.asm"
INCLUDE "engine/routines/loadmappart.asm"
INCLUDE "engine/routines/phonering_copytilemapatonce.asm"
@@ -270,7 +271,7 @@
INCLUDE "gfx/load_pics.asm"
INCLUDE "engine/move_mon_wo_mail.asm"
INCLUDE "data/pokemon/base_stats.asm"
-INCLUDE "data/pokemon/pokemon_names.asm"
+INCLUDE "data/pokemon/names.asm"
Unknown_53d84: ; unreferenced
db $1a, $15
@@ -390,7 +391,7 @@
SECTION "bank32", ROMX
INCLUDE "engine/battle_anims/bg_effects.asm"
-INCLUDE "data/moves/move_anims.asm"
+INCLUDE "data/moves/animations.asm"
INCLUDE "engine/events/poisonstep_pals.asm"
TheEndGFX:: ; cbd2e
@@ -593,9 +594,9 @@
SECTION "Miscellaneous Text", ROMX
-INCLUDE "data/items/item_names.asm"
-INCLUDE "data/items/item_descriptions.asm"
-INCLUDE "data/moves/move_names.asm"
+INCLUDE "data/items/names.asm"
+INCLUDE "data/items/descriptions.asm"
+INCLUDE "data/moves/names.asm"
INCLUDE "engine/landmarks.asm"
--- a/tilesets/roofs.asm
+++ b/tilesets/roofs.asm
@@ -17,4 +17,4 @@
; 1c021
-INCLUDE "data/maps/mapgroup_roofs.asm"
+INCLUDE "data/maps/roofs.asm"