summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/battle_scripts_1.s5184
-rw-r--r--data/battle_scripts_2.s258
2 files changed, 4791 insertions, 651 deletions
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index b2dfec5d8..1f6be1390 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -1,586 +1,4610 @@
.include "asm/macros.inc"
+ .include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
+ .include "constants/battle_constants.inc"
+ .include "constants/battle_script_constants.inc"
+ .include "constants/battle_text.inc"
.section script_data, "aw", %progbits
gBattleScriptsForMoveEffects:: @ 82D86A8
- .incbin "baserom.gba", 0x2d86a8, 0x388
-
-BattleScript_PresentDamageTarget:: @ 82D8A30
- .incbin "baserom.gba", 0x2d8a30, 0x1e
-
-BattleScript_MoveEnd:: @ 82D8A4E
- .incbin "baserom.gba", 0x2d8a4e, 0x12
-
-BattleScript_PauseEffectivenessSoundResultMsgEndMove:: @ 82D8A60
- .incbin "baserom.gba", 0x2d8a60, 0x274
-
-BattleScript_StatUp:: @ 82D8CD4
- .incbin "baserom.gba", 0x2d8cd4, 0x91
-
-BattleScript_StatDown:: @ 82D8D65
- .incbin "baserom.gba", 0x2d8d65, 0x6fd
-
-BattleScript_MoveUsedMustRecharge:: @ 82D9462
- .incbin "baserom.gba", 0x2d9462, 0xa7f
-
-BattleScript_PresentHealTarget:: @ 82D9EE1
- .incbin "baserom.gba", 0x2d9ee1, 0x1a
-
-BattleScript_AlreadyAtFullHp:: @ 82D9EFB
- .incbin "baserom.gba", 0x2d9efb, 0x21
-
-BattleScript_ButItFailed:: @ 82D9F1C
- .incbin "baserom.gba", 0x2d9f1c, 0x88e
-
-BattleScript_FaintAttacker:: @ 82DA7AA
- .incbin "baserom.gba", 0x2da7aa, 0xd
-
-BattleScript_FaintTarget:: @ 82DA7B7
- .incbin "baserom.gba", 0x2da7b7, 0xd
-
-gUnknown_082DA7C4:: @ 82DA7C4
- .incbin "baserom.gba", 0x2da7c4, 0x9
-
-gUnknown_082DA7CD:: @ 82DA7CD
- .incbin "baserom.gba", 0x2da7cd, 0x160
-
-BattleScript_LocalTrainerBattleWon:: @ 82DA92D
- .incbin "baserom.gba", 0x2da92d, 0x3d
-
-BattleScript_PayDayMoneyAndPickUpItems:: @ 82DA96A
- .incbin "baserom.gba", 0x2da96a, 0x3
-
-BattleScript_LocalBattleLost:: @ 82DA96D
- .incbin "baserom.gba", 0x2da96d, 0x9e
-
-gUnknown_082DAA0B:: @ 82DAA0B
- .incbin "baserom.gba", 0x2daa0b, 0x2a
-
-BattleScript_LinkBattleWonOrLost:: @ 82DAA35
- .incbin "baserom.gba", 0x2daa35, 0x52
-
-BattleScript_FrontierTrainerBattleWon:: @ 82DAA87
- .incbin "baserom.gba", 0x2daa87, 0x54
-
-BattleScript_SmokeBallEscape:: @ 82DAADB
- .incbin "baserom.gba", 0x2daadb, 0xe
-
-BattleScript_RanAwayUsingMonAbility:: @ 82DAAE9
- .incbin "baserom.gba", 0x2daae9, 0x7
-
-BattleScript_GotAwaySafely:: @ 82DAAF0
- .incbin "baserom.gba", 0x2daaf0, 0x7
-
-BattleScript_WildMonFled:: @ 82DAAF7
- .incbin "baserom.gba", 0x2daaf7, 0x7
-
-gUnknown_082DAAFE:: @ 82DAAFE
- .incbin "baserom.gba", 0x2daafe, 0x4
-
-BattleScript_PrintFailedToRunString:: @ 82DAB02
- .incbin "baserom.gba", 0x2dab02, 0x9
-
-gUnknown_082DAB0B:: @ 82DAB0B
- .incbin "baserom.gba", 0x2dab0b, 0x6
-
-gUnknown_082DAB11:: @ 82DAB11
- .incbin "baserom.gba", 0x2dab11, 0x4
-
-BattleScript_ActionSwitch:: @ 82DAB15
- .incbin "baserom.gba", 0x2dab15, 0xa4
-
-BattleScript_Pausex20:: @ 82DABB9
- .incbin "baserom.gba", 0x2dabb9, 0x4
-
-BattleScript_LevelUp:: @ 82DABBD
- .incbin "baserom.gba", 0x2dabbd, 0x6f
-
-gUnknown_082DAC2C:: @ 82DAC2C
- .incbin "baserom.gba", 0x2dac2c, 0x1b
-
-gUnknown_082DAC47:: @ 82DAC47
- .incbin "baserom.gba", 0x2dac47, 0x82
-
-gUnknown_082DACC9:: @ 82DACC9
- .incbin "baserom.gba", 0x2dacc9, 0x9
-
-gUnknown_082DACD2:: @ 82DACD2
- .incbin "baserom.gba", 0x2dacd2, 0xe
-
-gUnknown_082DACE0:: @ 82DACE0
- .incbin "baserom.gba", 0x2dace0, 0x7
-
-gUnknown_082DACE7:: @ 82DACE7
- .incbin "baserom.gba", 0x2dace7, 0x13
-
-gUnknown_082DACFA:: @ 82DACFA
- .incbin "baserom.gba", 0x2dacfa, 0x11
-
-gUnknown_082DAD0B:: @ 82DAD0B
- .incbin "baserom.gba", 0x2dad0b, 0xa
-
-BattleScript_LeechSeedTurnDrain:: @ 82DAD15
- .incbin "baserom.gba", 0x2dad15, 0x5c
-
-BattleScript_BideStoringEnergy:: @ 82DAD71
- .incbin "baserom.gba", 0x2dad71, 0xb
-
-BattleScript_BideAttack:: @ 82DAD7C
- .incbin "baserom.gba", 0x2dad7c, 0x48
-
-BattleScript_BideNoEnergyToAttack:: @ 82DADC4
- .incbin "baserom.gba", 0x2dadc4, 0x14
-
-gUnknown_082DADD8:: @ 82DADD8
- .incbin "baserom.gba", 0x2dadd8, 0x2b
-
-BattleScript_MistProtected:: @ 82DAE03
- .incbin "baserom.gba", 0x2dae03, 0xa
-
-BattleScript_RageIsBuilding:: @ 82DAE0D
- .incbin "baserom.gba", 0x2dae0d, 0x7
-
-BattleScript_MoveUsedIsDisabled:: @ 82DAE14
- .incbin "baserom.gba", 0x2dae14, 0xb
-
-gUnknown_082DAE1F:: @ 82DAE1F
- .incbin "baserom.gba", 0x2dae1f, 0x4
-
-BattleScript_DisabledNoMore:: @ 82DAE23
- .incbin "baserom.gba", 0x2dae23, 0x7
-
-gUnknown_082DAE2A:: @ 82DAE2A
- .incbin "baserom.gba", 0x2dae2a, 0xd
-
-BattleScript_EncoredNoMore:: @ 82DAE37
- .incbin "baserom.gba", 0x2dae37, 0x7
-
-BattleScript_DestinyBondTakesLife:: @ 82DAE3E
- .incbin "baserom.gba", 0x2dae3e, 0x1b
-
-gUnknown_082DAE59:: @ 82DAE59
- .incbin "baserom.gba", 0x2dae59, 0x37
-
-gUnknown_082DAE90:: @ 82DAE90
- .incbin "baserom.gba", 0x2dae90, 0x37
-
-gUnknown_082DAEC7:: @ 82DAEC7
- .incbin "baserom.gba", 0x2daec7, 0x3e
-
-gUnknown_082DAF05:: @ 82DAF05
- .incbin "baserom.gba", 0x2daf05, 0x1b
-
-gUnknown_082DAF20:: @ 82DAF20
- .incbin "baserom.gba", 0x2daf20, 0x7
-
-BattleScript_AllStatsUp:: @ 82DAF27
- .incbin "baserom.gba", 0x2daf27, 0x9c
-
-BattleScript_RapidSpinAway:: @ 82DAFC3
- .incbin "baserom.gba", 0x2dafc3, 0x2
-
-BattleScript_WrapFree:: @ 82DAFC5
- .incbin "baserom.gba", 0x2dafc5, 0x11
-
-BattleScript_LeechSeedFree:: @ 82DAFD6
- .incbin "baserom.gba", 0x2dafd6, 0x7
-
-BattleScript_SpikesFree:: @ 82DAFDD
- .incbin "baserom.gba", 0x2dafdd, 0x7
-
-gUnknown_082DAFE4:: @ 82DAFE4
- .incbin "baserom.gba", 0x2dafe4, 0x8e
-
-BattleScript_NoMovesLeft:: @ 82DB072
- .incbin "baserom.gba", 0x2db072, 0x4
-
-gUnknown_082DB076:: @ 82DB076
- .incbin "baserom.gba", 0x2db076, 0x4
-
-BattleScript_NoPPForMove:: @ 82DB07A
- .incbin "baserom.gba", 0x2db07a, 0xf
-
-gUnknown_082DB089:: @ 82DB089
- .incbin "baserom.gba", 0x2db089, 0xf
-
-gUnknown_082DB098:: @ 82DB098
- .incbin "baserom.gba", 0x2db098, 0x8
-
-gUnknown_082DB0A0:: @ 82DB0A0
- .incbin "baserom.gba", 0x2db0a0, 0x4
-
-BattleScript_MoveUsedIsTaunted:: @ 82DB0A4
- .incbin "baserom.gba", 0x2db0a4, 0xb
-
-gUnknown_082DB0AF:: @ 82DB0AF
- .incbin "baserom.gba", 0x2db0af, 0x8
-
-BattleScript_WishComesTrue:: @ 82DB0B7
- .incbin "baserom.gba", 0x2db0b7, 0x37
-
-BattleScript_IngrainTurnHeal:: @ 82DB0EE
- .incbin "baserom.gba", 0x2db0ee, 0x29
-
-BattleScript_AtkDefDown:: @ 82DB117
- .incbin "baserom.gba", 0x2db117, 0x51
-
-BattleScript_KnockedOff:: @ 82DB168
- .incbin "baserom.gba", 0x2db168, 0xe
-
-BattleScript_MoveUsedIsImprisoned:: @ 82DB176
- .incbin "baserom.gba", 0x2db176, 0xb
-
-gUnknown_082DB181:: @ 82DB181
- .incbin "baserom.gba", 0x2db181, 0x4
-
-gUnknown_082DB185:: @ 82DB185
- .incbin "baserom.gba", 0x2db185, 0x8
-
-BattleScript_GrudgeTakesPp:: @ 82DB18D
- .incbin "baserom.gba", 0x2db18d, 0x7
-
-BattleScript_MagicCoatBounce:: @ 82DB194
- .incbin "baserom.gba", 0x2db194, 0x18
-
-BattleScript_SnatchedMove:: @ 82DB1AC
- .incbin "baserom.gba", 0x2db1ac, 0x1b
-
-BattleScript_EnduredMsg:: @ 82DB1C7
- .incbin "baserom.gba", 0x2db1c7, 0x7
-
-BattleScript_OneHitKOMsg:: @ 82DB1CE
- .incbin "baserom.gba", 0x2db1ce, 0x7
-
-BattleScript_SAtkDown2:: @ 82DB1D5
- .incbin "baserom.gba", 0x2db1d5, 0x2a
-
-BattleScript_FocusPunchSetUp:: @ 82DB1FF
- .incbin "baserom.gba", 0x2db1ff, 0x14
-
-BattleScript_MoveUsedIsAsleep:: @ 82DB213
- .incbin "baserom.gba", 0x2db213, 0xd
-
-BattleScript_MoveUsedWokeUp:: @ 82DB220
- .incbin "baserom.gba", 0x2db220, 0x14
-
-gUnknown_082DB234:: @ 82DB234
- .incbin "baserom.gba", 0x2db234, 0x9
-
-BattleScript_PoisonTurnDmg:: @ 82DB23D
- .incbin "baserom.gba", 0x2db23d, 0x22
-
-BattleScript_BurnTurnDmg:: @ 82DB25F
- .incbin "baserom.gba", 0x2db25f, 0xb
-
-BattleScript_MoveUsedIsFrozen:: @ 82DB26A
- .incbin "baserom.gba", 0x2db26a, 0xd
-
-BattleScript_MoveUsedUnfroze:: @ 82DB277
- .incbin "baserom.gba", 0x2db277, 0xb
-
-BattleScript_DefrostedViaFireMove:: @ 82DB282
- .incbin "baserom.gba", 0x2db282, 0x9
-
-BattleScript_MoveUsedIsParalyzed:: @ 82DB28B
- .incbin "baserom.gba", 0x2db28b, 0x10
-
-BattleScript_MoveUsedFlinched:: @ 82DB29B
- .incbin "baserom.gba", 0x2db29b, 0xb
-
-gUnknown_082DB2A6:: @ 82DB2A6
- .incbin "baserom.gba", 0x2db2a6, 0x9
-
-BattleScript_ThrashConfuses:: @ 82DB2AF
- .incbin "baserom.gba", 0x2db2af, 0xe
-
-BattleScript_MoveUsedIsConfused:: @ 82DB2BD
- .incbin "baserom.gba", 0x2db2bd, 0x43
-
-BattleScript_MoveUsedIsConfusedNoMore:: @ 82DB300
- .incbin "baserom.gba", 0x2db300, 0x7
-
-BattleScript_PrintPayDayMoneyString:: @ 82DB307
- .incbin "baserom.gba", 0x2db307, 0x7
-
-BattleScript_WrapTurnDmg:: @ 82DB30E
- .incbin "baserom.gba", 0x2db30e, 0x12
-
-BattleScript_WrapEnds:: @ 82DB320
- .incbin "baserom.gba", 0x2db320, 0x7
-
-BattleScript_MoveUsedIsInLove:: @ 82DB327
- .incbin "baserom.gba", 0x2db327, 0xd
-
-BattleScript_MoveUsedIsParalyzedCantAttack:: @ 82DB334
- .incbin "baserom.gba", 0x2db334, 0xb
-
-BattleScript_NightmareTurnDmg:: @ 82DB33F
- .incbin "baserom.gba", 0x2db33f, 0x11
-
-BattleScript_CurseTurnDmg:: @ 82DB350
- .incbin "baserom.gba", 0x2db350, 0x11
-
-BattleScript_TargetPRLZHeal:: @ 82DB361
- .incbin "baserom.gba", 0x2db361, 0x9
-
-BattleScript_MoveEffectSleep:: @ 82DB36A
- .incbin "baserom.gba", 0x2db36A, 0xE
-
-BattleScript_YawnMakesAsleep:: @ 82DB378
- .incbin "baserom.gba", 0x2db378, 0xE
-
-BattleScript_MoveEffectPoison:: @ 82DB386
- .incbin "baserom.gba", 0x2db386, 0xF
-
-BattleScript_MoveEffectBurn:: @ 82DB395
- .incbin "baserom.gba", 0x2db395, 0xF
-
-BattleScript_MoveEffectFreeze:: @ 82DB3A4
- .incbin "baserom.gba", 0x2db3A4, 0xF
-
-BattleScript_MoveEffectParalysis:: @ 82DB3B3
- .incbin "baserom.gba", 0x2db3B3, 0xF
-
-BattleScript_MoveEffectUproar:: @ 82DB3C2
- .incbin "baserom.gba", 0x2db3C2, 0x7
-
-BattleScript_MoveEffectToxic:: @ 82DB3C9
- .incbin "baserom.gba", 0x2db3C9, 0xD
-
-BattleScript_MoveEffectPayDay:: @ 82DB3D6
- .incbin "baserom.gba", 0x2db3D6, 0x7
-
-BattleScript_MoveEffectWrap:: @ 82DB3DD
- .incbin "baserom.gba", 0x2db3DD, 0x9
-
-BattleScript_MoveEffectConfusion:: @ 82DB3E6
- .incbin "baserom.gba", 0x2db3E6, 0xE
-
-BattleScript_MoveEffectRecoil33:: @ 82DB3F4
- .incbin "baserom.gba", 0x2db3F4, 0x2e
-
-BattleScript_ItemSteal:: @ 82DB422
- .incbin "baserom.gba", 0x2db422, 0xe
-
-BattleScript_DrizzleActivates:: @ 82DB430
- .incbin "baserom.gba", 0x2db430, 0x14
-
-BattleScript_SpeedBoostActivates:: @ 82DB444
- .incbin "baserom.gba", 0x2db444, 0xe
-
-BattleScript_TraceActivates:: @ 82DB452
- .incbin "baserom.gba", 0x2db452, 0xa
-
-BattleScript_RainDishActivates:: @ 82DB45C
- .incbin "baserom.gba", 0x2db45c, 0x14
-
-BattleScript_SandstreamActivates:: @ 82DB470
- .incbin "baserom.gba", 0x2db470, 0x14
-
-BattleScript_ShedSkinActivates:: @ 82DB484
- .incbin "baserom.gba", 0x2db484, 0x25
-
-BattleScript_CastformChange:: @ 82DB4A9
- .incbin "baserom.gba", 0x2db4a9, 0xf
-
-gUnknown_082DB4B8:: @ 82DB4B8
- .incbin "baserom.gba", 0x2db4b8, 0x9
-
-gUnknown_082DB4C1:: @ 82DB4C1
- .incbin "baserom.gba", 0x2db4c1, 0x69
-
-BattleScript_DroughtActivates:: @ 82DB52A
- .incbin "baserom.gba", 0x2db52a, 0x14
-
-BattleScript_TookAttack:: @ 82DB53E
- .incbin "baserom.gba", 0x2db53e, 0x14
-
-BattleScript_SturdyPreventsOHKO:: @ 82DB552
- .incbin "baserom.gba", 0x2db552, 0xe
-
-BattleScript_DampStopsExplosion:: @ 82DB560
- .incbin "baserom.gba", 0x2db560, 0xe
-
-BattleScript_MoveHPDrain_PPLoss:: @ 82DB56E
- .incbin "baserom.gba", 0x2db56e, 0x1
-
-BattleScript_MoveHPDrain:: @ 82DB56F
- .incbin "baserom.gba", 0x2db56f, 0x22
-
-gUnknown_082DB591:: @ 82DB591
- .incbin "baserom.gba", 0x2db591, 0x1
-
-gUnknown_082DB592:: @ 82DB592
- .incbin "baserom.gba", 0x2db592, 0x15
-
-BattleScript_FlashFireBoost_PPLoss:: @ 82DB5A7
- .incbin "baserom.gba", 0x2db5a7, 0x1
-
-BattleScript_FlashFireBoost:: @ 82DB5A8
- .incbin "baserom.gba", 0x2db5a8, 0x1f
-
-BattleScript_AbilityNoStatLoss:: @ 82DB5C7
- .incbin "baserom.gba", 0x2db5c7, 0xa
-
-BattleScript_BRNPrevention:: @ 82DB5D1
- .incbin "baserom.gba", 0x2db5d1, 0xc
-
-BattleScript_PRLZPrevention:: @ 82DB5DD
- .incbin "baserom.gba", 0x2db5dd, 0xc
-
-BattleScript_PSNPrevention:: @ 82DB5E9
- .incbin "baserom.gba", 0x2db5e9, 0xc
-
-BattleScript_ObliviousPreventsAttraction:: @ 82DB5F5
- .incbin "baserom.gba", 0x2db5f5, 0xe
-
-BattleScript_FlinchPrevention:: @ 82DB603
- .incbin "baserom.gba", 0x2db603, 0x1c
-
-BattleScript_SoundproofProtected:: @ 82DB61F
- .incbin "baserom.gba", 0x2db61f, 0x10
-
-BattleScript_AbilityNoSpecificStatLoss:: @ 82DB62F
- .incbin "baserom.gba", 0x2db62f, 0x10
-
-BattleScript_StickyHoldActivates:: @ 82DB63F
- .incbin "baserom.gba", 0x2db63f, 0xe
-
-BattleScript_ColorChangeActivates:: @ 82DB64D
- .incbin "baserom.gba", 0x2db64d, 0x7
-
-BattleScript_RoughSkinActivates:: @ 82DB654
- .incbin "baserom.gba", 0x2db654, 0x1b
-
-BattleScript_CuteCharmActivates:: @ 82DB66F
- .incbin "baserom.gba", 0x2db66f, 0xd
-
-BattleScript_ApplySecondaryEffect:: @ 82DB67C
- .incbin "baserom.gba", 0x2db67c, 0x3
-
-BattleScript_SynchronizeActivates:: @ 82DB67F
- .incbin "baserom.gba", 0x2db67f, 0x3
-
-BattleScript_NoItemSteal:: @ 82DB682
- .incbin "baserom.gba", 0x2db682, 0xa
-
-gUnknown_082DB68C:: @ 82DB68C
- .incbin "baserom.gba", 0x2db68c, 0x9
-
-gUnknown_082DB695:: @ 82DB695
- .incbin "baserom.gba", 0x2db695, 0x10
-
-gUnknown_082DB6A5:: @ 82DB6A5
- .incbin "baserom.gba", 0x2db6a5, 0x8
-
-BattleScript_MoveUsedLoafingAround:: @ 82DB6AD
- .incbin "baserom.gba", 0x2db6ad, 0x2c
-
-gUnknown_082DB6D9:: @ 82DB6D9
- .incbin "baserom.gba", 0x2db6d9, 0x17
-
-gUnknown_082DB6F0:: @ 82DB6F0
- .incbin "baserom.gba", 0x2db6f0, 0xb
-
-BattleScript_SubstituteFade:: @ 82DB6FB
- .incbin "baserom.gba", 0x2db6fb, 0xb
-
-BattleScript_BerryCurePrlzEnd2:: @ 82DB706
- .incbin "baserom.gba", 0x2db706, 0x6
-
-BattleScript_BerryCureParRet:: @ 82DB70C
- .incbin "baserom.gba", 0x2db70c, 0x12
-
-BattleScript_BerryCurePsnEnd2:: @ 82DB71E
- .incbin "baserom.gba", 0x2db71e, 0x6
-
-BattleScript_BerryCurePsnRet:: @ 82DB724
- .incbin "baserom.gba", 0x2db724, 0x12
-
-BattleScript_BerryCureBrnEnd2:: @ 82DB736
- .incbin "baserom.gba", 0x2db736, 0x6
-
-BattleScript_BerryCureBrnRet:: @ 82DB73C
- .incbin "baserom.gba", 0x2db73c, 0x12
-
-BattleScript_BerryCureFrzEnd2:: @ 82DB74E
- .incbin "baserom.gba", 0x2db74e, 0x6
-
-BattleScript_BerryCureFrzRet:: @ 82DB754
- .incbin "baserom.gba", 0x2db754, 0x12
-
-BattleScript_BerryCureSlpEnd2:: @ 82DB766
- .incbin "baserom.gba", 0x2db766, 0x6
-
-BattleScript_BerryCureSlpRet:: @ 82DB76C
- .incbin "baserom.gba", 0x2db76c, 0x12
-
-BattleScript_BerryCureConfusionEnd2:: @ 82DB77E
- .incbin "baserom.gba", 0x2db77e, 0x6
-
-BattleScript_BerryCureConfusionRet:: @ 82DB784
- .incbin "baserom.gba", 0x2db784, 0x10
-
-BattleScript_BerryCureChosenStatusEnd2:: @ 82DB794
- .incbin "baserom.gba", 0x2db794, 0x6
-
-BattleScript_BerryCureChosenStatusRet:: @ 82DB79A
- .incbin "baserom.gba", 0x2db79a, 0x14
-
-BattleScript_WhiteHerbEnd2:: @ 82DB7AE
- .incbin "baserom.gba", 0x2db7ae, 0x6
-
-BattleScript_WhiteHerbRet:: @ 82DB7B4
- .incbin "baserom.gba", 0x2db7b4, 0x10
-
-BattleScript_ItemHealHP_RemoveItem:: @ 82DB7C4
- .incbin "baserom.gba", 0x2db7c4, 0x1d
-
-BattleScript_BerryPPHealEnd2:: @ 82DB7E1
- .incbin "baserom.gba", 0x2db7e1, 0x10
-
-BattleScript_ItemHealHP_End2:: @ 82DB7F1
- .incbin "baserom.gba", 0x2db7f1, 0x6
-
-BattleScript_ItemHealHP_Ret:: @ 82DB7F7
- .incbin "baserom.gba", 0x2db7f7, 0x1b
-
-gUnknown_082DB812:: @ 82DB812
- .incbin "baserom.gba", 0x2db812, 0x4
-
-BattleScript_HangedOnMsg:: @ 82DB816
- .incbin "baserom.gba", 0x2db816, 0xe
-
-BattleScript_BerryConfuseHealEnd2:: @ 82DB824
- .incbin "baserom.gba", 0x2db824, 0x2a
-
-BattleScript_BerryStatRaiseEnd2:: @ 82DB84E
- .incbin "baserom.gba", 0x2db84e, 0x1b
-
-BattleScript_BerryFocusEnergyEnd2:: @ 82DB869
- .incbin "baserom.gba", 0x2db869, 0x10
-
-BattleScript_ActionSelectionItemsCantBeUsed:: @ 82DB879
- .incbin "baserom.gba", 0x2db879, 0x4
-
-gUnknown_082DB87D:: @ 82DB87D
- .incbin "baserom.gba", 0x2db87d, 0x4
-
-gUnknown_082DB881:: @ 82DB881
- .incbin "baserom.gba", 0x2db881, 0x3d
-
-gUnknown_082DB8BE:: @ 82DB8BE
- .incbin "baserom.gba", 0x2db8be, 0x35
-
-gUnknown_082DB8F3:: @ 82DB8F3
- .incbin "baserom.gba", 0x2db8f3, 0xc7
-
-gUnknown_082DB9BA:: @ 82DB9BA
- .incbin "baserom.gba", 0x2db9ba, 0x7
-
-gUnknown_082DB9C1:: @ 82DB9C1
- .incbin "baserom.gba", 0x2db9c1, 0x7
-
-gUnknown_082DB9C8:: @ 82DB9C8
- .incbin "baserom.gba", 0x2db9c8, 0xc
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSleep
+ .4byte BattleScript_EffectPoisonHit
+ .4byte BattleScript_EffectAbsorb
+ .4byte BattleScript_EffectBurnHit
+ .4byte BattleScript_EffectFreezeHit
+ .4byte BattleScript_EffectParalyzeHit
+ .4byte BattleScript_EffectExplosion
+ .4byte BattleScript_EffectDreamEater
+ .4byte BattleScript_EffectMirrorMove
+ .4byte BattleScript_EffectAttackUp
+ .4byte BattleScript_EffectDefenseUp
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSpecialAttackUp
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectEvasionUp
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectAttackDown
+ .4byte BattleScript_EffectDefenseDown
+ .4byte BattleScript_EffectSpeedDown
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectAccuracyDown
+ .4byte BattleScript_EffectEvasionDown
+ .4byte BattleScript_EffectHaze
+ .4byte BattleScript_EffectBide
+ .4byte BattleScript_EffectRampage
+ .4byte BattleScript_EffectRoar
+ .4byte BattleScript_EffectMultiHit
+ .4byte BattleScript_EffectConversion
+ .4byte BattleScript_EffectFlinchHit
+ .4byte BattleScript_EffectRestoreHp
+ .4byte BattleScript_EffectToxic
+ .4byte BattleScript_EffectPayDay
+ .4byte BattleScript_EffectLightScreen
+ .4byte BattleScript_EffectTriAttack
+ .4byte BattleScript_EffectRest
+ .4byte BattleScript_EffectOhko
+ .4byte BattleScript_EffectRazorWind
+ .4byte BattleScript_EffectSuperFang
+ .4byte BattleScript_EffectDragonRage
+ .4byte BattleScript_EffectTrap
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectDoubleHit
+ .4byte BattleScript_EffectRecoilIfMiss
+ .4byte BattleScript_EffectMist
+ .4byte BattleScript_EffectFocusEnergy
+ .4byte BattleScript_EffectRecoil
+ .4byte BattleScript_EffectConfuse
+ .4byte BattleScript_EffectAttackUp2
+ .4byte BattleScript_EffectDefenseUp2
+ .4byte BattleScript_EffectSpeedUp2
+ .4byte BattleScript_EffectSpecialAttackUp2
+ .4byte BattleScript_EffectSpecialDefenseUp2
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectTransform
+ .4byte BattleScript_EffectAttackDown2
+ .4byte BattleScript_EffectDefenseDown2
+ .4byte BattleScript_EffectSpeedDown2
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSpecialDefenseDown2
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectReflect
+ .4byte BattleScript_EffectPoison
+ .4byte BattleScript_EffectParalyze
+ .4byte BattleScript_EffectAttackDownHit
+ .4byte BattleScript_EffectDefenseDownHit
+ .4byte BattleScript_EffectSpeedDownHit
+ .4byte BattleScript_EffectSpecialAttackDownHit
+ .4byte BattleScript_EffectSpecialDefenseDownHit
+ .4byte BattleScript_EffectAccuracyDownHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSkyAttack
+ .4byte BattleScript_EffectConfuseHit
+ .4byte BattleScript_EffectTwineedle
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSubstitute
+ .4byte BattleScript_EffectRecharge
+ .4byte BattleScript_EffectRage
+ .4byte BattleScript_EffectMimic
+ .4byte BattleScript_EffectMetronome
+ .4byte BattleScript_EffectLeechSeed
+ .4byte BattleScript_EffectSplash
+ .4byte BattleScript_EffectDisable
+ .4byte BattleScript_EffectLevelDamage
+ .4byte BattleScript_EffectPsywave
+ .4byte BattleScript_EffectCounter
+ .4byte BattleScript_EffectEncore
+ .4byte BattleScript_EffectPainSplit
+ .4byte BattleScript_EffectSnore
+ .4byte BattleScript_EffectConversion2
+ .4byte BattleScript_EffectLockOn
+ .4byte BattleScript_EffectSketch
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSleepTalk
+ .4byte BattleScript_EffectDestinyBond
+ .4byte BattleScript_EffectFlail
+ .4byte BattleScript_EffectSpite
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHealBell
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectTripleKick
+ .4byte BattleScript_EffectThief
+ .4byte BattleScript_EffectMeanLook
+ .4byte BattleScript_EffectNightmare
+ .4byte BattleScript_EffectMinimize
+ .4byte BattleScript_EffectCurse
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectProtect
+ .4byte BattleScript_EffectSpikes
+ .4byte BattleScript_EffectForesight
+ .4byte BattleScript_EffectPerishSong
+ .4byte BattleScript_EffectSandstorm
+ .4byte BattleScript_EffectProtect
+ .4byte BattleScript_EffectRollout
+ .4byte BattleScript_EffectSwagger
+ .4byte BattleScript_EffectFuryCutter
+ .4byte BattleScript_EffectAttract
+ .4byte BattleScript_EffectReturn
+ .4byte BattleScript_EffectPresent
+ .4byte BattleScript_EffectReturn
+ .4byte BattleScript_EffectSafeguard
+ .4byte BattleScript_EffectThawHit
+ .4byte BattleScript_EffectMagnitude
+ .4byte BattleScript_EffectBatonPass
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectRapidSpin
+ .4byte BattleScript_EffectSonicboom
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectMorningSun
+ .4byte BattleScript_EffectMorningSun
+ .4byte BattleScript_EffectMorningSun
+ .4byte BattleScript_EffectHiddenPower
+ .4byte BattleScript_EffectRainDance
+ .4byte BattleScript_EffectSunnyDay
+ .4byte BattleScript_EffectDefenseUpHit
+ .4byte BattleScript_EffectAttackUpHit
+ .4byte BattleScript_EffectAllStatsUpHit
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectBellyDrum
+ .4byte BattleScript_EffectPsychUp
+ .4byte BattleScript_EffectMirrorCoat
+ .4byte BattleScript_EffectSkullBash
+ .4byte BattleScript_EffectTwister
+ .4byte BattleScript_EffectEarthquake
+ .4byte BattleScript_EffectFutureSight
+ .4byte BattleScript_EffectGust
+ .4byte BattleScript_EffectStomp
+ .4byte BattleScript_EffectSolarbeam
+ .4byte BattleScript_EffectThunder
+ .4byte BattleScript_EffectTeleport
+ .4byte BattleScript_EffectBeatUp
+ .4byte BattleScript_EffectFly
+ .4byte BattleScript_EffectDefenseCurl
+ .4byte BattleScript_EffectSoftboiled
+ .4byte BattleScript_EffectFakeOut
+ .4byte BattleScript_EffectUproar
+ .4byte BattleScript_EffectStockpile
+ .4byte BattleScript_EffectSpitUp
+ .4byte BattleScript_EffectSwallow
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectHail
+ .4byte BattleScript_EffectTorment
+ .4byte BattleScript_EffectFlatter
+ .4byte BattleScript_EffectWillOWisp
+ .4byte BattleScript_EffectMemento
+ .4byte BattleScript_EffectFacade
+ .4byte BattleScript_EffectFocusPunch
+ .4byte BattleScript_EffectSmellingsalt
+ .4byte BattleScript_EffectFollowMe
+ .4byte BattleScript_EffectNaturePower
+ .4byte BattleScript_EffectCharge
+ .4byte BattleScript_EffectTaunt
+ .4byte BattleScript_EffectHelpingHand
+ .4byte BattleScript_EffectTrick
+ .4byte BattleScript_EffectRolePlay
+ .4byte BattleScript_EffectWish
+ .4byte BattleScript_EffectAssist
+ .4byte BattleScript_EffectIngrain
+ .4byte BattleScript_EffectSuperpower
+ .4byte BattleScript_EffectMagicCoat
+ .4byte BattleScript_EffectRecycle
+ .4byte BattleScript_EffectRevenge
+ .4byte BattleScript_EffectBrickBreak
+ .4byte BattleScript_EffectYawn
+ .4byte BattleScript_EffectKnockOff
+ .4byte BattleScript_EffectEndeavor
+ .4byte BattleScript_EffectEruption
+ .4byte BattleScript_EffectSkillSwap
+ .4byte BattleScript_EffectImprison
+ .4byte BattleScript_EffectRefresh
+ .4byte BattleScript_EffectGrudge
+ .4byte BattleScript_EffectSnatch
+ .4byte BattleScript_EffectLowKick
+ .4byte BattleScript_EffectSecretPower
+ .4byte BattleScript_EffectDoubleEdge
+ .4byte BattleScript_EffectTeeterDance
+ .4byte BattleScript_EffectBurnHit
+ .4byte BattleScript_EffectMudSport
+ .4byte BattleScript_EffectPoisonFang
+ .4byte BattleScript_EffectWeatherBall
+ .4byte BattleScript_EffectOverheat
+ .4byte BattleScript_EffectTickle
+ .4byte BattleScript_EffectCosmicPower
+ .4byte BattleScript_EffectSkyUppercut
+ .4byte BattleScript_EffectBulkUp
+ .4byte BattleScript_EffectPoisonHit
+ .4byte BattleScript_EffectMudSport
+ .4byte BattleScript_EffectCalmMind
+ .4byte BattleScript_EffectDragonDance
+ .4byte BattleScript_EffectCamouflage
+
+BattleScript_EffectHit::
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_HitFromAtkCanceler
+ jumpifstatus3 TARGET, STATUS3_UNDERWATER, 0x1, BattleScript_HitFromAtkCanceler
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_HitFromAtkCanceler::
+ attackcanceler
+BattleScript_HitFromAccCheck::
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+BattleScript_HitFromAtkString::
+ attackstring
+ ppreduce
+BattleScript_HitFromCritCalc::
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+BattleScript_HitFromAtkAnimation::
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+BattleScript_MoveEnd::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ end
+
+BattleScript_MakeMoveMissed::
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+BattleScript_PrintMoveMissed::
+ attackstring
+ ppreduce
+BattleScript_MoveMissedPause::
+ pause 0x20
+BattleScript_MoveMissed::
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSleep::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_82D8AB0
+ jumpifcantmakeasleep BattleScript_82D8ACF
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_SLEEP
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8AB0::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8AC1::
+ pause 0x20
+ printstring STRINGID_PKMNWASNTAFFECTED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8ACF::
+ pause 0x20
+ printfromtable 0x85CC896
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoisonHit::
+ setmoveeffect EFFECT_POISON
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAbsorb::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_82D8B26
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ goto BattleScript_82D8B2E
+
+BattleScript_82D8B26::
+ manipulatedamage ATK80_DMG_CHANGE_SIGN
+ setbyte cMULTISTRING_CHOOSER, 0x1
+BattleScript_82D8B2E::
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8B45
+ printfromtable 0x85CC8FC
+ waitmessage 0x40
+BattleScript_82D8B45::
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBurnHit::
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFreezeHit::
+ setmoveeffect EFFECT_FREEZE
+ goto BattleScript_EffectHit
+
+BattleScript_EffectParalyzeHit::
+ setmoveeffect EFFECT_PARALYSIS
+ goto BattleScript_EffectHit
+
+BattleScript_EffectExplosion::
+ attackcanceler
+ attackstring
+ ppreduce
+ faintifabilitynotdamp
+ setatkhptozero
+ waitstate
+ jumpifbyte NO_COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED, BattleScript_82D8B94
+ call BattleScript_82D8BEA
+ goto BattleScript_82D8B96
+
+BattleScript_82D8B94::
+ attackanimation
+ waitanimation
+BattleScript_82D8B96::
+ movevaluescleanup
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ accuracycheck BattleScript_82D8BCF, ACC_CURR_MOVE
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D8B96
+ tryfaintmon ATTACKER, FALSE, NULL
+ end
+
+BattleScript_82D8BCF::
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D8B96
+ tryfaintmon ATTACKER, FALSE, NULL
+ end
+
+BattleScript_82D8BEA::
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ attackanimation
+ waitanimation
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ return
+
+BattleScript_EffectDreamEater::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82D8C0E
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_82D8C18
+BattleScript_82D8C0E::
+ attackstring
+ ppreduce
+ waitmessage 0x40
+ goto BattleScript_82D8AC1
+
+BattleScript_82D8C18::
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8C56
+ printstring STRINGID_PKMNDREAMEATEN
+ waitmessage 0x40
+BattleScript_82D8C56::
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMirrorMove::
+ attackcanceler
+ attackstring
+ pause 0x40
+ trymirrormove
+ ppreduce
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_MIRRORMOVEFAILED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp::
+ setstatchanger ATK, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectDefenseUp::
+ setstatchanger DEF, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialAttackUp::
+ setstatchanger SPATK, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectEvasionUp::
+ setstatchanger EVASION, 1, FALSE
+BattleScript_EffectStatUp::
+ attackcanceler
+BattleScript_EffectStatUpAfterAtkCanceler::
+ attackstring
+ ppreduce
+ statbuffchange 0x41, BattleScript_82D8CCF
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8CBD
+ pause 0x20
+ goto BattleScript_82D8CC7
+
+BattleScript_82D8CBD::
+ attackanimation
+ waitanimation
+BattleScript_82D8CBF::
+ setgraphicalstatchangevalues
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+BattleScript_82D8CC7::
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D8CCF::
+ goto BattleScript_MoveEnd
+
+BattleScript_StatUp::
+ playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+ return
+
+BattleScript_EffectAttackDown::
+ setstatchanger ATK, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectDefenseDown::
+ setstatchanger DEF, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpeedDown::
+ setstatchanger SPEED, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectAccuracyDown::
+ setstatchanger ACC, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectEvasionDown::
+ setstatchanger EVASION, 1, TRUE
+BattleScript_EffectStatDown::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ statbuffchange 0x1, BattleScript_82D8D60
+ jumpifbyte LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8D4E
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_82D8D60
+ pause 0x20
+ goto BattleScript_82D8D58
+
+BattleScript_82D8D4E::
+ attackanimation
+ waitanimation
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+BattleScript_82D8D58::
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82D8D60::
+ goto BattleScript_MoveEnd
+
+BattleScript_StatDown::
+ playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+ return
+
+BattleScript_EffectHaze::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ normalisebuffs
+ printstring STRINGID_STATCHANGESGONE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBide::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_x8000000
+ setbide
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRampage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D8DAE
+ ppreduce
+BattleScript_82D8DAE::
+ confuseifrepeatingattackends
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectRoar::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_82DB5B9
+ jumpifstatus3 TARGET, STATUS3_ROOTED, 0x0, BattleScript_82DB109
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ forcerandomswitch BattleScript_ButItFailed
+
+BattleScript_EffectMultiHit::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setmultihitcounter 0x0
+ initmultihitstring
+ setbyte sFIELD_16, 0x0
+BattleScript_82D8DFD::
+ jumpifhasnohp ATTACKER, BattleScript_82D8E93
+ jumpifhasnohp TARGET, BattleScript_82D8E74
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D8E1F
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8E74
+BattleScript_82D8E1F::
+ movevaluescleanup
+ copyarray cEFFECT_CHOOSER, sFIELD_16, 0x1
+ critcalc
+ damagecalc
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E71
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ addbyte sMULTIHIT_STRING + 4, 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_82D8E74
+ decrementmultihit BattleScript_82D8DFD
+ goto BattleScript_82D8E74
+
+BattleScript_82D8E71::
+ pause 0x20
+BattleScript_82D8E74::
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E93
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+BattleScript_82D8E93::
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x2
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0x4
+ moveend 0x0, 0x0
+ end
+
+BattleScript_EffectConversion::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryconversiontypechange BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlinchHit::
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRestoreHp::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, ATTACKER
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectToxic::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_82D8F63
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_TOXIC_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_TOXIC
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AlreadyPoisoned::
+ various ATTACKER, 0x17
+ pause 0x40
+ printstring STRINGID_PKMNALREADYPOISONED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8F63::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_PSNPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPayDay::
+ setmoveeffect EFFECT_PAYDAY
+ goto BattleScript_EffectHit
+
+BattleScript_EffectLightScreen::
+ attackcanceler
+ attackstring
+ ppreduce
+ setlightscreen
+ goto BattleScript_82D928C
+
+BattleScript_EffectTriAttack::
+ setmoveeffect EFFECT_TRI_ATTACK
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRest::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8FD6
+ jumpifcantmakeasleep BattleScript_82D8FC6
+ trysetrest BattleScript_AlreadyAtFullHp
+ pause 0x20
+ printfromtable 0x85CC882
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ waitstate
+ goto BattleScript_PresentHealTarget
+
+BattleScript_82D8FC6::
+ pause 0x40
+ printfromtable 0x85CC896
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8FD6::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectOhko::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ tryKO BattleScript_82D9008
+ trysetdestinybondtohappen
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_82D9008::
+ pause 0x40
+ printfromtable 0x85CC8F4
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRazorWind::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x0
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9040::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 0x1
+ clearstatusfromeffect ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromAccCheck
+
+BattleScript_82D906F::
+ attackcanceler
+ printstring STRINGID_EMPTYSTRING3
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_x8000000
+ setmoveeffect EFFECT_CHARGING | AFFECTS_USER
+ seteffectprimary
+ copyarray cMULTISTRING_CHOOSER, sFIELD_F, 0x1
+ printfromtable 0x85CC8B0
+ waitmessage 0x40
+ return
+
+BattleScript_EffectSuperFang::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ damagetohalftargethp
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectDragonRage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setbyte gBattleMoveDamage, 0x28
+ setbyte gBattleMoveDamage + 1, 0x0
+ setbyte gBattleMoveDamage + 2, 0x0
+ setbyte gBattleMoveDamage + 3, 0x0
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectTrap::
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_82D9105
+ jumpifstatus3 TARGET, STATUS3_UNDERWATER, 0x1, BattleScript_82D9105
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_82D9105::
+ setmoveeffect EFFECT_WRAP
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDoubleHit::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setmultihitcounter 0x2
+ initmultihitstring
+ setbyte sFIELD_16, 0x0
+ goto BattleScript_82D8DFD
+
+BattleScript_EffectRecoilIfMiss::
+ attackcanceler
+ accuracycheck BattleScript_82D9135, ACC_CURR_MOVE
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9135::
+ attackstring
+ ppreduce
+ pause 0x40
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_NOTAFFECTED, BattleScript_MoveEnd
+ printstring STRINGID_PKMNCRASHED
+ waitmessage 0x40
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ manipulatedamage ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMist::
+ attackcanceler
+ attackstring
+ ppreduce
+ setmist
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8CC
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFocusEnergy::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
+ setfocusenergy
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8D0
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecoil::
+ setmoveeffect EFFECT_RECOIL_25 | AFFECTS_USER | CERTAIN
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_EffectHit
+ incrementgamestat 0x1B
+ goto BattleScript_EffectHit
+
+BattleScript_EffectConfuse::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82D9201
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9201::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp2::
+ setstatchanger ATK, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectDefenseUp2::
+ setstatchanger DEF, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpeedUp2::
+ setstatchanger SPEED, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialAttackUp2::
+ setstatchanger SPATK, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialDefenseUp2::
+ setstatchanger SPDEF, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectTransform::
+ attackcanceler
+ attackstring
+ ppreduce
+ transformdataexecution
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8D4
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackDown2::
+ setstatchanger ATK, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectDefenseDown2::
+ setstatchanger DEF, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpeedDown2::
+ setstatchanger SPEED, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpecialDefenseDown2::
+ setstatchanger SPDEF, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectReflect::
+ attackcanceler
+ attackstring
+ ppreduce
+ setreflect
+BattleScript_82D928C::
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC86C
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoison::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_82D8F63
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_TOXIC_POISON, BattleScript_AlreadyPoisoned
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_POISON
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectParalyze::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_LIMBER, BattleScript_82D9362
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_82D9351
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_PARALYSIS
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9351::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNISALREADYPARALYZED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9362::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_PRLZPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackDownHit::
+ setmoveeffect EFFECT_ATK_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDefenseDownHit::
+ setmoveeffect EFFECT_DEF_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpeedDownHit::
+ setmoveeffect EFFECT_SPD_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpecialAttackDownHit::
+ setmoveeffect EFFECT_SP_ATK_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpecialDefenseDownHit::
+ setmoveeffect EFFECT_SP_DEF_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAccuracyDownHit::
+ setmoveeffect EFFECT_ACC_MINUS_1
+ goto BattleScript_EffectHit
+
+
+BattleScript_EffectSkyAttack::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x3
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectConfuseHit::
+ setmoveeffect EFFECT_CONFUSION
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTwineedle::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setbyte sFIELD_16, 0x2
+ attackstring
+ ppreduce
+ setmultihitcounter 0x2
+ initmultihitstring
+ goto BattleScript_82D8DFD
+
+BattleScript_EffectSubstitute::
+ attackcanceler
+ ppreduce
+ attackstring
+ waitstate
+ jumpifstatus2 ATTACKER, STATUS2_SUBSTITUTE, BattleScript_82D943E
+ setsubstitute
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D942B
+ pause 0x20
+ goto BattleScript_82D9431
+
+BattleScript_82D942B::
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+BattleScript_82D9431::
+ printfromtable 0x85CC8D8
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D943E::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNHASSUBSTITUTE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecharge::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RECHARGE | AFFECTS_USER | CERTAIN
+ goto BattleScript_HitFromAtkString
+
+BattleScript_MoveUsedMustRecharge::
+ printstring STRINGID_PKMNMUSTRECHARGE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRage::
+ attackcanceler
+ accuracycheck BattleScript_82D9487, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RAGE
+ seteffectprimary
+ setmoveeffect 0
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9487::
+ setmoveeffect EFFECT_RAGE
+ clearstatusfromeffect ATTACKER
+ goto BattleScript_PrintMoveMissed
+
+BattleScript_EffectMimic::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ mimicattackcopy BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNLEARNEDMOVE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMetronome::
+ attackcanceler
+ attackstring
+ pause 0x20
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ metronome
+BattleScript_EffectLeechSeed::
+ attackcanceler
+ attackstring
+ pause 0x20
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_82D94E5, ACC_CURR_MOVE
+BattleScript_82D94E5::
+ setseeded
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC878
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSplash::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ incrementgamestat 0x1A
+ printstring STRINGID_BUTNOTHINGHAPPENED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectDisable::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ disablelastusedattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNMOVEWASDISABLED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLevelDamage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ dmgtolevel
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectPsywave::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ psywavedamageeffect
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectCounter::
+ attackcanceler
+ counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectEncore::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ trysetencore BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNGOTENCORE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPainSplit::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ painsplitdmgcalc BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ copyarray gBattleMoveDamage, sPAINSPLIT_HP, 0x4
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_SHAREDPAIN
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSnore::
+ attackcanceler
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D95CE
+ attackstring
+ ppreduce
+ goto BattleScript_ButItFailed
+
+BattleScript_82D95CE::
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D95E2
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+BattleScript_82D95E2::
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectConversion2::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetorandomresistance BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLockOn::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ setalwayshitflag
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTOOKAIM
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSketch::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ copymovepermanently BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSKETCHEDMOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSleepTalk::
+ attackcanceler
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D965E
+ attackstring
+ ppreduce
+ goto BattleScript_ButItFailed
+
+BattleScript_82D965E::
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+ attackstring
+ ppreduce
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ sleeptalk_choose_move BattleScript_82D967E
+ pause 0x40
+ goto BattleScript_ButItFailed
+
+BattleScript_82D967E::
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ jumptorandomattack 0x1
+
+BattleScript_EffectDestinyBond::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdestinybond
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTRYINGTOTAKEFOE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlail::
+ remaininghptopower
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpite::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryspiteppreduce BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREDUCEDPP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHealBell::
+ attackcanceler
+ attackstring
+ ppreduce
+ healpartystatus
+ waitstate
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC904
+ waitmessage 0x40
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_82D96FE
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D96ED
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+BattleScript_82D96ED::
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D96FE
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+BattleScript_82D96FE::
+ updatestatusicon ATTACKER_WITH_PARTNER
+ waitstate
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTripleKick::
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte sTRIPLE_KICK_POWER, 0x0
+ setbyte sFIELD_13, 0x0
+ initmultihitstring
+ setmultihit 0x3
+BattleScript_82D9718::
+ jumpifhasnohp ATTACKER, BattleScript_82D97D7
+ jumpifhasnohp TARGET, BattleScript_82D9799
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D973A
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D9799
+BattleScript_82D973A::
+ accuracycheck BattleScript_82D9799, ACC_CURR_MOVE
+ movevaluescleanup
+ addbyte sTRIPLE_KICK_POWER, 0xA
+ addbyte sMULTIHIT_STRING + 4, 0x1
+ copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D9799
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_82D97AD
+ decrementmultihit BattleScript_82D9718
+ goto BattleScript_82D97AD
+
+BattleScript_82D9799::
+ pause 0x20
+ jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_82D97AD
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+BattleScript_82D97AD::
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_82D97D7
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_NOTAFFECTED, BattleScript_82D97D7
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+BattleScript_82D97D7::
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0xE
+ moveend 0x0, 0x0
+ end
+
+BattleScript_EffectThief::
+ setmoveeffect EFFECT_STEAL_ITEM
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMeanLook::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC
+ jumpifstatus2 TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_PREVENT_ESCAPE
+ seteffectprimary
+ printstring STRINGID_TARGETCANTESCAPENOW
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectNightmare::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_NightmareWorked
+ goto BattleScript_ButItFailed
+
+BattleScript_NightmareWorked::
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_NIGHTMARE
+ seteffectprimary
+ printstring STRINGID_PKMNFELLINTONIGHTMARE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMinimize::
+ attackcanceler
+ setminimize
+ setstatchanger EVASION, 1, FALSE
+ goto BattleScript_EffectStatUpAfterAtkCanceler
+
+BattleScript_EffectCurse::
+ jumpiftype2 ATTACKER, TYPE_GHOST, BattleScript_82D98E5
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, GREATER_THAN, SPEED, 0x0, BattleScript_82D9892
+ jumpifstat ATTACKER, NOT_EQUAL, ATK, 0xC, BattleScript_82D9892
+ jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_ButItFailed
+BattleScript_82D9892::
+ copyarray gBankTarget, gBankAttacker, 0x1
+ setbyte sANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ setstatchanger SPEED, 1, TRUE
+ statbuffchange 0x41, BattleScript_82D98B8
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82D98B8::
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D98CC
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D98CC::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D98E0
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D98E0::
+ goto BattleScript_MoveEnd
+
+BattleScript_82D98E5::
+ jumpifarraynotequal gBankAttacker, gBankTarget, 0x1, BattleScript_82D98F6
+ various ATTACKER, VARIOUS_GET_MOVE_TARGET
+BattleScript_82D98F6::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ cursetarget BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ setbyte sANIM_TURN, 0x0
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNLAIDCURSE
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectProtect::
+ attackcanceler
+ attackstring
+ ppreduce
+ setprotectlike
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC866
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSpikes::
+ attackcanceler
+ trysetspikes BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_SPIKESSCATTERED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectForesight::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setforesight
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNIDENTIFIED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPerishSong::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetperishsong BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_FAINTINTHREE
+ waitmessage 0x40
+ setbyte sBANK, 0x0
+BattleScript_PerishSongLoop::
+ jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected
+BattleScript_PerishSongLoopIncrement::
+ addbyte sBANK, 0x1
+ jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_PerishSongLoop
+ goto BattleScript_MoveEnd
+
+BattleScript_PerishSongNotAffected::
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+ goto BattleScript_PerishSongLoopIncrement
+
+BattleScript_EffectSandstorm::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsandstorm
+ goto BattleScript_82D9B41
+
+BattleScript_EffectRollout::
+ attackcanceler
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D99CD
+ ppreduce
+BattleScript_82D99CD::
+ accuracycheck BattleScript_82D99D4, ACC_CURR_MOVE
+BattleScript_82D99D4::
+ typecalc2
+ rolloutdamagecalculation
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectSwagger::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ jumpifconfusedandstatmaxed ATK, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setstatchanger ATK, 2, FALSE
+ statbuffchange 0x1, BattleScript_82D9A1E
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9A1E
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D9A1E::
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFuryCutter::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_82D9A43, ACC_CURR_MOVE
+BattleScript_82D9A43::
+ furycuttercalc
+ critcalc
+ damagecalc
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D9A43
+ adjustnormaldamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectAttract::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryinfatuating BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLINLOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectReturn::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ happinesstodamagecalculation
+ goto BattleScript_HitFromAtkString
+
+BattleScript_EffectPresent::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ presentdamagecalculation
+BattleScript_EffectSafeguard::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsafeguard
+ goto BattleScript_82D928C
+
+BattleScript_EffectThawHit::
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMagnitude::
+ attackcanceler
+ attackstring
+ ppreduce
+ selectfirstvalidtarget
+ magnitudedamagecalculation
+ pause 0x20
+ printstring STRINGID_MAGNITUDESTRENGTH
+ waitmessage 0x40
+ goto BattleScript_82D9C44
+
+BattleScript_EffectBatonPass::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | ATTACKER, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ openpartyscreen 0x1, BattleScript_ButItFailed
+ switchoutabilities ATTACKER
+ waitstate
+ switchhandleorder ATTACKER, 0x2
+ returntoball ATTACKER
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ switchinanim ATTACKER, 0x1
+ waitstate
+ switchineffects ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRapidSpin::
+ setmoveeffect EFFECT_RAPIDSPIN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSonicboom::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setbyte gBattleMoveDamage, 0x14
+ setbyte gBattleMoveDamage + 1, 0x0
+ setbyte gBattleMoveDamage + 2, 0x0
+ setbyte gBattleMoveDamage + 3, 0x0
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectMorningSun::
+ attackcanceler
+ attackstring
+ ppreduce
+ recoverbasedonsunlight BattleScript_AlreadyAtFullHp
+ goto BattleScript_PresentHealTarget
+
+BattleScript_EffectHiddenPower::
+ hiddenpowercalc
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRainDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ setrain
+BattleScript_82D9B41::
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC848
+ waitmessage 0x40
+ call BattleScript_82DB48D
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSunnyDay::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsunny
+ goto BattleScript_82D9B41
+
+BattleScript_EffectDefenseUpHit::
+ setmoveeffect EFFECT_DEF_PLUS_1 | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAttackUpHit::
+ setmoveeffect EFFECT_ATK_PLUS_1 | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAllStatsUpHit::
+ setmoveeffect EFFECT_ALL_STATS_UP | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBellyDrum::
+ attackcanceler
+ attackstring
+ ppreduce
+ maxattackhalvehp BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNCUTHPMAXEDATTACK
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPsychUp::
+ attackcanceler
+ attackstring
+ ppreduce
+ copyfoestats BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDSTATCHANGES
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMirrorCoat::
+ attackcanceler
+ mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectSkullBash::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x2
+ call BattleScript_82D906F
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D9C16
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9C16
+ setgraphicalstatchangevalues
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D9C16::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTwister::
+ jumpifstatus3 TARGET, STATUS3_ON_AIR, 0x1, BattleScript_82D9C35
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_82D9C35::
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
+
+BattleScript_EffectEarthquake::
+ attackcanceler
+ attackstring
+ ppreduce
+ selectfirstvalidtarget
+BattleScript_82D9C44::
+ movevaluescleanup
+ jumpifstatus3 TARGET, STATUS3_UNDERGROUND, 0x1, BattleScript_82D9C64
+ orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_82D9C73
+
+BattleScript_82D9C64::
+ bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 0x1
+BattleScript_82D9C73::
+ accuracycheck BattleScript_82D9CAC, ACC_CURR_MOVE
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D9C44
+ end
+
+BattleScript_82D9CAC::
+ pause 0x20
+ typecalc
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D9C44
+ end
+
+BattleScript_EffectFutureSight::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetfutureattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC90E
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectGust::
+ jumpifstatus3 TARGET, STATUS3_ON_AIR, 0x1, BattleScript_EffectHit
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectStomp::
+ jumpifstatus3 TARGET, STATUS3_MINIMIZED, 0x1, BattleScript_82D9C35
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_82D9C35
+
+BattleScript_EffectSolarbeam::
+ jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_82D9D28
+ jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_82D9D28
+ jumpifhalfword COMMON_BITS, gBattleWeather, WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT, BattleScript_82D9D50
+BattleScript_82D9D28::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x1
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9D50::
+ orword gHitMarker, HITMARKER_x8000000
+ setmoveeffect EFFECT_CHARGING | AFFECTS_USER
+ seteffectprimary
+ ppreduce
+ goto BattleScript_82D9040
+
+BattleScript_EffectThunder::
+ setmoveeffect EFFECT_PARALYSIS
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTeleport::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
+ various ATTACKER, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ jumpifbyte EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed
+ jumpifbyte EQUAL, gBattleCommunication, 0x2, BattleScript_82DA382
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFLEDFROMBATTLE
+ waitmessage 0x40
+ various ATTACKER, VARIOUS_SET_TELEPORT_OUTCOME
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBeatUp::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ pause 0x20
+ ppreduce
+ setbyte gBattleCommunication, 0x0
+BattleScript_BeatUpLoop::
+ movevaluescleanup
+ trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed
+ printstring STRINGID_PKMNATTACK
+ critcalc
+ jumpifbyte NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_BeatUpAttack
+ manipulatedamage ATK80_DMG_DOUBLED
+BattleScript_BeatUpAttack::
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ goto BattleScript_BeatUpLoop
+
+BattleScript_BeatUpEnd::
+ end
+
+BattleScript_EffectFly::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9E79
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9E79
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_FLY, BattleScript_82D9E68
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_82D9E5D
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9E52
+ setbyte sFIELD_F, 0x5
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E52::
+ setbyte sFIELD_F, 0x7
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E5D::
+ setbyte sFIELD_F, 0x6
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E68::
+ setbyte sFIELD_F, 0x4
+BattleScript_82D9E6E::
+ call BattleScript_82D906F
+ setsemiinvulnerablebit
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9E79::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 0x1
+ clearstatusfromeffect ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9EA3
+ setmoveeffect EFFECT_PARALYSIS
+BattleScript_82D9EA3::
+ accuracycheck BattleScript_82D9EB0, ACC_CURR_MOVE
+ clearsemiinvulnerablebit
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9EB0::
+ clearsemiinvulnerablebit
+ goto BattleScript_PrintMoveMissed
+
+BattleScript_EffectDefenseCurl::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdefensecurlbit
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D9ED3
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8CC7
+ attackanimation
+ waitanimation
+BattleScript_82D9ED3::
+ goto BattleScript_82D8CBF
+
+BattleScript_EffectSoftboiled::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, TARGET
+BattleScript_PresentHealTarget::
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AlreadyAtFullHp::
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFakeOut::
+ attackcanceler
+ jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce
+ setmoveeffect EFFECT_FLINCH | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_ButItFailedAtkStringPpReduce::
+ attackstring
+BattleScript_ButItFailedPpReduce::
+ ppreduce
+BattleScript_ButItFailed::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_NotAffected::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectUproar::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_UPROAR | AFFECTS_USER
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9F5A
+ ppreduce
+BattleScript_82D9F5A::
+ nop
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectStockpile::
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpile
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC88A
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSpitUp::
+ attackcanceler
+ jumpifbyte EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82D9FA2
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ stockpiletobasedamage BattleScript_SpitUpFail
+ typecalc
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_SpitUpFail::
+ pause 0x20
+ printstring STRINGID_FAILEDTOSPITUP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9FA2::
+ attackstring
+ ppreduce
+ pause 0x40
+ stockpiletobasedamage BattleScript_SpitUpFail
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSwallow::
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpiletohpheal BattleScript_SwallowFail
+ goto BattleScript_PresentHealTarget
+
+BattleScript_SwallowFail::
+ pause 0x20
+ printfromtable 0x85CC892
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHail::
+ attackcanceler
+ attackstring
+ ppreduce
+ sethail
+ goto BattleScript_82D9B41
+
+BattleScript_EffectTorment::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ settorment BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSUBJECTEDTOTORMENT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlatter::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ jumpifconfusedandstatmaxed SPATK, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x1, BattleScript_82DA03A
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA03A
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA03A::
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectWillOWisp::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_BURN, BattleScript_82DA0BB
+ jumpiftype TARGET, TYPE_FIRE, BattleScript_NotAffected
+ jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_82DA0A1
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_BURN
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA0A1::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_BRNPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA0BB::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYHASBURN
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMemento::
+ attackcanceler
+ jumpifbyte EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82DA153
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
+ setatkhptozero
+ attackanimation
+ waitanimation
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA148
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation TARGET, 0x12, 0x7
+ playstatchangeanimation TARGET, 0x2, 0x3
+ setstatchanger ATK, 2, TRUE
+ statbuffchange 0x1, BattleScript_82DA119
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA119
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA119::
+ playstatchangeanimation TARGET, 0x10, 0x3
+ setstatchanger SPATK, 2, TRUE
+ statbuffchange 0x1, BattleScript_82DA13C
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA13C
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA13C::
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA148::
+ printstring STRINGID_BUTNOEFFECT
+ waitmessage 0x40
+ goto BattleScript_82DA13C
+
+BattleScript_82DA153::
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_82DA15A
+BattleScript_82DA15A::
+ setatkhptozero
+ pause 0x40
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFacade::
+ jumpifstatus ATTACKER, STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON, BattleScript_FacadeDoubleDmg
+ goto BattleScript_EffectHit
+
+BattleScript_FacadeDoubleDmg::
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFocusPunch::
+ attackcanceler
+ jumpifnodamage BattleScript_HitFromAccCheck
+ ppreduce
+ printstring STRINGID_PKMNLOSTFOCUS
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSmellingsalt::
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
+ setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN
+ jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_82DA1BA
+ goto BattleScript_EffectHit
+
+BattleScript_82DA1BA::
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFollowMe::
+ attackcanceler
+ attackstring
+ ppreduce
+ setforcedtarget
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCENTERATTENTION
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectNaturePower::
+ attackcanceler
+ attackstring
+ pause 0x20
+ callterrainattack
+ printstring STRINGID_NATUREPOWERTURNEDINTO
+ waitmessage 0x40
+ return
+
+BattleScript_EffectCharge::
+ attackcanceler
+ attackstring
+ ppreduce
+ setcharge
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHARGINGPOWER
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTaunt::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ settaunt BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLFORTAUNT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHelpingHand::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysethelpinghand BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREADYTOHELP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTrick::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryswapitems BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWITCHEDITEMS
+ waitmessage 0x40
+ printfromtable 0x85CC970
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRolePlay::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ trycopyability BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDFOE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectWish::
+ attackcanceler
+ attackstring
+ ppreduce
+ trywish 0x0, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAssist::
+ attackcanceler
+ attackstring
+ asistattackselect BattleScript_ButItFailedPpReduce
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ jumptorandomattack 0x1
+
+BattleScript_EffectIngrain::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetroots BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNPLANTEDROOTS
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSuperpower::
+ setmoveeffect EFFECT_ATK_DEF_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMagicCoat::
+ attackcanceler
+ trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSHROUDEDITSELF
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecycle::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryrecycleitem BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_XFOUNDONEY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRevenge::
+ doubledamagedealtifdamaged
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBrickBreak::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ removelightscreenreflect
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ jumpifbyte EQUAL, sANIM_TURN, 0x0, BattleScript_82DA306
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED
+BattleScript_82DA306::
+ attackanimation
+ waitanimation
+ jumpifbyte LESS_THAN, sANIM_TURN, 0x2, BattleScript_82DA319
+ printstring STRINGID_THEWALLSHATTERED
+ waitmessage 0x40
+BattleScript_82DA319::
+ typecalc2
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectYawn::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_82DA378
+ jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_82DA378
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ jumpifcantmakeasleep BattleScript_ButItFailed
+ setyawn BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWASMADEDROWSY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA378::
+ copyarray sBANK, sFIELD_15, 0x1
+BattleScript_82DA382::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEITINEFFECTIVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectKnockOff::
+ setmoveeffect EFFECT_KNOCK_OFF
+ goto BattleScript_EffectHit
+
+BattleScript_EffectEndeavor::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamagetohealthdifference BattleScript_ButItFailed
+ copyarray gHpDealt, gBattleMoveDamage, 0x4
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectEruption::
+ scaledamagebyhealthratio
+ goto BattleScript_EffectHit
+
+
+
+
+BattleScript_EffectSkillSwap::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ tryswapabilities BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWAPPEDABILITIES
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectImprison::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryimprision BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSEALEDOPPONENTMOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRefresh::
+ attackcanceler
+ attackstring
+ ppreduce
+ cureifburnedparalysedorpoisoned BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSTATUSNORMAL
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectGrudge::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetgrudge BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWANTSGRUDGE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+
+BattleScript_EffectSnatch::
+ attackcanceler
+ trysetsnatch BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ pause 0x20
+ printstring STRINGID_PKMNWAITSFORTARGET
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLowKick::
+ attackcanceler
+ attackstring
+ ppreduce
+ weightdamagecalculation
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectSecretPower::
+ getsecretpowereffect
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDoubleEdge::
+ setmoveeffect EFFECT_RECOIL_33_PARALYSIS | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTeeterDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte gBankTarget, 0x0
+BattleScript_82DA47B::
+ movevaluescleanup
+ setmoveeffect EFFECT_CONFUSION
+ jumpifarrayequal gBankAttacker, gBankTarget, 0x1, BattleScript_82DA4D0
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DA4E5
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA501
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82DA50F
+ jumpifhasnohp TARGET, BattleScript_82DA4D0
+ accuracycheck BattleScript_82DA520, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DA4F3
+ attackanimation
+ waitanimation
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+BattleScript_82DA4C7::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+BattleScript_82DA4D0::
+ addbyte gBankTarget, 0x1
+ jumpifarraynotequal gBankTarget, gNoOfAllBanks, 0x1, BattleScript_82DA47B
+ end
+
+BattleScript_82DA4E5::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA4F3::
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA501::
+ pause 0x20
+ printstring STRINGID_BUTITFAILED
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA50F::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA520::
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_EffectMudSport::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypebasedhalvers BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC900
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoisonFang::
+ setmoveeffect EFFECT_TOXIC
+ goto BattleScript_EffectHit
+
+
+BattleScript_EffectWeatherBall::
+ setweatherballtype
+ goto BattleScript_EffectHit
+
+BattleScript_EffectOverheat::
+ setmoveeffect EFFECT_SP_ATK_TWO_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTickle::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat TARGET, GREATER_THAN, ATK, 0x0, BattleScript_82DA571
+ jumpifstat TARGET, EQUAL, DEF, 0x0, BattleScript_82DA5CF
+BattleScript_82DA571::
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation TARGET, 0x6, 0x5
+ playstatchangeanimation TARGET, 0x2, 0x1
+ setstatchanger ATK, 1, TRUE
+ statbuffchange 0x1, BattleScript_82DA5A7
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5A7
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA5A7::
+ playstatchangeanimation TARGET, 0x4, 0x1
+ setstatchanger DEF, 1, TRUE
+ statbuffchange 0x1, BattleScript_82DA5CA
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5CA
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA5CA::
+ goto BattleScript_MoveEnd
+
+
+BattleScript_82DA5CF::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_STATSWONTDECREASE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCosmicPower::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_82DA5F8
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA5F8::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x24, 0x0
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA623
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA623
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA623::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA642
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA642
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA642::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSkyUppercut::
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBulkUp::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DA66A
+ jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA66A::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x6, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA695
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA695
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA695::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA6B4
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6B4
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA6B4::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCalmMind::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_82DA6CE
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA6CE::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x30, 0x0
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA6F9
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6F9
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA6F9::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA718
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA718
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA718::
+ goto BattleScript_MoveEnd
+
+BattleScript_CantRaiseMultipleStats::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_STATSWONTINCREASE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectDragonDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DA746
+ jumpifstat ATTACKER, EQUAL, SPEED, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA746::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0xA, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA771
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA771
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA771::
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA790
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA790
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA790::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCamouflage::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetoterrain BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_FaintAttacker::
+ playfaintcry ATTACKER
+ pause 0x40
+ dofaintanimation ATTACKER
+ cleareffectsonfaint ATTACKER
+ printstring STRINGID_ATTACKERFAINTED
+ return
+
+BattleScript_FaintTarget::
+ playfaintcry TARGET
+ pause 0x40
+ dofaintanimation TARGET
+ cleareffectsonfaint TARGET
+ printstring STRINGID_TARGETFAINTED
+ return
+
+BattleScript_82DA7C4::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+ end2
+
+BattleScript_82DA7CD::
+ atk24 BattleScript_82DA8F6
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DA8F5
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA816
+ jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA816
+ printstring STRINGID_USENEXTPKMN
+ setbyte gBattleCommunication, 0x0
+ yesnobox
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x0, BattleScript_82DA816
+ jumpifplayerran BattleScript_82DA8F5
+ printstring STRINGID_CANTESCAPE2
+BattleScript_82DA816::
+ openpartyscreen 0x3, BattleScript_82DA8F5
+ switchhandleorder GBANK_1, 0x2
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x2000000, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA8D0
+ jumpifbyte EQUAL, sBATTLE_STYLE, 0x1, BattleScript_82DA8D0
+ jumpifcantswitch 11, BattleScript_82DA8D0
+ printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
+ setbyte gBattleCommunication, 0x0
+ yesnobox
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x1, BattleScript_82DA8D0
+ setatktoplayer0
+ openpartyscreen 0x81, BattleScript_82DA8D0
+ switchhandleorder ATTACKER, 0x2
+ jumpifbyte EQUAL, gBattleCommunication, 0x6, BattleScript_82DA8D0
+ atknameinbuff1
+ various ATTACKER, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ hpthresholds2 ATTACKER
+ printstring STRINGID_RETURNMON
+ switchoutabilities ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary ATTACKER
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62 ATTACKER
+ switchinanim ATTACKER, 0x0
+ waitstate
+ switchineffects ATTACKER
+ resetsentmonsvalue
+BattleScript_82DA8D0::
+ drawpartystatussummary GBANK_1
+ getswitchedmondata GBANK_1
+ switchindataupdate GBANK_1
+ hpthresholds GBANK_1
+ printstring STRINGID_SWITCHINMON
+ atk62 GBANK_1
+ switchinanim GBANK_1, 0x0
+ waitstate
+ various ATTACKER, 0x7
+ switchineffects GBANK_1
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8F5
+ cancelallactions
+BattleScript_82DA8F5::
+ end2
+
+BattleScript_82DA8F6::
+ openpartyscreen 0x5, BattleScript_82DA8FC
+BattleScript_82DA8FC::
+ switchhandleorder GBANK_1, 0x0
+ openpartyscreen 0x6, BattleScript_82DA92C
+ switchhandleorder GBANK_1, 0x0
+BattleScript_82DA908::
+ switchhandleorder GBANK_1, 0x3
+ drawpartystatussummary GBANK_1
+ getswitchedmondata GBANK_1
+ switchindataupdate GBANK_1
+ hpthresholds GBANK_1
+ printstring STRINGID_SWITCHINMON
+ atk62 GBANK_1
+ switchinanim GBANK_1, 0x0
+ waitstate
+ switchineffects 5
+ jumpifarraynotequal gBank1, gNoOfAllBanks, 0x1, BattleScript_82DA908
+BattleScript_82DA92C::
+ end2
+
+BattleScript_LocalTrainerBattleWon::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DA943
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ goto BattleScript_82DA946
+
+BattleScript_82DA943::
+ printstring STRINGID_TWOENEMIESDEFEATED
+BattleScript_82DA946::
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DA963
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+BattleScript_82DA963::
+ getmoneyreward
+ printstring STRINGID_PLAYERGOTMONEY
+ waitmessage 0x40
+BattleScript_PayDayMoneyAndPickUpItems::
+ givepaydaymoney
+ pickup
+ end2
+
+BattleScript_LocalBattleLost::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOME, BattleScript_82DA9BE
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA9C9
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x4000000, BattleScript_82DA9C9
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_82DA9BD
+ jumpifhalfword EQUAL, 0x2038BCA, 0x400, BattleScript_82DA9BD
+BattleScript_82DA9B1::
+ printstring STRINGID_PLAYERWHITEOUT
+ waitmessage 0x40
+ printstring STRINGID_PLAYERWHITEOUT2
+ waitmessage 0x40
+BattleScript_82DA9BD::
+ end2
+
+BattleScript_82DA9BE::
+ jumpifbyte EQUAL, gBattleOutcome, DREW, BattleScript_82DAA0A
+BattleScript_82DA9C9::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA9B1
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON1
+ waitstate
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON2
+ waitstate
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1WINTEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x800000, BattleScript_82DAA01
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAA0A
+BattleScript_82DAA01::
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2WINTEXT
+BattleScript_82DAA0A::
+ end2
+
+BattleScript_82DAA0B::
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON1
+ waitstate
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON2
+ waitstate
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1WINTEXT
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2WINTEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA31
+ atk57
+BattleScript_82DAA31::
+ waitmessage 0x40
+ end2
+
+BattleScript_LinkBattleWonOrLost::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_82DAA5C
+ printstring STRINGID_BATTLEEND
+ waitmessage 0x40
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA58
+ atk57
+BattleScript_82DAA58::
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAA5C::
+ various ATTACKER, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ printstring STRINGID_BATTLEEND
+ waitmessage 0x40
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA83
+ atk57
+BattleScript_82DAA83::
+ waitmessage 0x40
+ end2
+
+BattleScript_FrontierTrainerBattleWon::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ goto BattleScript_82DAAAE
+
+BattleScript_82DAAAB::
+ printstring STRINGID_TWOENEMIESDEFEATED
+BattleScript_82DAAAE::
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+BattleScript_82DAACB::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_PYRAMID, BattleScript_82DAADA
+ pickup
+BattleScript_82DAADA::
+ end2
+
+BattleScript_SmokeBallEscape::
+ playanimation ATTACKER, ANIM_SMOKEBALL_ESCAPE, NULL
+ printstring STRINGID_PKMNFLEDUSINGITS
+ waitmessage 0x40
+ end2
+
+BattleScript_RanAwayUsingMonAbility::
+ printstring STRINGID_PKMNFLEDUSING
+ waitmessage 0x40
+ end2
+
+BattleScript_GotAwaySafely::
+ printstring STRINGID_GOTAWAYSAFELY
+ waitmessage 0x40
+ end2
+
+BattleScript_WildMonFled::
+ printstring STRINGID_WILDPKMNFLED
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAAFE::
+ printstring STRINGID_NORUNNINGFROMTRAINERS
+ end2
+
+BattleScript_PrintFailedToRunString::
+ printfromtable 0x85CC83E
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAB0B::
+ printselectionstringfromtable 0x85CC83E
+ endselectionscript
+
+BattleScript_82DAB11::
+ printselectionstring STRINGID_BOXISFULL
+ endselectionscript
+
+BattleScript_ActionSwitch::
+ hpthresholds2 ATTACKER
+ printstring STRINGID_RETURNMON
+ setbyte sDMG_MULTIPLIER, 0x2
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DAB35
+ setmultihit 0x1
+ goto BattleScript_82DAB37
+
+BattleScript_82DAB35::
+ setmultihit 0x2
+BattleScript_82DAB37::
+ jumpifnopursuitswitchdmg BattleScript_82DAB44
+ atk5F
+ trysetdestinybondtohappen
+ call BattleScript_82DAB77
+ atk5F
+BattleScript_82DAB44::
+ decrementmultihit BattleScript_82DAB37
+ switchoutabilities ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary ATTACKER
+ switchhandleorder ATTACKER, 0x1
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62 ATTACKER
+ switchinanim ATTACKER, 0x0
+ waitstate
+ switchineffects ATTACKER
+ setbyte sMOVEEND_STATE, 0x4
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ end2
+
+BattleScript_82DAB77::
+ pause 0x20
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x3
+ moveend 0x2, 0x6
+ various TARGET, 0x4
+ jumpifbyte EQUAL, gBattleCommunication, 0x0, BattleScript_82DABB8
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+BattleScript_82DABB8::
+ return
+
+BattleScript_Pausex20::
+ pause 0x20
+ return
+
+BattleScript_LevelUp::
+ fanfare BGM_FANFA1
+ printstring STRINGID_PKMNGREWTOLV
+ setbyte sLVLBOX_STATE, 0x0
+ drawlvlupbox
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, TRUE
+ goto BattleScript_AskToLearnMove
+
+BattleScript_TryLearnMoveLoop::
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, FALSE
+BattleScript_AskToLearnMove::
+ buffermovetolearn
+ printstring STRINGID_TRYTOLEARNMOVE1
+ printstring STRINGID_TRYTOLEARNMOVE2
+ printstring STRINGID_TRYTOLEARNMOVE3
+ waitstate
+ setbyte sLEARNMOVE_STATE, 0x0
+ yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove
+ printstring STRINGID_STOPLEARNINGMOVE
+ waitstate
+ setbyte sLEARNMOVE_STATE, 0x0
+ yesnoboxstoplearningmove BattleScript_AskToLearnMove
+ printstring STRINGID_DIDNOTLEARNMOVE
+ goto BattleScript_TryLearnMoveLoop
+
+BattleScript_ForgotAndLearnedNewMove::
+ printstring STRINGID_123POOF
+ printstring STRINGID_PKMNFORGOTMOVE
+ printstring STRINGID_ANDELLIPSIS
+BattleScript_LearnedNewMove::
+ buffermovetolearn
+ fanfare BGM_FANFA1
+ printstring STRINGID_PKMNLEARNEDMOVE
+ waitmessage 0x40
+ various ATTACKER, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ goto BattleScript_TryLearnMoveLoop
+
+BattleScript_LearnMoveReturn::
+ return
+
+BattleScript_82DAC2C::
+ printfromtable 0x85CC860
+ waitmessage 0x40
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DAC46
+ playanimation ATTACKER, ANIM_RAIN_CONTINUES, NULL
+BattleScript_82DAC46::
+ end2
+
+BattleScript_82DAC47::
+ printfromtable 0x85CC854
+ waitmessage 0x40
+ playanimation2 ATTACKER, sANIM_ARG1, NULL
+ setbyte gBattleCommunication, 0x0
+BattleScript_82DAC5F::
+ copyarraywithindex gBankAttacker, gBanksByTurnOrder, gBattleCommunication, 0x1
+ weatherdamage
+ jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_82DACA0
+ printfromtable 0x85CC858
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
+ effectivenesssound
+ hitanimation ATTACKER
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ atk24 BattleScript_82DACA0
+BattleScript_82DACA0::
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DACBF
+ addbyte gBattleCommunication, 0x1
+ jumpifarraynotequal gBattleCommunication, gNoOfAllBanks, 0x1, BattleScript_82DAC5F
+BattleScript_82DACBF::
+ bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
+ end2
+
+BattleScript_82DACC9::
+ printfromtable 0x85CC85C
+ waitmessage 0x40
+ end2
+
+BattleScript_82DACD2::
+ printstring STRINGID_SUNLIGHTSTRONG
+ waitmessage 0x40
+ playanimation ATTACKER, ANIM_SUN_CONTINUES, NULL
+ end2
+
+BattleScript_82DACE0::
+ printstring STRINGID_SUNLIGHTFADED
+ waitmessage 0x40
+ end2
+
+BattleScript_82DACE7::
+ printfromtable 0x85CC91A
+ waitmessage 0x40
+ playanimation2 ATTACKER, sANIM_ARG1, NULL
+ end3
+
+BattleScript_82DACFA::
+ printstring STRINGID_PKMNSXWOREOFF
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAD01::
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAD0B::
+ pause 0x20
+ printstring STRINGID_PKMNSAFEGUARDEXPIRED
+ waitmessage 0x40
+ end2
+
+BattleScript_LeechSeedTurnDrain::
+ playanimation ATTACKER, ANIM_LEECH_SEED_DRAIN, sANIM_ARG1
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_82DAD47
+ manipulatedamage ATK80_DMG_CHANGE_SIGN
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ goto BattleScript_82DAD4D
+
+BattleScript_82DAD47::
+ setbyte cMULTISTRING_CHOOSER, 0x4
+BattleScript_82DAD4D::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printfromtable 0x85CC878
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
+ end2
+
+BattleScript_BideStoringEnergy::
+ printstring STRINGID_PKMNSTORINGENERGY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_BideAttack::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ clearstatusfromeffect ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyarray gBattleMoveDamage, sBIDE_DMG, 0x4
+ adjustsetdamage
+ setbyte sANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_BideNoEnergyToAttack::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ clearstatusfromeffect ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ goto BattleScript_ButItFailed
+
+BattleScript_82DADD8::
+ attackanimation
+ waitanimation
+ switchoutabilities TARGET
+ returntoball TARGET
+ waitstate
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DADF1
+ various ATTACKER, VARIOUS_SET_TELEPORT_OUTCOME
+ finishaction
+
+BattleScript_82DADF1::
+ getswitchedmondata TARGET
+ switchindataupdate TARGET
+ switchinanim TARGET, 0x0
+ waitstate
+ printstring STRINGID_PKMNWASDRAGGEDOUT
+ switchineffects TARGET
+ goto BattleScript_MoveEnd
+
+BattleScript_MistProtected::
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBYMIST
+ waitmessage 0x40
+ return
+
+BattleScript_RageIsBuilding::
+ printstring STRINGID_PKMNRAGEBUILDING
+ waitmessage 0x40
+ return
+
+BattleScript_MoveUsedIsDisabled::
+ printstring STRINGID_PKMNMOVEISDISABLED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DAE1F::
+ printselectionstring STRINGID_PKMNMOVEISDISABLED
+ endselectionscript
+
+BattleScript_DisabledNoMore::
+ printstring STRINGID_PKMNMOVEDISABLEDNOMORE
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAE2A::
+ printstring STRINGID_PKMNMOVEISDISABLED
+BattleScript_82DAE2D::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_EncoredNoMore::
+ printstring STRINGID_PKMNENCOREENDED
+ waitmessage 0x40
+ end2
+
+BattleScript_DestinyBondTakesLife::
+ printstring STRINGID_PKMNTOOKFOE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ return
+
+BattleScript_SpikesOnAttacker::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ call BattleScript_82DAEFE
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon ATTACKER, TRUE, BattleScript_82DAE7A
+ return
+
+BattleScript_82DAE7A::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp ATTACKER
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_SpikesOnTarget::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ call BattleScript_82DAEFE
+ tryfaintmon TARGET, FALSE, NULL
+ tryfaintmon TARGET, TRUE, BattleScript_82DAEB1
+ return
+
+BattleScript_82DAEB1::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_SpikesOngBank1::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate GBANK_1
+ datahpupdate GBANK_1
+ call BattleScript_82DAEFE
+ tryfaintmon GBANK_1, FALSE, NULL
+ tryfaintmon GBANK_1, TRUE, BattleScript_82DAEE8
+ return
+
+BattleScript_82DAEE8::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp GBANK_1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_82DAEFE::
+ printstring STRINGID_PKMNHURTBYSPIKES
+ waitmessage 0x40
+ return
+
+BattleScript_82DAF05::
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ end2
+
+BattleScript_82DAF20::
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ end2
+
+BattleScript_AllStatsUp::
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, SPEED, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_82DAFC2
+BattleScript_82DAF54::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x3E, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF72
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF72::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF86
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF86::
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF9A
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF9A::
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAFAE
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAFAE::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAFC2
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAFC2::
+ return
+
+BattleScript_RapidSpinAway::
+ rapidspinfree
+ return
+
+BattleScript_WrapFree::
+ printstring STRINGID_PKMNGOTFREE
+ waitmessage 0x40
+ copyarray gBankTarget, sBANK, 0x1
+ return
+
+BattleScript_LeechSeedFree::
+ printstring STRINGID_PKMNSHEDLEECHSEED
+ waitmessage 0x40
+ return
+
+BattleScript_SpikesFree::
+ printstring STRINGID_PKMNBLEWAWAYSPIKES
+ waitmessage 0x40
+ return
+
+BattleScript_82DAFE4::
+ printstring STRINGID_PKMNTOOKATTACK
+ waitmessage 0x40
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB001
+ accuracycheck BattleScript_82DB058, MOVE_FUTURE_SIGHT
+ goto BattleScript_82DB008
+
+BattleScript_82DB001::
+ accuracycheck BattleScript_82DB058, MOVE_DOOM_DESIRE
+BattleScript_82DB008::
+ adjustnormaldamage2
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB020
+ playanimation ATTACKER, ANIM_FUTURE_SIGHT_HIT, NULL
+ goto BattleScript_82DB027
+
+BattleScript_82DB020::
+ playanimation ATTACKER, ANIM_x13, NULL
+BattleScript_82DB027::
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ atk24 BattleScript_82DB03F
+BattleScript_82DB03F::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xB
+ moveend 0x2, 0xE
+ setbyte gBattleMoveFlags, 0
+ end2
+
+BattleScript_82DB058::
+ pause 0x20
+ setbyte gBattleMoveFlags, 0
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ resultmessage
+ waitmessage 0x40
+ setbyte gBattleMoveFlags, 0
+ end2
+
+BattleScript_NoMovesLeft::
+ printselectionstring STRINGID_PKMNHASNOMOVESLEFT
+ endselectionscript
+
+BattleScript_82DB076::
+ printselectionstring STRINGID_NOPPLEFT
+ endselectionscript
+
+BattleScript_NoPPForMove::
+ attackstring
+ pause 0x20
+ printstring STRINGID_BUTNOPPLEFT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB089::
+ printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT
+ endselectionscript
+
+BattleScript_82DB08D::
+ printstring STRINGID_PKMNCANTUSEMOVETORMENT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB098::
+ printstring STRINGID_PKMNCANTUSEMOVETORMENT
+ goto BattleScript_82DAE2D
+
+BattleScript_82DB0A0::
+ printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT
+ endselectionscript
+
+BattleScript_MoveUsedIsTaunted::
+ printstring STRINGID_PKMNCANTUSEMOVETAUNT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB0AF::
+ printstring STRINGID_PKMNCANTUSEMOVETAUNT
+ goto BattleScript_82DAE2D
+
+BattleScript_WishComesTrue::
+ trywish 0x1, BattleScript_82DB0DE
+ playanimation TARGET, ANIM_WISH_HEAL, NULL
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ end2
+
+BattleScript_82DB0DE::
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ end2
+
+BattleScript_IngrainTurnHeal::
+ playanimation ATTACKER, ANIM_INGRAIN_HEAL, NULL
+ printstring STRINGID_PKMNABSORBEDNUTRIENTS
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ end2
+
+BattleScript_82DB109::
+ pause 0x20
+ printstring STRINGID_PKMNANCHOREDITSELF
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AtkDefDown::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x6, 0xD
+ playstatchangeanimation ATTACKER, 0x2, 0x9
+ setstatchanger ATK, 1, TRUE
+ statbuffchange 0xC1, BattleScript_82DB144
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB144::
+ playstatchangeanimation ATTACKER, 0x4, 0x9
+ setstatchanger DEF, 1, TRUE
+ statbuffchange 0xC1, BattleScript_82DB167
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB167::
+ return
+
+BattleScript_KnockedOff::
+ playanimation TARGET, ANIM_ITEM_KNOCKOFF, NULL
+ printstring STRINGID_PKMNKNOCKEDOFF
+ waitmessage 0x40
+ return
+
+BattleScript_MoveUsedIsImprisoned::
+ printstring STRINGID_PKMNCANTUSEMOVESEALED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB181::
+ printselectionstring STRINGID_PKMNCANTUSEMOVESEALED
+ endselectionscript
+
+BattleScript_82DB185::
+ printstring STRINGID_PKMNCANTUSEMOVESEALED
+ goto BattleScript_82DAE2D
+
+BattleScript_GrudgeTakesPp::
+ printstring STRINGID_PKMNLOSTPPGRUDGE
+ waitmessage 0x40
+ return
+
+BattleScript_MagicCoatBounce::
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNMOVEBOUNCED
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ various ATTACKER, VARIOUS_SET_MAGIC_COAT_TARGET
+ return
+
+BattleScript_SnatchedMove::
+ attackstring
+ ppreduce
+ snatchsetbanks
+ playanimation TARGET, ANIM_SNATCH_MOVE, NULL
+ printstring STRINGID_PKMNSNATCHEDMOVE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ atk5F
+ return
+
+BattleScript_EnduredMsg::
+ printstring STRINGID_PKMNENDUREDHIT
+ waitmessage 0x40
+ return
+
+BattleScript_OneHitKOMsg::
+ printstring STRINGID_ONEHITKO
+ waitmessage 0x40
+ return
+
+BattleScript_SAtkDown2::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x10, 0xB
+ setstatchanger SPATK, 2, TRUE
+ statbuffchange 0xC1, BattleScript_82DB1FE
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB1FE
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB1FE::
+ return
+
+BattleScript_FocusPunchSetUp::
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ playanimation ATTACKER, ANIM_x14, NULL
+ printstring STRINGID_PKMNTIGHTENINGFOCUS
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsAsleep::
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedWokeUp::
+ bicword gHitMarker, HITMARKER_x10
+ printfromtable 0x85CC88E
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ return
+
+BattleScript_82DB234::
+ printstring STRINGID_PKMNWOKEUPINUPROAR
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ end2
+
+BattleScript_PoisonTurnDmg::
+ printstring STRINGID_PKMNHURTBYPOISON
+ waitmessage 0x40
+BattleScript_82DB243::
+ statusanimation ATTACKER
+BattleScript_82DB245::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ atk24 BattleScript_82DB25E
+BattleScript_82DB25E::
+ end2
+
+BattleScript_BurnTurnDmg::
+ printstring STRINGID_PKMNHURTBYBURN
+ waitmessage 0x40
+ goto BattleScript_82DB243
+
+BattleScript_MoveUsedIsFrozen::
+ printstring STRINGID_PKMNISFROZEN
+ waitmessage 0x40
+ statusanimation ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedUnfroze::
+ printfromtable 0x85CC8F0
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ return
+
+BattleScript_DefrostedViaFireMove::
+ printstring STRINGID_PKMNWASDEFROSTED
+ waitmessage 0x40
+ updatestatusicon TARGET
+ return
+
+BattleScript_MoveUsedIsParalyzed::
+ printstring STRINGID_PKMNISPARALYZED
+ waitmessage 0x40
+ statusanimation ATTACKER
+ various ATTACKER, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedFlinched::
+ printstring STRINGID_PKMNFLINCHED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB2A6::
+ printfromtable 0x85CC886
+ waitmessage 0x40
+ end2
+
+BattleScript_ThrashConfuses::
+ chosenstatus2animation ATTACKER, STATUS2_CONFUSION
+ printstring STRINGID_PKMNFATIGUECONFUSION
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsConfused::
+ printstring STRINGID_PKMNISCONFUSED
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_CONFUSION
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB2FF
+BattleScript_82DB2D4::
+ various ATTACKER, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ adjustnormaldamage2
+ printstring STRINGID_ITHURTCONFUSION
+ waitmessage 0x40
+ effectivenesssound
+ hitanimation ATTACKER
+ waitstate
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB2FF::
+ return
+
+BattleScript_MoveUsedIsConfusedNoMore::
+ printstring STRINGID_PKMNHEALEDCONFUSION
+ waitmessage 0x40
+ return
+
+BattleScript_PrintPayDayMoneyString::
+ printstring STRINGID_PKMNPICKEDUPITEM
+ waitmessage 0x40
+ return
+
+BattleScript_WrapTurnDmg::
+ playanimation ATTACKER, ANIM_TURN_TRAP, sANIM_ARG1
+ printstring STRINGID_PKMNHURTBY
+ waitmessage 0x40
+ goto BattleScript_82DB245
+
+BattleScript_WrapEnds::
+ printstring STRINGID_PKMNFREEDFROM
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsInLove::
+ printstring STRINGID_PKMNINLOVE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_INFATUATION
+ return
+
+BattleScript_MoveUsedIsParalyzedCantAttack::
+ printstring STRINGID_PKMNIMMOBILIZEDBYLOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_NightmareTurnDmg::
+ printstring STRINGID_PKMNLOCKEDINNIGHTMARE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_NIGHTMARE
+ goto BattleScript_82DB245
+
+BattleScript_CurseTurnDmg::
+ printstring STRINGID_PKMNAFFLICTEDBYCURSE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_CURSED
+ goto BattleScript_82DB245
+
+BattleScript_TargetPRLZHeal::
+ printstring STRINGID_PKMNHEALEDPARALYSIS
+ waitmessage 0x40
+ updatestatusicon TARGET
+ return
+
+BattleScript_MoveEffectSleep::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E4
+ waitmessage 0x40
+BattleScript_82DB374::
+ updatestatusicon EFFECT_BANK
+ waitstate
+ return
+
+BattleScript_YawnMakesAsleep::
+ statusanimation EFFECT_BANK
+ printstring STRINGID_PKMNFELLASLEEP
+ waitmessage 0x40
+ updatestatusicon EFFECT_BANK
+ waitstate
+ makevisible EFFECT_BANK
+ end2
+
+BattleScript_MoveEffectPoison::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8DC
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectBurn::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E8
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectFreeze::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8EC
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectParalysis::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E0
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectUproar::
+ printstring STRINGID_PKMNCAUSEDUPROAR
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectToxic::
+ statusanimation EFFECT_BANK
+ printstring STRINGID_PKMNBADLYPOISONED
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectPayDay::
+ printstring STRINGID_COINSSCATTERED
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectWrap::
+ printfromtable 0x85CC8C0
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectConfusion::
+ chosenstatus2animation EFFECT_BANK, STATUS2_CONFUSION
+ printstring STRINGID_PKMNWASCONFUSED
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectRecoil33::
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_82DB407
+ jumpifability ATTACKER, ABILITY_ROCK_HEAD, BattleScript_82DB421
+BattleScript_82DB407::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNHITWITHRECOIL
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+BattleScript_82DB421::
+ return
+
+BattleScript_ItemSteal::
+ playanimation TARGET, ANIM_ITEM_STEAL, NULL
+ printstring STRINGID_PKMNSTOLEITEM
+ waitmessage 0x40
+ return
+
+BattleScript_DrizzleActivates::
+ pause 0x20
+ printstring STRINGID_PKMNMADEITRAIN
+ waitstate
+ playanimation BANK0, ANIM_RAIN_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_SpeedBoostActivates::
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+ printstring STRINGID_PKMNRAISEDSPEED
+ waitmessage 0x40
+ end3
+
+BattleScript_TraceActivates::
+ pause 0x20
+ printstring STRINGID_PKMNTRACED
+ waitmessage 0x40
+ end3
+
+BattleScript_RainDishActivates::
+ printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ end3
+
+BattleScript_SandstreamActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM
+ waitstate
+ playanimation BANK0, ANIM_SANDSTORM_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_ShedSkinActivates::
+ printstring STRINGID_PKMNSXCUREDYPROBLEM
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ end3
+
+BattleScript_82DB48D::
+ setbyte sBANK, 0x0
+BattleScript_82DB493::
+ trycastformdatachange
+ addbyte sBANK, 0x1
+ jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_82DB493
+ return
+
+BattleScript_CastformChange::
+ call BattleScript_82DB4AF
+ end3
+
+BattleScript_82DB4AF::
+ docastformchangeanimation
+ waitstate
+ printstring STRINGID_PKMNTRANSFORMED
+ waitmessage 0x40
+ return
+
+BattleScript_82DB4B8::
+ call BattleScript_82DB4BE
+ end3
+
+BattleScript_82DB4BE::
+ pause 0x20
+BattleScript_82DB4C1::
+ setbyte gBankTarget, 0x0
+ setstatchanger ATK, 1, TRUE
+BattleScript_82DB4CD::
+ trygetintimidatetarget BattleScript_82DB51B
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DB510
+ jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_82DB51C
+ jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_82DB51C
+ jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_82DB51C
+ statbuffchange 0x21, BattleScript_82DB510
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DB510
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printstring STRINGID_PKMNCUTSATTACKWITH
+ waitmessage 0x40
+BattleScript_82DB510::
+ addbyte gBankTarget, 0x1
+ goto BattleScript_82DB4CD
+BattleScript_82DB51B::
+ return
+
+BattleScript_82DB51C::
+ pause 0x20
+ printstring STRINGID_PREVENTEDFROMWORKING
+ waitmessage 0x40
+ goto BattleScript_82DB510
+
+BattleScript_DroughtActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXINTENSIFIEDSUN
+ waitstate
+ playanimation BANK0, ANIM_SUN_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_TookAttack::
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXTOOKATTACK
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
+ return
+
+BattleScript_SturdyPreventsOHKO::
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBY
+ pause 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_DampStopsExplosion::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSUSAGE
+ pause 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveHPDrain_PPLoss::
+ ppreduce
+BattleScript_MoveHPDrain::
+ attackstring
+ pause 0x20
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNRESTOREDHPUSING
+ waitmessage 0x40
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB591::
+ ppreduce
+BattleScript_82DB592::
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYUSELESS
+ waitmessage 0x40
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
+
+BattleScript_FlashFireBoost_PPLoss::
+ ppreduce
+BattleScript_FlashFireBoost::
+ attackstring
+ pause 0x20
+ printfromtable 0x85CC976
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB5B9::
+ pause 0x20
+ printstring STRINGID_PKMNANCHORSITSELFWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AbilityNoStatLoss::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSSTATLOSSWITH
+ waitmessage 0x40
+ return
+
+BattleScript_BRNPrevention::
+ pause 0x20
+ printfromtable 0x85CC95E
+ waitmessage 0x40
+ return
+
+BattleScript_PRLZPrevention::
+ pause 0x20
+ printfromtable 0x85CC964
+ waitmessage 0x40
+ return
+
+BattleScript_PSNPrevention::
+ pause 0x20
+ printfromtable 0x85CC96A
+ waitmessage 0x40
+ return
+
+BattleScript_ObliviousPreventsAttraction::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSROMANCEWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_FlinchPrevention::
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSFLINCHING
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB611::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_SoundproofProtected::
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AbilityNoSpecificStatLoss::
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSYLOSS
+ waitmessage 0x40
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ return
+
+BattleScript_StickyHoldActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYINEFFECTIVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_ColorChangeActivates::
+ printstring STRINGID_PKMNCHANGEDTYPEWITH
+ waitmessage 0x40
+ return
+
+BattleScript_RoughSkinActivates::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNHURTSWITH
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ return
+
+BattleScript_CuteCharmActivates::
+ status2animation ATTACKER, STATUS2_INFATUATION
+ printstring STRINGID_PKMNSXINFATUATEDY
+ waitmessage 0x40
+ return
+
+BattleScript_ApplySecondaryEffect::
+ waitstate
+ seteffectsecondary
+ return
+
+BattleScript_SynchronizeActivates::
+ waitstate
+ seteffectprimary
+ return
+
+BattleScript_NoItemSteal::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYINEFFECTIVE
+ waitmessage 0x40
+ return
+
+BattleScript_82DB68C::
+ printstring STRINGID_PKMNSXCUREDITSYPROBLEM
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ return
+
+BattleScript_82DB695::
+ printstring STRINGID_PKMNIGNORESASLEEP
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6A5::
+ printstring STRINGID_PKMNIGNOREDORDERS
+ waitmessage 0x40
+ jumptorandomattack 0x0
+
+BattleScript_MoveUsedLoafingAround::
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7
+ setbyte gBattleCommunication, 0x0
+ various ATTACKER, 0x18
+ setbyte cMULTISTRING_CHOOSER, 0x4
+BattleScript_82DB6C7::
+ printfromtable 0x85CC93A
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6D9::
+ printstring STRINGID_PKMNBEGANTONAP
+ waitmessage 0x40
+ setmoveeffect EFFECT_SLEEP | AFFECTS_USER
+ seteffectprimary
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6F0::
+ printstring STRINGID_PKMNWONTOBEY
+ waitmessage 0x40
+ goto BattleScript_82DB2D4
+
+BattleScript_SubstituteFade::
+ playanimation TARGET, ANIM_SUBSTITUTE_FADE, NULL
+ printstring STRINGID_PKMNSUBSTITUTEFADED
+ return
+
+BattleScript_BerryCurePrlzEnd2::
+ call BattleScript_BerryCureParRet
+ end2
+
+BattleScript_BerryCureParRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPARALYSIS
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCurePsnEnd2::
+ call BattleScript_BerryCurePsnRet
+ end2
+
+BattleScript_BerryCurePsnRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPOISON
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureBrnEnd2::
+ call BattleScript_BerryCureBrnRet
+ end2
+
+BattleScript_BerryCureBrnRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMHEALEDBURN
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureFrzEnd2::
+ call BattleScript_BerryCureFrzRet
+ end2
+
+BattleScript_BerryCureFrzRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMDEFROSTEDIT
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureSlpEnd2::
+ call BattleScript_BerryCureSlpRet
+ end2
+
+BattleScript_BerryCureSlpRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMWOKEIT
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureConfusionEnd2::
+ call BattleScript_BerryCureConfusionRet
+ end2
+
+BattleScript_BerryCureConfusionRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMSNAPPEDOUT
+ waitmessage 0x40
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureChosenStatusEnd2::
+ call BattleScript_BerryCureChosenStatusRet
+ end2
+
+BattleScript_BerryCureChosenStatusRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printfromtable 0x85CC95A
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_WhiteHerbEnd2::
+ call BattleScript_WhiteHerbRet
+ end2
+
+BattleScript_WhiteHerbRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDSTATUS
+ waitmessage 0x40
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_ItemHealHP_RemoveItem::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryPPHealEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDPP
+ waitmessage 0x40
+ removeitem ATTACKER
+ end2
+
+BattleScript_ItemHealHP_End2::
+ call BattleScript_ItemHealHP_Ret
+ end2
+
+BattleScript_ItemHealHP_Ret::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ return
+
+BattleScript_82DB812::
+ printselectionstring STRINGID_ITEMALLOWSONLYYMOVE
+ endselectionscript
+
+BattleScript_HangedOnMsg::
+ playanimation TARGET, ANIM_HANGED_ON, NULL
+ printstring STRINGID_PKMNHUNGONWITHX
+ waitmessage 0x40
+ return
+
+BattleScript_BerryConfuseHealEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_FORXCOMMAYZ
+ waitmessage 0x40
+ setmoveeffect EFFECT_CONFUSION | AFFECTS_USER
+ seteffectprimary
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryStatRaiseEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ statbuffchange 0x41, BattleScript_82DB85B
+BattleScript_82DB85B::
+ setbyte cMULTISTRING_CHOOSER, 0x4
+ call BattleScript_StatUp
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryFocusEnergyEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNUSEDXTOGETPUMPED
+ waitmessage 0x40
+ removeitem ATTACKER
+ end2
+
+BattleScript_ActionSelectionItemsCantBeUsed::
+ printselectionstring STRINGID_ITEMSCANTBEUSEDNOW
+ endselectionscript
+
+BattleScript_82DB87D::
+ printstring STRINGID_EMPTYSTRING3
+ return
+
+BattleScript_82DB881::
+ setbyte gBattleCommunication + 1, 0x0
+BattleScript_82DB887::
+ various ATTACKER, 0x8
+ jumpifbyte NOT_EQUAL, gBattleCommunication, 0x1, BattleScript_82DB89D
+ printfromtable 0x85CCF0A
+ waitmessage 0x40
+BattleScript_82DB89D::
+ addbyte gBattleCommunication + 1, 0x1
+ jumpifarraynotequal gBattleCommunication + 1, gNoOfAllBanks, 0x1, BattleScript_82DB887
+ setbyte gBattleCommunication, 0x0
+ setbyte gBattleCommunication + 1, 0x0
+ end2
+
+BattleScript_82DB8BE::
+ various ATTACKER, VARIOUS_WAIT_CRY
+ various ATTACKER, 0x15
+ playse 0x109
+ pause 0x8
+ playse 0x109
+ various ATTACKER, 0xE
+ various 8, 0x10
+ various 8, 0x11
+ pause 0x40
+ various ATTACKER, 0xF
+ various ATTACKER, 0x16
+ end2
+
+BattleScript_82DB8E0::
+ playse SE_PINPON
+ various ATTACKER, 0xE
+ various TARGET, 0x10
+ various TARGET, 0x11
+ pause 0x40
+ various ATTACKER, 0xF
+ end2
+
+BattleScript_82DB8F3::
+ makevisible 11
+ waitstate
+ makevisible OPPONENT1
+ waitstate
+ various ATTACKER, 0x15
+ playse 0x109
+ pause 0x8
+ playse 0x109
+ pause 0x40
+ various ATTACKER, 0xE
+ various ATTACKER, 0x10
+ various ATTACKER, 0x11
+ pause 0x40
+ setbyte gBattleCommunication, 0x0
+ various ATTACKER, 0x9
+ pause 0x40
+ various ATTACKER, 0x9
+ various EFFECT_BANK, 0x10
+ various EFFECT_BANK, 0x11
+ various ATTACKER, 0x9
+ various GBANK_1, 0x10
+ various GBANK_1, 0x11
+ various ATTACKER, 0x9
+ various 4, 0x10
+ various 4, 0x11
+ various ATTACKER, 0x9
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x3, BattleScript_82DB973
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x4, BattleScript_82DB992
+ various 5, 0x10
+ various 5, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_DEFEATEDOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry OPPONENT1
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation OPPONENT1
+ cleareffectsonfaint OPPONENT1
+ various ATTACKER, 0xA
+ end2
+
+BattleScript_82DB973::
+ various 6, 0x10
+ various 6, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_LOSTTOOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry 11
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation 11
+ cleareffectsonfaint 11
+ various ATTACKER, 0xB
+ end2
+
+BattleScript_82DB992::
+ various BANK0, 0x10
+ various BANK0, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_TIEDOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry 11
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation 11
+ cleareffectsonfaint 11
+ playfaintcry OPPONENT1
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation OPPONENT1
+ cleareffectsonfaint OPPONENT1
+ various ATTACKER, 0xC
+ end2
+
+BattleScript_82DB9BA::
+ printselectionstring STRINGID_QUESTIONFORFEITMATCH
+ various ATTACKER, VARIOUS_EMIT_YESNOBOX
+ endselectionscript
+
+BattleScript_82DB9C1::
+ printstring STRINGID_FORFEITEDMATCH
+ waitmessage 0x40
+ end2
+
+BattleScript_82DB9C8::
+ printstring STRINGID_FORFEITEDMATCH
+ waitmessage 0x40
+ atk57
+ waitmessage 0x40
+ end2
diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s
index 4a4dc4665..6f6ea084b 100644
--- a/data/battle_scripts_2.s
+++ b/data/battle_scripts_2.s
@@ -1,32 +1,36 @@
.include "asm/macros.inc"
+ .include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
+ .include "constants/battle_constants.inc"
+ .include "constants/battle_script_constants.inc"
+ .include "constants/battle_text.inc"
.section script_data, "aw", %progbits
.align 2
gBattlescriptsForBallThrow:: @ 82DBD08
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD7E
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD7E
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
.align 2
gUnknown_082DBD3C:: @ 82DBD3C
- .4byte gUnknown_082DBE12
- .4byte gUnknown_082DBE1C
- .4byte gUnknown_082DBE1C
- .4byte gUnknown_082DBE4B
- .4byte gUnknown_082DBE6F
- .4byte gUnknown_082DBE91
+ .4byte BattleScript_82DBE12
+ .4byte BattleScript_82DBE1C
+ .4byte BattleScript_82DBE1C
+ .4byte BattleScript_82DBE4B
+ .4byte BattleScript_82DBE6F
+ .4byte BattleScript_82DBE91
.align 2
gBattlescriptsForRunningByItem:: @ 82DBD54
@@ -34,55 +38,167 @@ gBattlescriptsForRunningByItem:: @ 82DBD54
.align 2
gBattlescriptsForSafariActions:: @ 82DBD58
- .4byte gUnknown_082DBEBD
- .4byte gUnknown_082DBEC4
- .4byte gUnknown_082DBECD
- .4byte gUnknown_082DBEE3
-
-gUnknown_082DBD68:: @ 82DBD68
- .incbin "baserom.gba", 0x2dbd68, 0x16
-
-gUnknown_082DBD7E:: @ 82DBD7E
- .incbin "baserom.gba", 0x2dbd7e, 0x6
-
-BattleScript_SuccessBallThrow:: @ 82DBD84
- .incbin "baserom.gba", 0x2dbd84, 0x46
-
-BattleScript_WallyBallThrow:: @ 82DBDCA
- .incbin "baserom.gba", 0x2dbdca, 0xa
-
-BattleScript_ShakeBallThrow:: @ 82DBDD4
- .incbin "baserom.gba", 0x2dbdd4, 0x2e
-
-BattleScript_TrainerBallBlock:: @ 82DBE02
- .incbin "baserom.gba", 0x2dbe02, 0x10
-
-gUnknown_082DBE12:: @ 82DBE12
- .incbin "baserom.gba", 0x2dbe12, 0xa
-
-gUnknown_082DBE1C:: @ 82DBE1C
- .incbin "baserom.gba", 0x2dbe1c, 0x2f
-
-gUnknown_082DBE4B:: @ 82DBE4B
- .incbin "baserom.gba", 0x2dbe4b, 0x24
-
-gUnknown_082DBE6F:: @ 82DBE6F
- .incbin "baserom.gba", 0x2dbe6f, 0x22
-
-gUnknown_082DBE91:: @ 82DBE91
- .incbin "baserom.gba", 0x2dbe91, 0x22
-
-BattleScript_RunByUsingItem:: @ 82DBEB3
- .incbin "baserom.gba", 0x2dbeb3, 0xA
-
-gUnknown_082DBEBD:: @ 82DBEBD
- .incbin "baserom.gba", 0x2dbebd, 0x7
-
-gUnknown_082DBEC4:: @ 82DBEC4
- .incbin "baserom.gba", 0x2dbec4, 0x9
-
-gUnknown_082DBECD:: @ 82DBECD
- .incbin "baserom.gba", 0x2dbecd, 0x16
-
-gUnknown_082DBEE3:: @ 82DBEE3
- .incbin "baserom.gba", 0x2dbee3, 0x15
+ .4byte BattleScript_82DBEBD
+ .4byte BattleScript_82DBEC4
+ .4byte BattleScript_82DBECD
+ .4byte BattleScript_82DBEE3
+
+BattleScript_82DBD68::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_82DBD7A
+ printstring STRINGID_PLAYERUSEDITEM
+ pokeball_catch_calculation
+
+BattleScript_82DBD7A::
+ printstring STRINGID_WALLYUSEDITEM
+ pokeball_catch_calculation
+
+BattleScript_82DBD7E::
+ printstring STRINGID_PLAYERUSEDITEM
+ updatestatusicon ATTACKER
+ pokeball_catch_calculation
+
+BattleScript_SuccessBallThrow::
+ jumpifhalfword EQUAL, gLastUsedItem, 0x5, BattleScript_82DBD92
+ incrementgamestat 0xB
+BattleScript_82DBD92::
+ printstring STRINGID_GOTCHAPKMNCAUGHT
+ trysetcaughtmondexflags BattleScript_82DBDA5
+ printstring STRINGID_PKMNDATAADDEDTODEX
+ waitstate
+ setbyte gBattleCommunication, 0x0
+ displaydexinfo
+BattleScript_82DBDA5::
+ printstring STRINGID_GIVENICKNAMECAPTURED
+ waitstate
+ setbyte gBattleCommunication, 0x0
+ trygivecaughtmonnick BattleScript_82DBDC2
+ givecaughtmon
+ printfromtable 0x85CC97A
+ waitmessage 0x40
+ goto BattleScript_82DBDC3
+
+BattleScript_82DBDC2::
+ givecaughtmon
+BattleScript_82DBDC3::
+ setbyte gBattleOutcome, CAUGHT
+ finishturn
+
+BattleScript_WallyBallThrow::
+ printstring STRINGID_GOTCHAPKMNCAUGHT2
+ setbyte gBattleOutcome, CAUGHT
+ finishturn
+
+BattleScript_ShakeBallThrow::
+ printfromtable 0x85CC912
+ waitmessage 0x40
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_82DBE01
+ jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_82DBE01
+ printstring STRINGID_OUTOFSAFARIBALLS
+ waitmessage 0x40
+ setbyte gBattleOutcome, OUT_OF_BALLS
+BattleScript_82DBE01::
+ finishaction
+
+BattleScript_TrainerBallBlock::
+ waitmessage 0x40
+ printstring STRINGID_TRAINERBLOCKEDBALL
+ waitmessage 0x40
+ printstring STRINGID_DONTBEATHIEF
+ waitmessage 0x40
+ finishaction
+
+BattleScript_82DBE12::
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ end
+
+BattleScript_82DBE1C::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE4B::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC94E
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE6F::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE91::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC8CC
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_RunByUsingItem::
+ playse 0x11
+ setbyte gBattleOutcome, RAN
+ finishturn
+
+BattleScript_82DBEBD::
+ printstring STRINGID_PKMNWATCHINGCAREFULLY
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBEC4::
+ printfromtable 0x85CC944
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBECD::
+ printstring STRINGID_THREWPOKEBLOCKATPKMN
+ waitmessage 0x40
+ playanimation ATTACKER, ANIM_x4, NULL
+ printfromtable 0x85CC948
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBEE3::
+ printstring STRINGID_RETURNMON
+ waitmessage 0x40
+ returnatktoball
+ waitstate
+ trainerslidein TARGET
+ waitstate
+ printstring STRINGID_YOUTHROWABALLNOWRIGHT
+ waitmessage 0x40
+ end2