summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/macros/battle_script.inc3
-rw-r--r--baserom.ipsbin442990 -> 430442 bytes
-rw-r--r--data/battle_message.s309
-rw-r--r--data/battle_scripts_1.s4384
-rw-r--r--include/battle_string_ids.h47
-rw-r--r--include/constants/battle_script_commands.h2
6 files changed, 4490 insertions, 255 deletions
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index c1c76807f..fea575042 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -515,8 +515,9 @@
.byte \bank
.endm
- .macro atk5d
+ .macro atk5d addr
.byte 0x5d
+ .4byte \addr
.endm
.macro atk5e bank
diff --git a/baserom.ips b/baserom.ips
index c0a516b06..ad0030b85 100644
--- a/baserom.ips
+++ b/baserom.ips
Binary files differ
diff --git a/data/battle_message.s b/data/battle_message.s
index b60eee4f0..332c3a636 100644
--- a/data/battle_message.s
+++ b/data/battle_message.s
@@ -1,5 +1,6 @@
#include "constants/moves.h"
#include "constants/battle.h"
+#include "battle_string_ids.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
@@ -159,7 +160,7 @@ gUnknown_83FB534:: @ 83FB534
.string "{B_ATK_NAME_WITH_PREFIX} can't escape!$"
gUnknown_83FB545:: @ 83FB545
- .string "Hit {B_BUFF1} timeシsス!$"
+ .string "Hit {B_BUFF1} time(s)!$"
gUnknown_83FB555:: @ 83FB555
.string "{B_EFF_NAME_WITH_PREFIX}\n"
@@ -2173,48 +2174,270 @@ gUnknown_83FDF3C:: @ 83FDF3C
.4byte gUnknown_83FB248
gMissStringIds:: @ 83FE514
- .2byte 0x0017, 0x0018, 0x0159, 0x001a
- .2byte 0x014c, 0x00e2, 0x00e3, 0x0021
- .2byte 0x0112, 0x0165, 0x00e8, 0x00e9
- .2byte 0x00e5, 0x00ed, 0x00f0, 0x00f3
- .2byte 0x00ee, 0x00f4, 0x0066, 0x0067
- .2byte 0x00ef, 0x00f5, 0x00ea, 0x00eb
- .2byte 0x00ec, 0x0065, 0x0098, 0x00e5
- .2byte 0x00e5, 0x004e, 0x0160, 0x004d
- .2byte 0x0161, 0x004f, 0x0068, 0x0069
- .2byte 0x001b, 0x006a, 0x0139, 0x0052
- .2byte 0x0053, 0x0070, 0x0071, 0x0073
- .2byte 0x0074, 0x006c, 0x006e, 0x00f7
- .2byte 0x004c, 0x0075, 0x0076, 0x0077
- .2byte 0x00d5, 0x00d6, 0x003d, 0x0130
- .2byte 0x0145, 0x0146, 0x00d7, 0x00d8
- .2byte 0x003e, 0x0130, 0x0054, 0x0055
- .2byte 0x0056, 0x0057, 0x0058, 0x0059
- .2byte 0x013d, 0x013e, 0x005a, 0x005c
- .2byte 0x005b, 0x005d, 0x005b, 0x0148
- .2byte 0x0061, 0x00e5, 0x0063, 0x00e5
- .2byte 0x007d, 0x00e5, 0x007e, 0x00fb
- .2byte 0x0028, 0x0029, 0x0037, 0x0038
- .2byte 0x0023, 0x0024, 0x002e, 0x002f
- .2byte 0x0031, 0x0032, 0x0035, 0x0036
- .2byte 0x0017, 0x007c, 0x0045, 0x0136
- .2byte 0x002d, 0x0139, 0x013b, 0x013c
- .2byte 0x00fd, 0x00fd, 0x00fd, 0x00fd
- .2byte 0x0142, 0x00a1, 0x014f, 0x0107
- .2byte 0x0108, 0x0109, 0x010a, 0x0110
- .2byte 0x0110, 0x0110, 0x0110, 0x0110
- .2byte 0x0110, 0x0110, 0x0110, 0x0111
- .2byte 0x0110, 0x0110, 0x0110, 0x00f1
- .2byte 0x0110, 0x0110, 0x0110, 0x0116
- .2byte 0x0117, 0x0118, 0x0119, 0x011d
- .2byte 0x011e, 0x011f, 0x0128, 0x0123
- .2byte 0x0126, 0x0125, 0x0124, 0x0127
- .2byte 0x0129, 0x0156, 0x0131, 0x0163
- .2byte 0x016a, 0x00c7, 0x0163, 0x016a
- .2byte 0x00c9, 0x0163, 0x016a, 0x0166
- .2byte 0x0167, 0x0168, 0x00cb, 0x0137
- .2byte 0x016f, 0x0170, 0x0171, 0x0172
- .2byte 0x017e, 0x017e, 0x0180, 0x0181
+ .2byte STRINGID_ATTACKMISSED
+ .2byte STRINGID_PKMNPROTECTEDITSELF
+ .2byte STRINGID_PKMNAVOIDEDATTACK
+ .2byte STRINGID_AVOIDEDDAMAGE
+ .2byte STRINGID_PKMNMAKESGROUNDMISS
+
+gNoEscapeStringIds::
+ .2byte STRINGID_CANTESCAPE
+ .2byte STRINGID_DONTLEAVEBIRCH
+ .2byte STRINGID_PREVENTSESCAPE
+ .2byte STRINGID_CANTESCAPE2
+ .2byte STRINGID_ATTACKERCANTESCAPE
+
+gMoveWeatherChangeStringIds::
+ .2byte STRINGID_STARTEDTORAIN
+ .2byte STRINGID_DOWNPOURSTARTED
+ .2byte STRINGID_BUTITFAILED
+ .2byte STRINGID_SANDSTORMBREWED
+ .2byte STRINGID_SUNLIGHTGOTBRIGHT
+ .2byte STRINGID_STARTEDHAIL
+
+gSandStormHailContinuesStringIds::
+ .2byte STRINGID_SANDSTORMRAGES
+ .2byte STRINGID_HAILCONTINUES
+
+gSandStormHailDmgStringIds::
+ .2byte STRINGID_PKMNBUFFETEDBYSANDSTORM
+ .2byte STRINGID_PKMNPELTEDBYHAIL
+
+gSandStormHailEndStringIds::
+ .2byte STRINGID_SANDSTORMSUBSIDED
+ .2byte STRINGID_HAILSTOPPED
+
+gRainContinuesStringIds::
+ .2byte STRINGID_RAINCONTINUES
+ .2byte STRINGID_DOWNPOURCONTINUES
+ .2byte STRINGID_RAINSTOPPED
+
+gProtectLikeUsedStringIds::
+ .2byte STRINGID_PKMNPROTECTEDITSELF2
+ .2byte STRINGID_PKMNBRACEDITSELF
+ .2byte STRINGID_BUTITFAILED
+
+gReflectLightScreenSafeguardStringIds::
+ .2byte STRINGID_BUTITFAILED
+ .2byte STRINGID_PKMNRAISEDDEF
+ .2byte STRINGID_PKMNRAISEDDEFALITTLE
+ .2byte STRINGID_PKMNRAISEDSPDEF
+ .2byte STRINGID_PKMNRAISEDSPDEFALITTLE
+ .2byte STRINGID_PKMNCOVEREDBYVEIL
+
+gLeechSeedStringIds::
+ .2byte STRINGID_PKMNSEEDED
+ .2byte STRINGID_PKMNEVADEDATTACK
+ .2byte STRINGID_ITDOESNTAFFECT
+ .2byte STRINGID_PKMNSAPPEDBYLEECHSEED
+ .2byte STRINGID_ITSUCKEDLIQUIDOOZE
+
+gRestUsedStringIds::
+ .2byte STRINGID_PKMNWENTTOSLEEP
+ .2byte STRINGID_PKMNSLEPTHEALTHY
+
+gUproarOverTurnStringIds::
+ .2byte STRINGID_PKMNMAKINGUPROAR
+ .2byte STRINGID_PKMNCALMEDDOWN
+
+gStockpileUsedStringIds::
+ .2byte STRINGID_PKMNSTOCKPILED
+ .2byte STRINGID_PKMNCANTSTOCKPILE
+
+gWokeUpStringIds::
+ .2byte STRINGID_PKMNWOKEUP
+ .2byte STRINGID_PKMNWOKEUPINUPROAR
+
+gSwallowFailStringIds::
+ .2byte STRINGID_FAILEDTOSWALLOW
+ .2byte STRINGID_PKMNHPFULL
+
+gUproarAwakeStringIds::
+ .2byte STRINGID_PKMNCANTSLEEPINUPROAR2
+ .2byte STRINGID_UPROARKEPTPKMNAWAKE
+ .2byte STRINGID_PKMNSTAYEDAWAKEUSING
+
+gStatUpStringIds::
+ .2byte STRINGID_PKMNSSTATCHANGED
+ .2byte STRINGID_PKMNSSTATCHANGED2
+ .2byte STRINGID_STATSWONTINCREASE
+ .2byte STRINGID_EMPTYSTRING3
+ .2byte STRINGID_USINGXTHEYOFZN
+ .2byte STRINGID_PKMNUSEDXTOGETPUMPED
+
+gStatDownStringIds::
+ .2byte STRINGID_PKMNSSTATCHANGED3
+ .2byte STRINGID_PKMNSSTATCHANGED4
+ .2byte STRINGID_STATSWONTDECREASE
+ .2byte STRINGID_EMPTYSTRING3
+
+gFirstTurnOfTwoStringIds::
+ .2byte STRINGID_PKMNWHIPPEDWHIRLWIND
+ .2byte STRINGID_PKMNTOOKSUNLIGHT
+ .2byte STRINGID_PKMNLOWEREDHEAD
+ .2byte STRINGID_PKMNISGLOWING
+ .2byte STRINGID_PKMNFLEWHIGH
+ .2byte STRINGID_PKMNDUGHOLE
+ .2byte STRINGID_PKMNHIDUNDERWATER
+ .2byte STRINGID_PKMNSPRANGUP
+
+gWrappedStringIds::
+ .2byte STRINGID_PKMNSQUEEZEDBYBIND
+ .2byte STRINGID_PKMNWRAPPEDBY
+ .2byte STRINGID_PKMNTRAPPEDINVORTEX
+ .2byte STRINGID_PKMNCLAMPED
+ .2byte STRINGID_PKMNTRAPPEDINVORTEX
+ .2byte STRINGID_PKMNTRAPPEDBYSANDTOMB
+
+gMistUsedStringIds::
+ .2byte STRINGID_PKMNSHROUDEDINMIST
+ .2byte STRINGID_BUTITFAILED
+
+gFocusEnergyUsedStringIds::
+ .2byte STRINGID_PKMNGETTINGPUMPED
+ .2byte STRINGID_BUTITFAILED
+
+gTransformUsedStringIds::
+ .2byte STRINGID_PKMNTRANSFORMEDINTO
+ .2byte STRINGID_BUTITFAILED
+
+gSubsituteUsedStringIds::
+ .2byte STRINGID_PKMNMADESUBSTITUTE
+ .2byte STRINGID_TOOWEAKFORSUBSTITUTE
+
+gGotPoisonedStringIds::
+ .2byte STRINGID_PKMNWASPOISONED
+ .2byte STRINGID_PKMNPOISONEDBY
+
+gGotParalyzedStringIds::
+ .2byte STRINGID_PKMNWASPARALYZED
+ .2byte STRINGID_PKMNWASPARALYZEDBY
+
+gFellAsleepStringIds::
+ .2byte STRINGID_PKMNFELLASLEEP
+ .2byte STRINGID_PKMNMADESLEEP
+
+gGotBurnedStringIds::
+ .2byte STRINGID_PKMNWASBURNED
+ .2byte STRINGID_PKMNBURNEDBY
+
+gGotFrozenStringIds::
+ .2byte STRINGID_PKMNWASFROZEN
+ .2byte STRINGID_PKMNFROZENBY
+
+gGotDefrostedStringIds::
+ .2byte STRINGID_PKMNWASDEFROSTED2
+ .2byte STRINGID_PKMNWASDEFROSTEDBY
+
+gKOFailedStringIds::
+ .2byte STRINGID_ATTACKMISSED
+ .2byte STRINGID_PKMNUNAFFECTED
+
+gAttractUsedStringIds::
+ .2byte STRINGID_PKMNFELLINLOVE
+ .2byte STRINGID_PKMNSXINFATUATEDY
+
+gLeechSeedDrainStringIds::
+ .2byte STRINGID_PKMNENERGYDRAINED
+ .2byte STRINGID_ITSUCKEDLIQUIDOOZE
+
+gSportsUsedStringIds::
+ .2byte STRINGID_ELECTRICITYWEAKENED
+ .2byte STRINGID_FIREWEAKENED
+
+gPartyStatusHealStringIds::
+ .2byte STRINGID_BELLCHIMED
+ .2byte STRINGID_BELLCHIMED
+ .2byte STRINGID_BELLCHIMED
+ .2byte STRINGID_BELLCHIMED
+ .2byte STRINGID_SOOTHINGAROMA
+
+gFutureMoveUsedStringIds::
+ .2byte STRINGID_PKMNFORESAWATTACK
+ .2byte STRINGID_PKMNCHOSEXASDESTINY
+
+gBallEscapeStringIds::
+ .2byte STRINGID_PKMNBROKEFREE
+ .2byte STRINGID_ITAPPEAREDCAUGHT
+ .2byte STRINGID_AARGHALMOSTHADIT
+ .2byte STRINGID_SHOOTSOCLOSE
+
+gWeatherContinuesStringIds::
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_SANDSTORMISRAGING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_SUNLIGHTSTRONG
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+ .2byte STRINGID_ITISRAINING
+
+gInobedientStringIds::
+ .2byte STRINGID_PKMNLOAFING
+ .2byte STRINGID_PKMNWONTOBEY
+ .2byte STRINGID_PKMNTURNEDAWAY
+ .2byte STRINGID_PKMNPRETENDNOTNOTICE
+
+gSafariPokeblockResultStringIds::
+ .2byte STRINGID_PKMNWATCHINGCAREFULLY
+ .2byte STRINGID_PKMNCURIOUSABOUTX
+ .2byte STRINGID_PKMNENTHRALLEDBYX
+
+gTrainerItemCuredStatusStringIds::
+ .2byte STRINGID_PKMNSITEMSNAPPEDOUT
+ .2byte STRINGID_PKMNSITEMCUREDPARALYSIS
+ .2byte STRINGID_PKMNSITEMDEFROSTEDIT
+ .2byte STRINGID_PKMNSITEMHEALEDBURN
+ .2byte STRINGID_PKMNSITEMCUREDPOISON
+ .2byte STRINGID_PKMNSITEMWOKEIT
+
+gBerryEffectStringIds::
+ .2byte STRINGID_PKMNSITEMCUREDPROBLEM
+ .2byte STRINGID_PKMNSITEMNORMALIZEDSTATUS
+
+gBRNPreventionStringIds::
+ .2byte STRINGID_PKMNSXPREVENTSBURNS
+ .2byte STRINGID_PKMNSXPREVENTSYSZ
+ .2byte STRINGID_PKMNSXHADNOEFFECTONY
+
+gPRLZPreventionStringIds::
+ .2byte STRINGID_PKMNPREVENTSPARALYSISWITH
+ .2byte STRINGID_PKMNSXPREVENTSYSZ
+ .2byte STRINGID_PKMNSXHADNOEFFECTONY
+
+gPSNPreventionStringIds::
+ .2byte STRINGID_PKMNPREVENTSPOISONINGWITH
+ .2byte STRINGID_PKMNSXPREVENTSYSZ
+ .2byte STRINGID_PKMNSXHADNOEFFECTONY
+
+gItemSwapStringIds::
+ .2byte STRINGID_PKMNOBTAINEDX
+ .2byte STRINGID_PKMNOBTAINEDX2
+ .2byte STRINGID_PKMNOBTAINEDXYOBTAINEDZ
+
+gFlashFireStringIds::
+ .2byte STRINGID_PKMNRAISEDFIREPOWERWITH
+ .2byte STRINGID_PKMNSXMADEYINEFFECTIVE
+
+gCaughtMonStringIds::
+ .2byte STRINGID_PKMNTRANSFERREDSOMEONESPC
+ .2byte STRINGID_PKMNTRANSFERREDBILLSPC
+ .2byte STRINGID_PKMNBOXSOMEONESPCFULL
+ .2byte STRINGID_PKMNBOXBILLSPCFULL
+
+gDoubleBattleRecallStrings::
+ .2byte STRINGID_TRAINER1MON1COMEBACK
+ .2byte STRINGID_TRAINER1MON1COMEBACK
+ .2byte STRINGID_TRAINER1MON2COMEBACK
+ .2byte STRINGID_TRAINER1MON1AND2COMEBACK
gTrappingMoves:: @ 83FE664
.2byte MOVE_BIND
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index a0e0a486b..a3675befd 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -1,559 +1,4567 @@
+#include "constants/moves.h"
+#include "constants/battle.h"
+#include "constants/battle_move_effects.h"
+#include "constants/battle_script_commands.h"
+#include "constants/battle_anim.h"
+#include "constants/items.h"
+#include "constants/abilities.h"
+#include "constants/species.h"
+#include "constants/pokemon.h"
+#include "constants/songs.h"
+#include "battle_string_ids.h"
+ .include "asm/macros/battle_script.inc"
+ .set NULL, 0
.section script_data, "aw", %progbits
+ .align 2
gBattleScriptsForMoveEffects:: @ 81D65A8
- .incbin "baserom.gba", 0x1D65A8, 0x37C
-
-BattleScript_81D6924::
- .incbin "baserom.gba", 0x1D6924, 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_EffectFlinchMinimizeHit
+ .4byte BattleScript_EffectSolarbeam
+ .4byte BattleScript_EffectThunder
+ .4byte BattleScript_EffectTeleport
+ .4byte BattleScript_EffectBeatUp
+ .4byte BattleScript_EffectSemiInvulnerable
+ .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:: @ 81D6900
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x39, BattleScript_81D6926
+ jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6926
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+
+BattleScript_81D6926:: @ 81D6926
+ attackcanceler
+
+BattleScript_81D6927:: @ 81D6927
+ accuracycheck BattleScript_81D695E, 0x0
+
+BattleScript_81D692E:: @ 81D692E
+ attackstring
+ ppreduce
BattleScript_HitFromCritCalc:: @ 81D6930
- .incbin "baserom.gba", 0x1D6930, 0x1E
+ critcalc
+ atk5
+ atk6
+ atk7
+
+BattleScript_81D6934:: @ 81D6934
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchancetarget
+ faintpokemon BS_TARGET, 0x0, NULL
BattleScript_MoveEnd:: @ 81D694E
- .incbin "baserom.gba", 0x1D694E, 0x12
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x0, 0x0
+ end
+
+BattleScript_81D6958:: @ 81D6958
+ orbyte gMoveResultFlags, 0x1
+
+BattleScript_81D695E:: @ 81D695E
+ attackstring
+ ppreduce
BattleScript_MoveMissedPause:: @ 81D6960
- .incbin "baserom.gba", 0x1D6960, 0x271
+ pause 0x20
+
+BattleScript_81D6963:: @ 81D6963
+ missmessage
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSleep:: @ 81D696D
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x7, BattleScript_81D69B0
+ jumpifcannotsleep BattleScript_81D69CC
+ jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x1
+ seteffecttarget
+ jump BattleScript_MoveEnd
+
+BattleScript_81D69B0:: @ 81D69B0
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D69BE:: @ 81D69BE
+ pause 0x20
+ printstring STRINGID_PKMNWASNTAFFECTED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D69CC:: @ 81D69CC
+ pause 0x20
+ printfromtable gUproarAwakeStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPoisonHit:: @ 81D69DC
+ setbyte cEFFECT_CHOOSER, 0x2
+ jump BattleScript_EffectHit
+
+BattleScript_EffectAbsorb:: @ 81D69E7
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ jump BattleScript_81D6A2B
+
+BattleScript_81D6A23:: @ 81D6A23
+ manipulatedamage 0x0
+ setbyte cMULTISTRING_CHOOSER, 0x1
+
+BattleScript_81D6A2B:: @ 81D6A2B
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6A42
+ printfromtable gLeechSeedDrainStringIds
+ waitmessage 0x40
+
+BattleScript_81D6A42:: @ 81D6A42
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ faintpokemon BS_TARGET, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectBurnHit:: @ 81D6A55
+ setbyte cEFFECT_CHOOSER, 0x3
+ jump BattleScript_EffectHit
+
+BattleScript_EffectFreezeHit:: @ 81D6A60
+ setbyte cEFFECT_CHOOSER, 0x4
+ jump BattleScript_EffectHit
+
+BattleScript_EffectParalyzeHit:: @ 81D6A6B
+ setbyte cEFFECT_CHOOSER, 0x5
+ jump BattleScript_EffectHit
+
+BattleScript_EffectExplosion:: @ 81D6A76
+ attackcanceler
+ attackstring
+ ppreduce
+ faintifabilitynotdamp
+ setuserhptozero
+ waitstateatk
+ jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, 0x1, BattleScript_81D6A91
+ callatk BattleScript_81D6AE7
+ jump BattleScript_81D6A93
+
+BattleScript_81D6A91:: @ 81D6A91
+ attackanimation
+ waitanimation
+
+BattleScript_81D6A93:: @ 81D6A93
+ atk25
+ critcalc
+ atk5
+ atk6
+ atk7
+ accuracycheck BattleScript_81D6ACC, 0x0
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpwhiletargetvalid BattleScript_81D6A93
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ end
+
+BattleScript_81D6ACC:: @ 81D6ACC
+ missmessage
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpwhiletargetvalid BattleScript_81D6A93
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ end
+
+BattleScript_81D6AE7:: @ 81D6AE7
+ bicbyte gMoveResultFlags, 0x1
+ attackanimation
+ waitanimation
+ orbyte gMoveResultFlags, 0x1
+ return
+
+BattleScript_EffectDreamEater:: @ 81D6AF6
+ attackcanceler
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6B0B
+ jumpifstatus BS_TARGET, 0x7, BattleScript_81D6B15
+
+BattleScript_81D6B0B:: @ 81D6B0B
+ attackstring
+ ppreduce
+ waitmessage 0x40
+ jump BattleScript_81D69BE
+
+BattleScript_81D6B15:: @ 81D6B15
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6B53
+ printstring STRINGID_PKMNDREAMEATEN
+ waitmessage 0x40
+
+BattleScript_81D6B53:: @ 81D6B53
+ faintpokemon BS_TARGET, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMirrorMove:: @ 81D6B5F
+ attackcanceler
+ attackstring
+ pause 0x40
+ jumptolastusedattack
+ ppreduce
+ orbyte gMoveResultFlags, 0x20
+ printstring STRINGID_MIRRORMOVEFAILED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp:: @ 81D6B77
+ setbyte sSTATCHANGER, 0x11
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectDefenseUp:: @ 81D6B82
+ setbyte sSTATCHANGER, 0x12
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectSpecialAttackUp:: @ 81D6B8D
+ setbyte sSTATCHANGER, 0x14
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectEvasionUp:: @ 81D6B98
+ setbyte sSTATCHANGER, 0x17
+
+BattleScript_81D6B9E:: @ 81D6B9E
+ attackcanceler
+
+BattleScript_81D6B9F:: @ 81D6B9F
+ attackstring
+ ppreduce
+ statbuffchange 0x41, BattleScript_81D6BCC
+ jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BBA
+ pause 0x20
+ jump BattleScript_81D6BC4
+
+BattleScript_81D6BBA:: @ 81D6BBA
+ attackanimation
+ waitanimation
+
+BattleScript_81D6BBC:: @ 81D6BBC
+ atk47
+ playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+
+BattleScript_81D6BC4:: @ 81D6BC4
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D6BCC:: @ 81D6BCC
+ jump BattleScript_MoveEnd
BattleScript_StatUp:: @ 81D6BD1
- .incbin "baserom.gba", 0x1D6BD1, 0x91
+ playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+ return
+
+BattleScript_EffectAttackDown:: @ 81D6BE1
+ setbyte sSTATCHANGER, 0x91
+ jump BattleScript_81D6C13
+
+BattleScript_EffectDefenseDown:: @ 81D6BEC
+ setbyte sSTATCHANGER, 0x92
+ jump BattleScript_81D6C13
+
+BattleScript_EffectSpeedDown:: @ 81D6BF7
+ setbyte sSTATCHANGER, 0x93
+ jump BattleScript_81D6C13
+
+BattleScript_EffectAccuracyDown:: @ 81D6C02
+ setbyte sSTATCHANGER, 0x96
+ jump BattleScript_81D6C13
+
+BattleScript_EffectEvasionDown:: @ 81D6C0D
+ setbyte sSTATCHANGER, 0x97
+
+BattleScript_81D6C13:: @ 81D6C13
+ attackcanceler
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D7DF0
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ statbuffchange 0x1, BattleScript_81D6C5D
+ jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6C4B
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_81D6C5D
+ pause 0x20
+ jump BattleScript_81D6C55
+
+BattleScript_81D6C4B:: @ 81D6C4B
+ attackanimation
+ waitanimation
+ atk47
+ playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+
+BattleScript_81D6C55:: @ 81D6C55
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D6C5D:: @ 81D6C5D
+ jump BattleScript_MoveEnd
BattleScript_StatDown:: @ 81D6C62
- .incbin "baserom.gba", 0x1D6C62, 0x6E0
+ playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+ return
+
+BattleScript_EffectHaze:: @ 81D6C72
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ normalisebuffs
+ printstring STRINGID_STATCHANGESGONE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectBide:: @ 81D6C83
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_CHARGING
+ setbide
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRampage:: @ 81D6C97
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6CAB
+ ppreduce
+
+BattleScript_81D6CAB:: @ 81D6CAB
+ confuseifrepeatingattackends
+ jump BattleScript_HitFromCritCalc
+
+BattleScript_EffectRoar:: @ 81D6CB1
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408
+ jumpifspecialstatusflag BS_TARGET, 0x400, 0x0, BattleScript_81D8F27
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ accuracycheck BattleScript_MoveMissedPause, 0x0
+ forcerandomswitch BattleScript_ButItFailed
+
+BattleScript_EffectMultiHit:: @ 81D6CD9
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ setloopcounter 0x0
+ atk8e
+ setbyte sMULTIHIT_EFFECT, 0x0
+
+BattleScript_81D6CEC:: @ 81D6CEC
+ jumpiffainted BS_ATTACKER, BattleScript_81D6D82
+ jumpiffainted BS_TARGET, BattleScript_81D6D63
+ jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D6D0E
+ jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6D63
+
+BattleScript_81D6D0E:: @ 81D6D0E
+ atk25
+ copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 0x1
+ critcalc
+ atk5
+ atk6
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D60
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ addbyte gBattleScripting + 0xC, 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D6D63
+ atk27 BattleScript_81D6CEC
+ jump BattleScript_81D6D63
+
+BattleScript_81D6D60:: @ 81D6D60
+ pause 0x20
+
+BattleScript_81D6D63:: @ 81D6D63
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D82
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+
+BattleScript_81D6D82:: @ 81D6D82
+ seteffectwithchancetarget
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0x2
+ atk49 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0x4
+ atk49 0x0, 0x0
+ end
+
+BattleScript_EffectConversion:: @ 81D6D9D
+ attackcanceler
+ attackstring
+ ppreduce
+ changetypestoenemyattacktype BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFlinchHit:: @ 81D6DB2
+ setbyte cEFFECT_CHOOSER, 0x8
+ jump BattleScript_EffectHit
+
+BattleScript_EffectRestoreHp:: @ 81D6DBD
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x1
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectToxic:: @ 81D6DE0
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04
+ jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x6
+ seteffecttarget
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D6E41:: @ 81D6E41
+ pause 0x40
+ printstring STRINGID_PKMNALREADYPOISONED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D6E4F:: @ 81D6E4F
+ copyarray gEffectBattler, gBattlerTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ callatk BattleScript_PSNPrevention
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPayDay:: @ 81D6E69
+ setbyte cEFFECT_CHOOSER, 0xB
+ jump BattleScript_EffectHit
+
+BattleScript_EffectLightScreen:: @ 81D6E74
+ attackcanceler
+ attackstring
+ ppreduce
+ setlightscreen
+ jump BattleScript_81D7172
+
+BattleScript_EffectTriAttack:: @ 81D6E7D
+ setbyte cEFFECT_CHOOSER, 0x9
+ jump BattleScript_EffectHit
+
+BattleScript_EffectRest:: @ 81D6E88
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6EC2
+ jumpifcannotsleep BattleScript_81D6EB2
+ setrest BattleScript_AlreadyAtFullHp
+ pause 0x20
+ printfromtable gRestUsedStringIds
+ waitmessage 0x40
+ atk98 0x1
+ waitstateatk
+ jump BattleScript_PresentHealTarget
+
+BattleScript_81D6EB2:: @ 81D6EB2
+ pause 0x40
+ printfromtable gUproarAwakeStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D6EC2:: @ 81D6EC2
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP2
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectOhko:: @ 81D6ED0
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ atk6
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934
+ koplussomethings BattleScript_81D6EF1
+ atkab
+ jump BattleScript_81D6934
+
+BattleScript_81D6EF1:: @ 81D6EF1
+ pause 0x40
+ printfromtable gKOFailedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRazorWind:: @ 81D6F01
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
+ setbyte sTWOTURN_STRINGID, 0x0
+ callatk BattleScript_81D6F58
+ jump BattleScript_MoveEnd
+
+BattleScript_81D6F29:: @ 81D6F29
+ attackcanceler
+ setbyte cEFFECT_CHOOSER, 0xC
+ setbyte sB_ANIM_TURN, 0x1
+ clearstatus BS_ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x8F, BattleScript_81D6927
+ setbyte cEFFECT_CHOOSER, 0x8
+ jump BattleScript_81D6927
+
+BattleScript_81D6F58:: @ 81D6F58
+ attackcanceler
+ printstring STRINGID_EMPTYSTRING3
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_CHARGING
+ setbyte cEFFECT_CHOOSER, 0x4C
+ seteffecttarget
+ copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 0x1
+ printfromtable gFirstTurnOfTwoStringIds
+ waitmessage 0x40
+ return
+
+BattleScript_EffectSuperFang:: @ 81D6F82
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ gethalfcurrentenemyhp
+ jump BattleScript_81D6934
+
+BattleScript_EffectDragonRage:: @ 81D6F99
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ setbyte gBattleMoveDamage, 0x28
+ setbyte gBattleMoveDamage + 0x1, 0x0
+ setbyte gBattleMoveDamage + 0x2, 0x0
+ setbyte gBattleMoveDamage + 0x3, 0x0
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectTrap:: @ 81D6FC8
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xFA, BattleScript_81D6FEE
+ jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+
+BattleScript_81D6FEE:: @ 81D6FEE
+ setbyte cEFFECT_CHOOSER, 0xD
+ jump BattleScript_EffectHit
+
+BattleScript_EffectDoubleHit:: @ 81D6FF9
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ setloopcounter 0x2
+ atk8e
+ setbyte sMULTIHIT_EFFECT, 0x0
+ jump BattleScript_81D6CEC
+
+BattleScript_EffectRecoilIfMiss:: @ 81D7011
+ attackcanceler
+ accuracycheck BattleScript_81D701E, 0x0
+ jump BattleScript_81D692E
+
+BattleScript_81D701E:: @ 81D701E
+ attackstring
+ ppreduce
+ pause 0x40
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_MoveEnd
+ printstring STRINGID_PKMNCRASHED
+ waitmessage 0x40
+ atk5
+ atk6
+ atk7
+ manipulatedamage 0x1
+ bicbyte gMoveResultFlags, 0x1
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ orbyte gMoveResultFlags, 0x1
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMist:: @ 81D7062
+ attackcanceler
+ attackstring
+ ppreduce
+ setmisteffect
+ attackanimation
+ waitanimation
+ printfromtable gMistUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFocusEnergy:: @ 81D7075
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_ATTACKER, 0x100000, BattleScript_ButItFailed
+ setincreasedcriticalchance
+ attackanimation
+ waitanimation
+ printfromtable gFocusEnergyUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRecoil:: @ 81D7092
+ setbyte cEFFECT_CHOOSER, 0xCE
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xA5, BattleScript_EffectHit
+ atk60 0x1B
+ jump BattleScript_EffectHit
+
+BattleScript_EffectConfuse:: @ 81D70AB
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D70EA
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x7
+ seteffecttarget
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D70EA:: @ 81D70EA
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp2:: @ 81D70F8
+ setbyte sSTATCHANGER, 0x21
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectDefenseUp2:: @ 81D7103
+ setbyte sSTATCHANGER, 0x22
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectSpeedUp2:: @ 81D710E
+ setbyte sSTATCHANGER, 0x23
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectSpecialAttackUp2:: @ 81D7119
+ setbyte sSTATCHANGER, 0x24
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectSpecialDefenseUp2:: @ 81D7124
+ setbyte sSTATCHANGER, 0x25
+ jump BattleScript_81D6B9E
+
+BattleScript_EffectTransform:: @ 81D712F
+ attackcanceler
+ attackstring
+ ppreduce
+ transformdataexecution
+ attackanimation
+ waitanimation
+ printfromtable gTransformUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectAttackDown2:: @ 81D7142
+ setbyte sSTATCHANGER, 0xA1
+ jump BattleScript_81D6C13
+
+BattleScript_EffectDefenseDown2:: @ 81D714D
+ setbyte sSTATCHANGER, 0xA2
+ jump BattleScript_81D6C13
+
+BattleScript_EffectSpeedDown2:: @ 81D7158
+ setbyte sSTATCHANGER, 0xA3
+ jump BattleScript_81D6C13
+
+BattleScript_EffectSpecialDefenseDown2:: @ 81D7163
+ setbyte sSTATCHANGER, 0xA5
+ jump BattleScript_81D6C13
+
+BattleScript_EffectReflect:: @ 81D716E
+ attackcanceler
+ attackstring
+ ppreduce
+ setreflect
+
+BattleScript_81D7172:: @ 81D7172
+ attackanimation
+ waitanimation
+ printfromtable gReflectLightScreenSafeguardStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPoison:: @ 81D7181
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41
+ jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04
+ jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04
+ jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x2
+ seteffecttarget
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectParalyze:: @ 81D71E2
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ atk6
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x40, BattleScript_81D7237
+ jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x5
+ seteffecttarget
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7237:: @ 81D7237
+ pause 0x20
+ printstring STRINGID_PKMNISALREADYPARALYZED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7245:: @ 81D7245
+ copyarray gEffectBattler, gBattlerTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ callatk BattleScript_PRLZPrevention
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectAttackDownHit:: @ 81D725F
+ setbyte cEFFECT_CHOOSER, 0x16
+ jump BattleScript_EffectHit
+
+BattleScript_EffectDefenseDownHit:: @ 81D726A
+ setbyte cEFFECT_CHOOSER, 0x17
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSpeedDownHit:: @ 81D7275
+ setbyte cEFFECT_CHOOSER, 0x18
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSpecialAttackDownHit:: @ 81D7280
+ setbyte cEFFECT_CHOOSER, 0x19
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSpecialDefenseDownHit:: @ 81D728B
+ setbyte cEFFECT_CHOOSER, 0x1A
+ jump BattleScript_EffectHit
+
+BattleScript_EffectAccuracyDownHit:: @ 81D7296
+ setbyte cEFFECT_CHOOSER, 0x1B
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSkyAttack:: @ 81D72A1
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
+ setbyte sTWOTURN_STRINGID, 0x3
+ callatk BattleScript_81D6F58
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectConfuseHit:: @ 81D72C9
+ setbyte cEFFECT_CHOOSER, 0x7
+ jump BattleScript_EffectHit
+
+BattleScript_EffectTwineedle:: @ 81D72D4
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ setbyte sMULTIHIT_EFFECT, 0x2
+ attackstring
+ ppreduce
+ setloopcounter 0x2
+ atk8e
+ jump BattleScript_81D6CEC
+
+BattleScript_EffectSubstitute:: @ 81D72EC
+ attackcanceler
+ ppreduce
+ attackstring
+ waitstateatk
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000000, BattleScript_81D7321
+ setsubstituteeffect
+ jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D730E
+ pause 0x20
+ jump BattleScript_81D7314
+
+BattleScript_81D730E:: @ 81D730E
+ attackanimation
+ waitanimation
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+
+BattleScript_81D7314:: @ 81D7314
+ printfromtable gSubsituteUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7321:: @ 81D7321
+ pause 0x20
+ printstring STRINGID_PKMNHASSUBSTITUTE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRecharge:: @ 81D732F
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ setbyte cEFFECT_CHOOSER, 0xDD
+ jump BattleScript_81D692E
BattleScript_MoveUsedMustRecharge:: @ 81D7342
- .incbin "baserom.gba", 0x1D7342, 0xA75
+ printstring STRINGID_PKMNMUSTRECHARGE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRage:: @ 81D734D
+ attackcanceler
+ accuracycheck BattleScript_81D7367, 0x0
+ setbyte cEFFECT_CHOOSER, 0x1E
+ seteffecttarget
+ setbyte cEFFECT_CHOOSER, 0x0
+ jump BattleScript_81D692E
+
+BattleScript_81D7367:: @ 81D7367
+ setbyte cEFFECT_CHOOSER, 0x1E
+ clearstatus BS_ATTACKER
+ jump BattleScript_81D695E
+
+BattleScript_EffectMimic:: @ 81D7374
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ copyattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNLEARNEDMOVE2
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMetronome:: @ 81D739A
+ attackcanceler
+ attackstring
+ pause 0x20
+ attackanimation
+ waitanimation
+ setbyte sB_ANIM_TURN, 0x0
+ setbyte sB_ANIM_TARGETS_HIT, 0x0
+ metronomeeffect
+
+BattleScript_EffectLeechSeed:: @ 81D73AE
+ attackcanceler
+ attackstring
+ pause 0x20
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ accuracycheck BattleScript_81D73C5, 0x0
+
+BattleScript_81D73C5:: @ 81D73C5
+ setleechseed
+ attackanimation
+ waitanimation
+ printfromtable gLeechSeedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSplash:: @ 81D73D5
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ atk60 0x1A
+ printstring STRINGID_BUTNOTHINGHAPPENED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectDisable:: @ 81D73E7
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0x0
+ disablelastusedattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNMOVEWASDISABLED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectLevelDamage:: @ 81D7403
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ nightshadedamageeffect
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectPsywave:: @ 81D741B
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ psywavedamageeffect
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectCounter:: @ 81D7433
+ attackcanceler
+ counterdamagecalculator BattleScript_81D7DF0
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ damagecalc2
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectEncore:: @ 81D7449
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ setencore BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNGOTENCORE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPainSplit:: @ 81D7465
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ painsplitdamagecalculator BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ copyarray gBattleMoveDamage, gBattleScripting, 0x4
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ printstring STRINGID_SHAREDPAIN
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSnore:: @ 81D749C
+ attackcanceler
+ jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D74AE
+ attackstring
+ ppreduce
+ jump BattleScript_ButItFailed
+
+BattleScript_81D74AE:: @ 81D74AE
+ jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D74C2
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation BS_ATTACKER
+
+BattleScript_81D74C2:: @ 81D74C2
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_MoveMissedPause, 0x0
+ setbyte cEFFECT_CHOOSER, 0x8
+ jump BattleScript_HitFromCritCalc
+
+BattleScript_EffectConversion2:: @ 81D74D6
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetorandomresistance BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectLockOn:: @ 81D74EB
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ setalwayshitflag
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTOOKAIM
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSketch:: @ 81D750D
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ copymovepermanently BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSKETCHEDMOVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSleepTalk:: @ 81D752C
+ attackcanceler
+ jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D753E
+ attackstring
+ ppreduce
+ jump BattleScript_ButItFailed
+
+BattleScript_81D753E:: @ 81D753E
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation BS_ATTACKER
+ attackstring
+ ppreduce
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ selectrandommovefromusermoves BattleScript_81D755E
+ pause 0x40
+ jump BattleScript_ButItFailed
+
+BattleScript_81D755E:: @ 81D755E
+ attackanimation
+ waitanimation
+ setbyte sB_ANIM_TURN, 0x0
+ setbyte sB_ANIM_TARGETS_HIT, 0x0
+ jumptoattack BS_ATTACKER
+
+BattleScript_EffectDestinyBond:: @ 81D756E
+ attackcanceler
+ attackstring
+ ppreduce
+ destinybondeffect
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTRYINGTOTAKEFOE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFlail:: @ 81D757F
+ remaininghptopower
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSpite:: @ 81D7585
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0x0
+ reducepprandom BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREDUCEDPP
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectHealBell:: @ 81D75A1
+ attackcanceler
+ attackstring
+ ppreduce
+ clearstatusifnotsoundproofed
+ waitstateatk
+ attackanimation
+ waitanimation
+ printfromtable gPartyStatusHealStringIds
+ waitmessage 0x40
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xD7, BattleScript_81D75DE
+ jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D75CD
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+
+BattleScript_81D75CD:: @ 81D75CD
+ jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D75DE
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+
+BattleScript_81D75DE:: @ 81D75DE
+ atk98 0x4
+ waitstateatk
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectTripleKick:: @ 81D75E6
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte sTRIPLE_KICK_POWER, 0x0
+ setbyte gBattleScripting + 0x13, 0x0
+ atk8e
+ atk26 0x3
+
+BattleScript_81D75F8:: @ 81D75F8
+ jumpiffainted BS_ATTACKER, BattleScript_81D76B7
+ jumpiffainted BS_TARGET, BattleScript_81D7679
+ jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D761A
+ jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D7679
+
+BattleScript_81D761A:: @ 81D761A
+ accuracycheck BattleScript_81D7679, 0x0
+ atk25
+ addbyte sTRIPLE_KICK_POWER, 0xA
+ addbyte gBattleScripting + 0xC, 0x1
+ copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2
+ critcalc
+ atk5
+ atk6
+ atk7
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7679
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D768D
+ atk27 BattleScript_81D75F8
+ jump BattleScript_81D768D
+
+BattleScript_81D7679:: @ 81D7679
+ pause 0x20
+ jumpifbyte CMP_EQUAL, gBattleScripting + 0xC, 0x0, BattleScript_81D768D
+ bicbyte gMoveResultFlags, 0x1
+
+BattleScript_81D768D:: @ 81D768D
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte CMP_EQUAL, gBattleScripting + 0xC, 0x0, BattleScript_81D76B7
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_81D76B7
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+
+BattleScript_81D76B7:: @ 81D76B7
+ seteffectwithchancetarget
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0xE
+ atk49 0x0, 0x0
+ end
+
+BattleScript_EffectThief:: @ 81D76C9
+ setbyte cEFFECT_CHOOSER, 0x1F
+ jump BattleScript_EffectHit
+
+BattleScript_EffectMeanLook:: @ 81D76D4
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0xFFFE
+ jumpifsecondarytstatus BS_TARGET, 0x4000000, BattleScript_ButItFailed
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x20
+ seteffecttarget
+ printstring STRINGID_TARGETCANTESCAPENOW
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectNightmare:: @ 81D7706
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifsecondarytstatus BS_TARGET, Start, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x7, BattleScript_81D772C
+ jump BattleScript_ButItFailed
+
+BattleScript_81D772C:: @ 81D772C
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x21
+ seteffecttarget
+ printstring STRINGID_PKMNFELLINTONIGHTMARE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMinimize:: @ 81D7740
+ attackcanceler
+ setminimize
+ setbyte sSTATCHANGER, 0x17
+ jump BattleScript_81D6B9F
+
+BattleScript_EffectCurse:: @ 81D774D
+ jumpiftype2 BS_ATTACKER, 0x7, BattleScript_81D77C5
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0x0, BattleScript_81D7772
+ jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 0xC, BattleScript_81D7772
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_ButItFailed
+
+BattleScript_81D7772:: @ 81D7772
+ copyarray gBattlerTarget, gBattlerAttacker, 0x1
+ setbyte sB_ANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ setbyte sSTATCHANGER, 0x93
+ statbuffchange 0x41, BattleScript_81D7798
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D7798:: @ 81D7798
+ setbyte sSTATCHANGER, 0x11
+ statbuffchange 0x41, BattleScript_81D77AC
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D77AC:: @ 81D77AC
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D77C0
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D77C0:: @ 81D77C0
+ jump BattleScript_MoveEnd
+
+BattleScript_81D77C5:: @ 81D77C5
+ jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D77D6
+ atk76 0x1, BS_FAINTED
+
+BattleScript_81D77D6:: @ 81D77D6
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ cursetarget BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ setbyte sB_ANIM_TURN, 0x0
+ attackanimation
+ waitanimation
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_PKMNLAIDCURSE
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectProtect:: @ 81D7816
+ attackcanceler
+ attackstring
+ ppreduce
+ setprotect
+ attackanimation
+ waitanimation
+ printfromtable gProtectLikeUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSpikes:: @ 81D7829
+ attackcanceler
+ setspikes BattleScript_81D7DF0
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_SPIKESSCATTERED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectForesight:: @ 81D783E
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ setforesight
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNIDENTIFIED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPerishSong:: @ 81D7856
+ attackcanceler
+ attackstring
+ ppreduce
+ setperishsong BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_FAINTINTHREE
+ waitmessage 0x40
+ setbyte sBATTLER, 0x0
+
+BattleScript_81D786C:: @ 81D786C
+ jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C
+
+BattleScript_81D7873:: @ 81D7873
+ addbyte sBATTLER, 0x1
+ jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D786C
+ jump BattleScript_MoveEnd
+
+BattleScript_81D788C:: @ 81D788C
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+ jump BattleScript_81D7873
+
+BattleScript_EffectSandstorm:: @ 81D7897
+ attackcanceler
+ attackstring
+ ppreduce
+ setsandstorm
+ jump BattleScript_81D7A14
+
+BattleScript_EffectRollout:: @ 81D78A0
+ attackcanceler
+ attackstring
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D78AD
+ ppreduce
+
+BattleScript_81D78AD:: @ 81D78AD
+ accuracycheck BattleScript_81D78B4, 0x0
+
+BattleScript_81D78B4:: @ 81D78B4
+ damagecalc2
+ rolloutdamagecalculation
+ jump BattleScript_HitFromCritCalc
+
+BattleScript_EffectSwagger:: @ 81D78BB
+ attackcanceler
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ jumpifconfusedandattackmaxed BS_ATTACKER, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setbyte sSTATCHANGER, 0x21
+ statbuffchange 0x1, BattleScript_81D78FE
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D78FE
+ atk47
+ playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D78FE:: @ 81D78FE
+ jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ setbyte cEFFECT_CHOOSER, 0x7
+ seteffecttarget
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFuryCutter:: @ 81D7919
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_81D7923, 0x0
+
+BattleScript_81D7923:: @ 81D7923
+ furycutterdamagecalculation
+ critcalc
+ atk5
+ atk6
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7923
+ atk7
+ jump BattleScript_81D6934
+
+BattleScript_EffectAttract:: @ 81D7938
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0x0
+ tryinfatuatetarget BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLINLOVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectReturn:: @ 81D7954
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ happinesstodamagecalculation
+ jump BattleScript_81D692E
+
+BattleScript_EffectPresent:: @ 81D7962
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ presentdamagecalculation
+
+BattleScript_EffectSafeguard:: @ 81D796E
+ attackcanceler
+ attackstring
+ ppreduce
+ setsafeguard
+ jump BattleScript_81D7172
+
+BattleScript_EffectThawHit:: @ 81D7977
+ setbyte cEFFECT_CHOOSER, 0x3
+ jump BattleScript_EffectHit
+
+BattleScript_EffectMagnitude:: @ 81D7982
+ attackcanceler
+ attackstring
+ ppreduce
+ selectnexttarget
+ magnitudedamagecalculation
+ pause 0x20
+ printstring STRINGID_MAGNITUDESTRENGTH
+ waitmessage 0x40
+ jump BattleScript_81D7B17
+
+BattleScript_EffectBatonPass:: @ 81D7995
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifcannotswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ openpartyscreen 0x1, BattleScript_ButItFailed
+ atke2 BS_ATTACKER
+ waitstateatk
+ atk51 BS_ATTACKER, 0x2
+ atk58 BS_ATTACKER
+ switch1 BS_ATTACKER
+ switch2 BS_ATTACKER
+ atk73 BS_ATTACKER
+ printstring STRINGID_SWITCHINMON
+ switch3 BS_ATTACKER, 0x1
+ waitstateatk
+ atk52 BS_ATTACKER
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRapidSpin:: @ 81D79C2
+ setbyte cEFFECT_CHOOSER, 0xE3
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSonicboom:: @ 81D79CD
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ setbyte gBattleMoveDamage, 0x14
+ setbyte gBattleMoveDamage + 0x1, 0x0
+ setbyte gBattleMoveDamage + 0x2, 0x0
+ setbyte gBattleMoveDamage + 0x3, 0x0
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectMorningSun:: @ 81D79FC
+ attackcanceler
+ attackstring
+ ppreduce
+ recoverbasedonsunlight BattleScript_AlreadyAtFullHp
+ jump BattleScript_PresentHealTarget
+
+BattleScript_EffectHiddenPower:: @ 81D7A09
+ attackcanceler
+ hiddenpowerdamagecalculation
+ jump BattleScript_81D6927
+
+BattleScript_EffectRainDance:: @ 81D7A10
+ attackcanceler
+ attackstring
+ ppreduce
+ setrain
+
+BattleScript_81D7A14:: @ 81D7A14
+ attackanimation
+ waitanimation
+ printfromtable gMoveWeatherChangeStringIds
+ waitmessage 0x40
+ callatk BattleScript_81D92DC
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSunnyDay:: @ 81D7A28
+ attackcanceler
+ attackstring
+ ppreduce
+ setsunny
+ jump BattleScript_81D7A14
+
+BattleScript_EffectDefenseUpHit:: @ 81D7A31
+ setbyte cEFFECT_CHOOSER, 0x50
+ jump BattleScript_EffectHit
+
+BattleScript_EffectAttackUpHit:: @ 81D7A3C
+ setbyte cEFFECT_CHOOSER, 0x4F
+ jump BattleScript_EffectHit
+
+BattleScript_EffectAllStatsUpHit:: @ 81D7A47
+ setbyte cEFFECT_CHOOSER, 0x62
+ jump BattleScript_EffectHit
+
+BattleScript_EffectBellyDrum:: @ 81D7A52
+ attackcanceler
+ attackstring
+ ppreduce
+ maxattackhalvehp BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ attackanimation
+ waitanimation
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_PKMNCUTHPMAXEDATTACK
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPsychUp:: @ 81D7A74
+ attackcanceler
+ attackstring
+ ppreduce
+ copyfoestats BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDSTATCHANGES
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMirrorCoat:: @ 81D7A89
+ attackcanceler
+ mirrorcoatdamagecalculator BattleScript_81D7DF0
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ damagecalc2
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectSkullBash:: @ 81D7A9F
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
+ setbyte sTWOTURN_STRINGID, 0x2
+ callatk BattleScript_81D6F58
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D7AE9
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7AE9
+ atk47
+ playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D7AE9:: @ 81D7AE9
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectTwister:: @ 81D7AEE
+ jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_81D7B08
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+
+BattleScript_81D7B08:: @ 81D7B08
+ setbyte cEFFECT_CHOOSER, 0x8
+ jump BattleScript_EffectHit
+
+BattleScript_EffectEarthquake:: @ 81D7B13
+ attackcanceler
+ attackstring
+ ppreduce
+ selectnexttarget
+
+BattleScript_81D7B17:: @ 81D7B17
+ atk25
+ jumpifspecialstatusflag BS_TARGET, 0x80, 0x1, BattleScript_81D7B37
+ orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 0x2
+ jump BattleScript_81D7B46
+
+BattleScript_81D7B37:: @ 81D7B37
+ bicword gHitMarker, 0x20000
+ setbyte sDMG_MULTIPLIER, 0x1
+
+BattleScript_81D7B46:: @ 81D7B46
+ accuracycheck BattleScript_81D7B7F, 0x0
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpwhiletargetvalid BattleScript_81D7B17
+ end
+
+BattleScript_81D7B7F:: @ 81D7B7F
+ pause 0x20
+ atk6
+ missmessage
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jumpwhiletargetvalid BattleScript_81D7B17
+ end
+
+BattleScript_EffectFutureSight:: @ 81D7B97
+ attackcanceler
+ attackstring
+ ppreduce
+ setfutureattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable gFutureMoveUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectGust:: @ 81D7BAE
+ jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_EffectHit
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+ jump BattleScript_EffectHit
+
+BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD
+ jumpifspecialstatusflag BS_TARGET, 0x100, 0x1, BattleScript_81D7B08
+ setbyte sDMG_MULTIPLIER, 0x2
+ jump BattleScript_81D7B08
+
+BattleScript_EffectSolarbeam:: @ 81D7BE3
+ jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB
+ jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_81D7BFB
+ jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 0x60, BattleScript_81D7C23
+
+BattleScript_81D7BFB:: @ 81D7BFB
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
+ setbyte sTWOTURN_STRINGID, 0x1
+ callatk BattleScript_81D6F58
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7C23:: @ 81D7C23
+ orword gHitMarker, HITMARKER_CHARGING
+ setbyte cEFFECT_CHOOSER, 0x4C
+ seteffecttarget
+ ppreduce
+ jump BattleScript_81D6F29
+
+BattleScript_EffectThunder:: @ 81D7C39
+ setbyte cEFFECT_CHOOSER, 0x5
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ jump BattleScript_EffectHit
+
+BattleScript_EffectTeleport:: @ 81D7C4D
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
+ atk76 0x1, BS_EFFECT_BATTLER
+ jumpifbyte CMP_EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed
+ jumpifbyte CMP_EQUAL, gBattleCommunication, 0x2, BattleScript_81D8255
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFLEDFROMBATTLE
+ waitmessage 0x40
+ setbyte gBattleOutcome, 0x5
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectBeatUp:: @ 81D7C8A
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ pause 0x20
+ ppreduce
+ setbyte gBattleCommunication, 0x0
+
+BattleScript_81D7C9D:: @ 81D7C9D
+ atk25
+ beatupcalculation BattleScript_81D7CE0, BattleScript_ButItFailed
+ printstring STRINGID_PKMNATTACK
+ critcalc
+ jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_81D7CB8
+ manipulatedamage 0x2
+
+BattleScript_81D7CB8:: @ 81D7CB8
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ jump BattleScript_81D7C9D
+
+BattleScript_81D7CE0:: @ 81D7CE0
+ end
+
+BattleScript_EffectSemiInvulnerable:: @ 81D7CE1
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7D4F
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F
+ jumpifhalfword CMP_EQUAL, gCurrentMove, 0x13, BattleScript_81D7D3E
+ jumpifhalfword CMP_EQUAL, gCurrentMove, 0x123, BattleScript_81D7D33
+ jumpifhalfword CMP_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D28
+ setbyte sTWOTURN_STRINGID, 0x5
+ jump BattleScript_81D7D44
+
+BattleScript_81D7D28:: @ 81D7D28
+ setbyte sTWOTURN_STRINGID, 0x7
+ jump BattleScript_81D7D44
+
+BattleScript_81D7D33:: @ 81D7D33
+ setbyte sTWOTURN_STRINGID, 0x6
+ jump BattleScript_81D7D44
+
+BattleScript_81D7D3E:: @ 81D7D3E
+ setbyte sTWOTURN_STRINGID, 0x4
+
+BattleScript_81D7D44:: @ 81D7D44
+ callatk BattleScript_81D6F58
+ hidepreattack
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7D4F:: @ 81D7D4F
+ attackcanceler
+ setbyte cEFFECT_CHOOSER, 0xC
+ setbyte sB_ANIM_TURN, 0x1
+ clearstatus BS_ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D79
+ setbyte cEFFECT_CHOOSER, 0x5
+
+BattleScript_81D7D79:: @ 81D7D79
+ accuracycheck BattleScript_81D7D86, 0x0
+ unhidepostattack
+ jump BattleScript_81D692E
+
+BattleScript_81D7D86:: @ 81D7D86
+ unhidepostattack
+ jump BattleScript_81D695E
+
+BattleScript_EffectDefenseCurl:: @ 81D7D8C
+ attackcanceler
+ attackstring
+ ppreduce
+ setcurled
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D7DA9
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BC4
+ attackanimation
+ waitanimation
+
+BattleScript_81D7DA9:: @ 81D7DA9
+ jump BattleScript_81D6BBC
+
+BattleScript_EffectSoftboiled:: @ 81D7DAE
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x0
BattleScript_PresentHealTarget:: @ 81D7DB7
- .incbin "baserom.gba", 0x1D7DB7, 0x1A
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_AlreadyAtFullHp:: @ 81D7DD1
- .incbin "baserom.gba", 0x1D7DD1, 0x21
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFakeOut:: @ 81D7DDF
+ attackcanceler
+ jumpifnotfirstturn BattleScript_81D7DF0
+ setbyte cEFFECT_CHOOSER, 0x88
+ jump BattleScript_EffectHit
+
+BattleScript_81D7DF0:: @ 81D7DF0
+ attackstring
+
+BattleScript_81D7DF1:: @ 81D7DF1
+ ppreduce
BattleScript_ButItFailed:: @ 81D7DF2
- .incbin "baserom.gba", 0x1D7DF2, 0x882
+ pause 0x20
+ orbyte gMoveResultFlags, 0x20
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7E04:: @ 81D7E04
+ pause 0x20
+ orbyte gMoveResultFlags, 0x8
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectUproar:: @ 81D7E16
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ setbyte cEFFECT_CHOOSER, 0x4A
+ attackstring
+ jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7E30
+ ppreduce
+
+BattleScript_81D7E30:: @ 81D7E30
+ nop3
+ jump BattleScript_HitFromCritCalc
+
+BattleScript_EffectStockpile:: @ 81D7E36
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpile
+ attackanimation
+ waitanimation
+ printfromtable gStockpileUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSpitUp:: @ 81D7E49
+ attackcanceler
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 0x6, 0x1, BattleScript_81D7E78
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_81D695E, 0x0
+ stockpiletobasedamage BattleScript_81D7E6A
+ atk6
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_81D7E6A:: @ 81D7E6A
+ pause 0x20
+ printstring STRINGID_FAILEDTOSPITUP
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7E78:: @ 81D7E78
+ attackstring
+ ppreduce
+ pause 0x40
+ stockpiletobasedamage BattleScript_81D7E6A
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSwallow:: @ 81D7E8B
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpiletohprecovery BattleScript_81D7E98
+ jump BattleScript_PresentHealTarget
+
+BattleScript_81D7E98:: @ 81D7E98
+ pause 0x20
+ printfromtable gSwallowFailStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectHail:: @ 81D7EA8
+ attackcanceler
+ attackstring
+ ppreduce
+ sethail
+ jump BattleScript_81D7A14
+
+BattleScript_EffectTorment:: @ 81D7EB1
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0x0
+ settorment BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSUBJECTEDTOTORMENT
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFlatter:: @ 81D7ECD
+ attackcanceler
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ jumpifconfusedandattackmaxed BS_ATTACKER_WITH_PARTNER, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setbyte sSTATCHANGER, 0x14
+ statbuffchange 0x1, BattleScript_81D7F10
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7F10
+ atk47
+ playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D7F10:: @ 81D7F10
+ jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ setbyte cEFFECT_CHOOSER, 0x7
+ seteffecttarget
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectWillOWisp:: @ 81D7F2B
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, 0x10, BattleScript_81D7F91
+ jumpiftype BS_TARGET, 0xA, BattleScript_81D7E04
+ jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77
+ jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ attackanimation
+ waitanimation
+ setbyte cEFFECT_CHOOSER, 0x3
+ seteffecttarget
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7F77:: @ 81D7F77
+ copyarray gEffectBattler, gBattlerTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ callatk BattleScript_BRNPrevention
+ jump BattleScript_MoveEnd
+
+BattleScript_81D7F91:: @ 81D7F91
+ pause 0x20
+ printstring STRINGID_PKMNALREADYHASBURN
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectMemento:: @ 81D7F9F
+ attackcanceler
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 0x6, 0x1, BattleScript_81D8026
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
+ setuserhptozero
+ attackanimation
+ waitanimation
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D801B
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_TARGET, 0x12, 0x7
+ playstatchangeanimation BS_TARGET, 0x2, 0x3
+ setbyte sSTATCHANGER, 0xA1
+ statbuffchange 0x1, BattleScript_81D7FEC
+ jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D7FEC
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D7FEC:: @ 81D7FEC
+ playstatchangeanimation BS_TARGET, 0x10, 0x3
+ setbyte sSTATCHANGER, 0xA4
+ statbuffchange 0x1, BattleScript_81D800F
+ jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D800F
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D800F:: @ 81D800F
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_81D801B:: @ 81D801B
+ printstring STRINGID_BUTNOEFFECT
+ waitmessage 0x40
+ jump BattleScript_81D800F
+
+BattleScript_81D8026:: @ 81D8026
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_81D802D
+
+BattleScript_81D802D:: @ 81D802D
+ setuserhptozero
+ pause 0x40
+ missmessage
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectFacade:: @ 81D8042
+ jumpifstatus BS_ATTACKER, 0xD8, BattleScript_81D8051
+ jump BattleScript_EffectHit
+
+BattleScript_81D8051:: @ 81D8051
+ setbyte sDMG_MULTIPLIER, 0x2
+ jump BattleScript_EffectHit
+
+BattleScript_EffectFocusPunch:: @ 81D805C
+ attackcanceler
+ jumpifnodamage BattleScript_81D6927
+ ppreduce
+ printstring STRINGID_PKMNLOSTFOCUS
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSmellingsalt:: @ 81D806E
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_EffectHit
+ setbyte cEFFECT_CHOOSER, 0xA4
+ jumpifstatus BS_TARGET, 0x40, BattleScript_81D808D
+ jump BattleScript_EffectHit
+
+BattleScript_81D808D:: @ 81D808D
+ setbyte sDMG_MULTIPLIER, 0x2
+ jump BattleScript_EffectHit
+
+BattleScript_EffectFollowMe:: @ 81D8098
+ attackcanceler
+ attackstring
+ ppreduce
+ setforcedtarget
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCENTERATTENTION
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectNaturePower:: @ 81D80A9
+ attackcanceler
+ attackstring
+ pause 0x20
+ callterrainattack
+ printstring STRINGID_NATUREPOWERTURNEDINTO
+ waitmessage 0x40
+ return
+
+BattleScript_EffectCharge:: @ 81D80B6
+ attackcanceler
+ attackstring
+ ppreduce
+ setcharge
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHARGINGPOWER
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectTaunt:: @ 81D80C7
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0x0
+ settaunt BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLFORTAUNT
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectHelpingHand:: @ 81D80E3
+ attackcanceler
+ attackstring
+ ppreduce
+ sethelpinghand BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREADYTOHELP
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectTrick:: @ 81D80F8
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, 0x0
+ itemswap BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWITCHEDITEMS
+ waitmessage 0x40
+ printfromtable gItemSwapStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRolePlay:: @ 81D8126
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ copyability BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDFOE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectWish:: @ 81D8142
+ attackcanceler
+ attackstring
+ ppreduce
+ atkd4 0x0, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectAssist:: @ 81D8152
+ attackcanceler
+ attackstring
+ assistattackselect BattleScript_81D7DF1
+ attackanimation
+ waitanimation
+ setbyte sB_ANIM_TURN, 0x0
+ setbyte sB_ANIM_TARGETS_HIT, 0x0
+ jumptoattack BS_ATTACKER
+
+BattleScript_EffectIngrain:: @ 81D8169
+ attackcanceler
+ attackstring
+ ppreduce
+ setroots BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNPLANTEDROOTS
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSuperpower:: @ 81D817E
+ setbyte cEFFECT_CHOOSER, 0xE5
+ jump BattleScript_EffectHit
+
+BattleScript_EffectMagicCoat:: @ 81D8189
+ attackcanceler
+ setmagiccoat BattleScript_81D7DF0
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSHROUDEDITSELF
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRecycle:: @ 81D819E
+ attackcanceler
+ attackstring
+ ppreduce
+ recycleitem BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_XFOUNDONEY
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRevenge:: @ 81D81B3
+ doubledamagedealtifdamaged
+ jump BattleScript_EffectHit
+
+BattleScript_EffectBrickBreak:: @ 81D81B9
+ attackcanceler
+ accuracycheck BattleScript_81D695E, 0x0
+ attackstring
+ ppreduce
+ removereflectlightscreen
+ critcalc
+ atk5
+ atk6
+ atk7
+ jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0x0, BattleScript_81D81D9
+ bicbyte gMoveResultFlags, 0x9
+
+BattleScript_81D81D9:: @ 81D81D9
+ attackanimation
+ waitanimation
+ jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 0x2, BattleScript_81D81EC
+ printstring STRINGID_THEWALLSHATTERED
+ waitmessage 0x40
+
+BattleScript_81D81EC:: @ 81D81EC
+ damagecalc2
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchancetarget
+ faintpokemon BS_TARGET, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectYawn:: @ 81D820A
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B
+ jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ jumpifcannotsleep BattleScript_ButItFailed
+ setyawn BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWASMADEDROWSY
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D824B:: @ 81D824B
+ copyarray sBATTLER, sBATTLER_WITH_ABILITY, 0x1
+
+BattleScript_81D8255:: @ 81D8255
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEITINEFFECTIVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectKnockOff:: @ 81D8263
+ setbyte cEFFECT_CHOOSER, 0x36
+ jump BattleScript_EffectHit
+
+BattleScript_EffectEndeavor:: @ 81D826E
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamagetohealthdifference BattleScript_ButItFailed
+ copyarray gHpDealt, gBattleMoveDamage, 0x4
+ accuracycheck BattleScript_MoveMissedPause, 0x0
+ atk6
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934
+ bicbyte gMoveResultFlags, 0x6
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ atk69
+ jump BattleScript_81D6934
+
+BattleScript_EffectEruption:: @ 81D82A9
+ scaledamagebyhealthratio
+ jump BattleScript_EffectHit
+
+BattleScript_EffectSkillSwap:: @ 81D82AF
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, 0xFFFF
+ abilityswap BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWAPPEDABILITIES
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectImprison:: @ 81D82CB
+ attackcanceler
+ attackstring
+ ppreduce
+ imprisoneffect BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSEALEDOPPONENTMOVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectRefresh:: @ 81D82E0
+ attackcanceler
+ attackstring
+ ppreduce
+ cureifburnedparalysedorpoisoned BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSTATUSNORMAL
+ waitmessage 0x40
+ atk98 0x1
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectGrudge:: @ 81D82F7
+ attackcanceler
+ attackstring
+ ppreduce
+ setgrudge BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWANTSGRUDGE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSnatch:: @ 81D830C
+ attackcanceler
+ setstealstatchange BattleScript_81D7DF0
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ pause 0x20
+ printstring STRINGID_PKMNWAITSFORTARGET
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectLowKick:: @ 81D8324
+ attackcanceler
+ attackstring
+ ppreduce
+ weightdamagecalculation
+ accuracycheck BattleScript_MoveMissedPause, 0x0
+ jump BattleScript_HitFromCritCalc
+
+BattleScript_EffectSecretPower:: @ 81D8334
+ naturepowereffect
+ jump BattleScript_EffectHit
+
+BattleScript_EffectDoubleEdge:: @ 81D833A
+ setbyte cEFFECT_CHOOSER, 0xE6
+ jump BattleScript_EffectHit
+
+BattleScript_EffectTeeterDance:: @ 81D8345
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte gBattlerTarget, 0x0
+
+BattleScript_81D834E:: @ 81D834E
+ atk25
+ setbyte cEFFECT_CHOOSER, 0x7
+ jumpifarrayequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D8394
+ jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D83CE
+ jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D83DC
+ accuracycheck BattleScript_81D83EA, 0x0
+ jumpifhalverset BS_TARGET, 0x20, BattleScript_81D83C0
+ attackanimation
+ waitanimation
+ seteffecttarget
+ resultmessage
+ waitmessage 0x40
+
+BattleScript_81D8394:: @ 81D8394
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ addbyte gBattlerTarget, 0x1
+ jumpifarraynotequal gBattlerTarget, gBattlersCount, 0x1, BattleScript_81D834E
+ end
+
+BattleScript_81D83B2:: @ 81D83B2
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ jump BattleScript_81D8394
+
+BattleScript_81D83C0:: @ 81D83C0
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ jump BattleScript_81D8394
+
+BattleScript_81D83CE:: @ 81D83CE
+ pause 0x20
+ printstring STRINGID_BUTITFAILED
+ waitmessage 0x40
+ jump BattleScript_81D8394
+
+BattleScript_81D83DC:: @ 81D83DC
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ jump BattleScript_81D8394
+
+BattleScript_81D83EA:: @ 81D83EA
+ resultmessage
+ waitmessage 0x40
+ jump BattleScript_81D8394
+
+BattleScript_EffectMudSport:: @ 81D83F3
+ attackcanceler
+ attackstring
+ ppreduce
+ settypebasedhalvers BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable gSportsUsedStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectPoisonFang:: @ 81D840A
+ setbyte cEFFECT_CHOOSER, 0x6
+ jump BattleScript_EffectHit
+
+BattleScript_EffectWeatherBall:: @ 81D8415
+ seteffectbyweather
+ jump BattleScript_EffectHit
+
+BattleScript_EffectOverheat:: @ 81D841B
+ setbyte cEFFECT_CHOOSER, 0xFB
+ jump BattleScript_EffectHit
+
+BattleScript_EffectTickle:: @ 81D8426
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0x0, BattleScript_81D843B
+ jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0x0, BattleScript_81D8499
+
+BattleScript_81D843B:: @ 81D843B
+ accuracycheck BattleScript_ButItFailed, 0x0
+ attackanimation
+ waitanimation
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_TARGET, 0x6, 0x5
+ playstatchangeanimation BS_TARGET, 0x2, 0x1
+ setbyte sSTATCHANGER, 0x91
+ statbuffchange 0x1, BattleScript_81D8471
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8471
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D8471:: @ 81D8471
+ playstatchangeanimation BS_TARGET, 0x4, 0x1
+ setbyte sSTATCHANGER, 0x92
+ statbuffchange 0x1, BattleScript_81D8494
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8494
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D8494:: @ 81D8494
+ jump BattleScript_MoveEnd
+
+BattleScript_81D8499:: @ 81D8499
+ pause 0x20
+ orbyte gMoveResultFlags, 0x20
+ printstring STRINGID_STATSWONTDECREASE2
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectCosmicPower:: @ 81D84AD
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D84C2
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7
+
+BattleScript_81D84C2:: @ 81D84C2
+ attackanimation
+ waitanimation
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x24, 0x0
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D84ED
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D84ED
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D84ED:: @ 81D84ED
+ setbyte sSTATCHANGER, 0x15
+ statbuffchange 0x41, BattleScript_81D850C
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D850C
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D850C:: @ 81D850C
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectSkyUppercut:: @ 81D8511
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ jump BattleScript_EffectHit
+
+BattleScript_EffectBulkUp:: @ 81D851F
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8534
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_81D85E7
+
+BattleScript_81D8534:: @ 81D8534
+ attackanimation
+ waitanimation
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x6, 0x0
+ setbyte sSTATCHANGER, 0x11
+ statbuffchange 0x41, BattleScript_81D855F
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D855F
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D855F:: @ 81D855F
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D857E
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D857E
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D857E:: @ 81D857E
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectCalmMind:: @ 81D8583
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8598
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7
+
+BattleScript_81D8598:: @ 81D8598
+ attackanimation
+ waitanimation
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x30, 0x0
+ setbyte sSTATCHANGER, 0x14
+ statbuffchange 0x41, BattleScript_81D85C3
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85C3
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D85C3:: @ 81D85C3
+ setbyte sSTATCHANGER, 0x15
+ statbuffchange 0x41, BattleScript_81D85E2
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85E2
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D85E2:: @ 81D85E2
+ jump BattleScript_MoveEnd
+
+BattleScript_81D85E7:: @ 81D85E7
+ pause 0x20
+ orbyte gMoveResultFlags, 0x20
+ printstring STRINGID_STATSWONTINCREASE2
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectDragonDance:: @ 81D85FB
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8610
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 0xC, BattleScript_81D85E7
+
+BattleScript_81D8610:: @ 81D8610
+ attackanimation
+ waitanimation
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0xA, 0x0
+ setbyte sSTATCHANGER, 0x11
+ statbuffchange 0x41, BattleScript_81D863B
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D863B
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D863B:: @ 81D863B
+ setbyte sSTATCHANGER, 0x13
+ statbuffchange 0x41, BattleScript_81D865A
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D865A
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D865A:: @ 81D865A
+ jump BattleScript_MoveEnd
+
+BattleScript_EffectCamouflage:: @ 81D865F
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetoterrain BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_FaintAttacker:: @ 81D8674
- .incbin "baserom.gba", 0x1D8674, 0x10
+ atk56 0x1
+ pause 0x40
+ atk1a 0x1
+ atk1b BS_ATTACKER
+ printstring STRINGID_ATTACKERFAINTED
+ printstring STRINGID_EMPTYSTRING3
+ return
BattleScript_FaintTarget:: @ 81D8684
- .incbin "baserom.gba", 0x1D8684, 0x10
+ atk56 0x0
+ pause 0x40
+ atk1a 0x0
+ atk1b BS_TARGET
+ printstring STRINGID_TARGETFAINTED
+ printstring STRINGID_EMPTYSTRING3
+ return
BattleScript_GiveExp:: @ 81D8694
- .incbin "baserom.gba", 0x1D8694, 0x9
+ setbyte sGIVEEXP_STATE, 0x0
+ atk23 BS_TARGET
+ end2
BattleScript_HandleFaintedMon:: @ 81D869D
- .incbin "baserom.gba", 0x1D869D, 0x152
+ atk24 BattleScript_81D87B8
+ jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0x0, BattleScript_81D87B7
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D86E6
+ jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6
+ printstring STRINGID_USENEXTPKMN
+ setbyte gBattleCommunication, 0x0
+ atk67
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x0, BattleScript_81D86E6
+ atk72 BattleScript_81D87B7
+ printstring STRINGID_CANTESCAPE2
+
+BattleScript_81D86E6:: @ 81D86E6
+ openpartyscreen 0x3, BattleScript_81D87B7
+ atk51 BS_FAINTED, 0x2
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8792
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_81D8792
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D8792
+ jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792
+ jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_81D8792
+ jumpifcannotswitch BS_PLAYER1, BattleScript_81D8792
+ printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
+ setbyte gBattleCommunication, 0x0
+ atk67
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x1, BattleScript_81D8792
+ atk6e
+ openpartyscreen 0x81, BattleScript_81D8792
+ atk51 BS_ATTACKER, 0x2
+ jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_81D8792
+ atk6b
+ atk76 0x1, 0x5
+ atk74 BS_ATTACKER
+ printstring STRINGID_RETURNMON
+ atke2 BS_ATTACKER
+ waitstateatk
+ atk4b
+ waitstateatk
+ atk61 0x1
+ switch1 BS_ATTACKER
+ switch2 BS_ATTACKER
+ atk73 BS_ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62_hidepartystatussummary 0x1
+ switch3 BS_ATTACKER, 0x0
+ waitstateatk
+ atk52 BS_ATTACKER
+ atk6d
+
+BattleScript_81D8792:: @ 81D8792
+ atk61 0x3
+ switch1 BS_FAINTED
+ switch2 BS_FAINTED
+ atk73 BS_FAINTED
+ printstring STRINGID_SWITCHINMON
+ atk62_hidepartystatussummary 0x3
+ switch3 BS_FAINTED, 0x0
+ waitstateatk
+ atk76 0x1, BS_BATTLER_0
+ atk52 BS_FAINTED
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D87B7
+ atk68
+
+BattleScript_81D87B7:: @ 81D87B7
+ end2
+
+BattleScript_81D87B8:: @ 81D87B8
+ openpartyscreen 0x5, BattleScript_81D87BE
+
+BattleScript_81D87BE:: @ 81D87BE
+ atk51 BS_FAINTED, 0x0
+ openpartyscreen 0x6, BattleScript_81D87EE
+ atk51 BS_FAINTED, 0x0
+
+BattleScript_81D87CA:: @ 81D87CA
+ atk51 BS_FAINTED, 0x2
+ atk61 0x3
+ switch1 BS_FAINTED
+ switch2 BS_FAINTED
+ atk73 BS_FAINTED
+ printstring STRINGID_SWITCHINMON
+ atk62_hidepartystatussummary 0x3
+ switch3 BS_FAINTED, 0x0
+ waitstateatk
+ atk52 0x5
+ jumpifarraynotequal gBattlerFainted, gBattlersCount, 0x1, BattleScript_81D87CA
+
+BattleScript_81D87EE:: @ 81D87EE
+ end2
BattleScript_LocalTrainerBattleWon:: @ 81D87EF
- .incbin "baserom.gba", 0x1D87EF, 0x14
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ atk53 BS_ATTACKER
+ waitstateatk
+ printstring STRINGID_TRAINER1LOSETEXT
+ atk5d BattleScript_81D87FD
+
+BattleScript_81D87FD:: @ 81D87FD
+ printstring STRINGID_PLAYERGOTMONEY
+ waitmessage 0x40
BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803
- .incbin "baserom.gba", 0x1D8803, 0x3
+ givemoney
+ pickupitemcalculation
+ end2
BattleScript_LocalBattleLost:: @ 81D8806
- .incbin "baserom.gba", 0x1D8806, 0xC6
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E
+ jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_81D886E
+ jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8876
+
+BattleScript_81D8839:: @ 81D8839
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D885D
+ printstring STRINGID_PLAYERWHITEOUT
+ waitmessage 0x40
+ atk5d BattleScript_81D886F
+ printstring STRINGID_PLAYERWHITEOUT2
+ waitmessage 0x40
+ jump BattleScript_81D886E
+
+BattleScript_81D885D:: @ 81D885D
+ printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER
+ waitmessage 0x40
+ atk5d BattleScript_81D886F
+ printstring STRINGID_PLAYERPAIDPRIZEMONEY
+ waitmessage 0x40
+
+BattleScript_81D886E:: @ 81D886E
+ end2
+
+BattleScript_81D886F:: @ 81D886F
+ printstring STRINGID_PLAYERWHITEDOUT
+ waitmessage 0x40
+ end2
+
+BattleScript_81D8876:: @ 81D8876
+ jumpiffainted BS_ATTACKER, BattleScript_81D8884
+ printstring STRINGID_TRAINER1MON1COMEBACK
+ waitmessage 0x40
+ atk4b
+ waitstateatk
+
+BattleScript_81D8884:: @ 81D8884
+ atk53 BS_ATTACKER
+ waitstateatk
+ printstring STRINGID_TRAINER1WINTEXT
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8839
+ end2
+
+BattleScript_81D8896:: @ 81D8896
+ atk76 0x1, BS_ATTACKER_SIDE
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D88B4
+ printfromtable gDoubleBattleRecallStrings
+ waitmessage 0x40
+ atk76 0x1, BS_NOT_ATTACKER_SIDE
+ waitstateatk
+ atk76 0x1, BS_SCRIPTING
+ waitstateatk
+
+BattleScript_81D88B4:: @ 81D88B4
+ atk53 BS_ATTACKER
+ waitstateatk
+ printstring STRINGID_TRAINER1WINTEXT
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88CB
+ printstring STRINGID_TRAINER2NAME
+
+BattleScript_81D88CB:: @ 81D88CB
+ end2
BattleScript_LinkBattleWonOrLost:: @ 81D88CC
- .incbin "baserom.gba", 0x1D88CC, 0xB
+ printstring STRINGID_BATTLEEND
+ waitmessage 0x40
+ atk57
+ waitmessage 0x40
+ end2
gUnknown_81D88D7:: @ 81D88D7
- .incbin "baserom.gba", 0x1D88D7, 0x2A
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ atk53 BS_ATTACKER
+ waitstateatk
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF
+ printstring STRINGID_TRAINER1LOSETEXT
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88FF
+ printstring STRINGID_TRAINER2CLASS
+
+BattleScript_81D88FF:: @ 81D88FF
+ pickupitemcalculation
+ end2
BattleScript_SmokeBallEscape:: @ 81D8901
- .incbin "baserom.gba", 0x1D8901, 0xE
+ playanimation BS_ATTACKER, B_ANIM_SMOKEBALL_ESCAPE, NULL
+ printstring STRINGID_PKMNFLEDUSINGITS
+ waitmessage 0x40
+ end2
BattleScript_RanAwayUsingMonAbility:: @ 81D890F
- .incbin "baserom.gba", 0x1D890F, 0x7
+ printstring STRINGID_PKMNFLEDUSING
+ waitmessage 0x40
+ end2
BattleScript_GotAwaySafely:: @ 81D8916
- .incbin "baserom.gba", 0x1D8916, 0x7
+ printstring STRINGID_GOTAWAYSAFELY
+ waitmessage 0x40
+ end2
BattleScript_WildMonFled:: @ 81D891D
- .incbin "baserom.gba", 0x1D891D, 0x7
+ printstring STRINGID_WILDPKMNFLED
+ waitmessage 0x40
+ end2
BattleScript_PrintCantRunFromTrainer:: @ 81D8924
- .incbin "baserom.gba", 0x1D8924, 0x16
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936
+ printstring STRINGID_NORUNNINGFROMTRAINERS
+ end2
+
+BattleScript_81D8936:: @ 81D8936
+ printstring STRINGID_DONTLEAVEBIRCH
+ end2
BattleScript_PrintFailedToRunString:: @ 81D893A
- .incbin "baserom.gba", 0x1D893A, 0x9
+ printfromtable gNoEscapeStringIds
+ waitmessage 0x40
+ end2
BattleScript_PrintCantEscapeFromBattle:: @ 81D8943
- .incbin "baserom.gba", 0x1D8943, 0x6
+ printfromtable2 gNoEscapeStringIds
+ atk44
BattleScript_PrintFullBox:: @ 81D8949
- .incbin "baserom.gba", 0x1D8949, 0x4
+ printstring2 STRINGID_BOXISFULL
+ atk44
BattleScript_ActionSwitch:: @ 81D894D
- .incbin "baserom.gba", 0x1D894D, 0xA4
+ atk74 BS_ATTACKER
+ printstring STRINGID_RETURNMON
+ setbyte sDMG_MULTIPLIER, 0x2
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D896D
+ atk26 0x1
+ jump BattleScript_81D896F
+
+BattleScript_81D896D:: @ 81D896D
+ atk26 0x2
+
+BattleScript_81D896F:: @ 81D896F
+ atkba BattleScript_81D897C
+ atk5f
+ atkab
+ callatk BattleScript_81D89AF
+ atk5f
+
+BattleScript_81D897C:: @ 81D897C
+ atk27 BattleScript_81D896F
+ atke2 BS_ATTACKER
+ waitstateatk
+ atk4b
+ waitstateatk
+ atk61 0x1
+ atk51 BS_ATTACKER, 0x1
+ switch1 BS_ATTACKER
+ switch2 BS_ATTACKER
+ atk73 BS_ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62_hidepartystatussummary 0x1
+ switch3 BS_ATTACKER, 0x0
+ waitstateatk
+ atk52 BS_ATTACKER
+ setbyte sMOVEEND_STATE, 0x4
+ atk49 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xF
+ atk49 0x1, 0x0
+ end2
+
+BattleScript_81D89AF:: @ 81D89AF
+ pause 0x20
+ attackstring
+ ppreduce
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_TARGET, 0x0, NULL
+ setbyte sMOVEEND_STATE, 0x3
+ atk49 0x2, 0x6
+ atk76 0x0, BS_ATTACKER_WITH_PARTNER
+ jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_81D89F0
+ setbyte sGIVEEXP_STATE, 0x0
+ atk23 BS_TARGET
+
+BattleScript_81D89F0:: @ 81D89F0
+ return
BattleScript_Pausex20:: @ 81D89F1
- .incbin "baserom.gba", 0x1D89F1, 0x4
+ pause 0x20
+ return
BattleScript_LevelUp:: @ 81D89F5
- .incbin "baserom.gba", 0x1D89F5, 0x6F
+ atk55 MUS_FANFA1
+ printstring STRINGID_PKMNGREWTOLV
+ setbyte sLVLBOX_STATE, 0x0
+ atk6c
+ checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x1
+ jump BattleScript_81D8A1B
+
+BattleScript_81D8A11:: @ 81D8A11
+ checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x0
+
+BattleScript_81D8A1B:: @ 81D8A1B
+ atk71
+ printstring STRINGID_TRYTOLEARNMOVE1
+ printstring STRINGID_TRYTOLEARNMOVE2
+ printstring STRINGID_TRYTOLEARNMOVE3
+ waitstateatk
+ setbyte sLEARNMOVE_STATE, 0x0
+ atk5a BattleScript_81D8A48
+ printstring STRINGID_STOPLEARNINGMOVE
+ waitstateatk
+ setbyte sLEARNMOVE_STATE, 0x0
+ atk5b BattleScript_81D8A1B
+ printstring STRINGID_DIDNOTLEARNMOVE
+ jump BattleScript_81D8A11
+
+BattleScript_81D8A48:: @ 81D8A48
+ printstring STRINGID_123POOF
+ printstring STRINGID_PKMNFORGOTMOVE
+ printstring STRINGID_ANDELLIPSIS
+
+BattleScript_81D8A51:: @ 81D8A51
+ atk71
+ atk55 MUS_FANFA1
+ printstring STRINGID_PKMNLEARNEDMOVE
+ waitmessage 0x40
+ atk76 0x1, 0x6
+ jump BattleScript_81D8A11
+
+BattleScript_81D8A63:: @ 81D8A63
+ return
BattleScript_RainContinuesOrEnds:: @ 81D8A64
- .incbin "baserom.gba", 0x1D8A64, 0x1B
+ printfromtable gRainContinuesStringIds
+ waitmessage 0x40
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8A7E
+ playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL
+
+BattleScript_81D8A7E:: @ 81D8A7E
+ end2
BattleScript_DamagingWeatherContinues:: @ 81D8A7F
- .incbin "baserom.gba", 0x1D8A7F, 0x82
+ printfromtable gSandStormHailContinuesStringIds
+ waitmessage 0x40
+ atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL
+ setbyte gBattleCommunication, 0x0
+
+BattleScript_81D8A97:: @ 81D8A97
+ atk32 gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1
+ weatherdamage
+ jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8
+ printfromtable gSandStormHailDmgStringIds
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
+ missmessage
+ atk5c BS_ATTACKER
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ atk24 BattleScript_81D8AD8
+
+BattleScript_81D8AD8:: @ 81D8AD8
+ jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0x0, BattleScript_81D8AF7
+ addbyte gBattleCommunication, 0x1
+ jumpifarraynotequal gBattleCommunication, gBattlersCount, 0x1, BattleScript_81D8A97
+
+BattleScript_81D8AF7:: @ 81D8AF7
+ bicword gHitMarker, 0x1100120
+ end2
BattleScript_SandStormHailEnds:: @ 81D8B01
- .incbin "baserom.gba", 0x1D8B01, 0x9
+ printfromtable gSandStormHailEndStringIds
+ waitmessage 0x40
+ end2
BattleScript_SunlightContinues:: @ 81D8B0A
- .incbin "baserom.gba", 0x1D8B0A, 0xE
+ printstring STRINGID_SUNLIGHTSTRONG
+ waitmessage 0x40
+ playanimation BS_ATTACKER, B_ANIM_SUN_CONTINUES, NULL
+ end2
BattleScript_SunlightFaded:: @ 81D8B18
- .incbin "baserom.gba", 0x1D8B18, 0x7
+ printstring STRINGID_SUNLIGHTFADED
+ waitmessage 0x40
+ end2
BattleScript_OverworldWeatherStarts:: @ 81D8B1F
- .incbin "baserom.gba", 0x1D8B1F, 0x13
+ printfromtable gWeatherContinuesStringIds
+ waitmessage 0x40
+ atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL
+ end3
BattleScript_SideStatusWoreOff:: @ 81D8B32
- .incbin "baserom.gba", 0x1D8B32, 0x11
+ printstring STRINGID_PKMNSXWOREOFF
+ waitmessage 0x40
+ end2
+
+BattleScript_81D8B39:: @ 81D8B39
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ end2
BattleScript_SafeguardEnds:: @ 81D8B43
- .incbin "baserom.gba", 0x1D8B43, 0xA
+ pause 0x20
+ printstring STRINGID_PKMNSAFEGUARDEXPIRED
+ waitmessage 0x40
+ end2
BattleScript_LeechSeedTurnDrain:: @ 81D8B4D
- .incbin "baserom.gba", 0x1D8B4D, 0x5C
+ playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F
+ manipulatedamage 0x0
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ jump BattleScript_81D8B85
+
+BattleScript_81D8B7F:: @ 81D8B7F
+ setbyte cMULTISTRING_CHOOSER, 0x4
+
+BattleScript_81D8B85:: @ 81D8B85
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ printfromtable gLeechSeedStringIds
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ faintpokemon BS_TARGET, 0x0, NULL
+ end2
BattleScript_BideStoringEnergy:: @ 81D8BA9
- .incbin "baserom.gba", 0x1D8BA9, 0xB
+ printstring STRINGID_PKMNSTORINGENERGY
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_BideAttack:: @ 81D8BB4
- .incbin "baserom.gba", 0x1D8BB4, 0x48
+ attackcanceler
+ setbyte cEFFECT_CHOOSER, 0xC
+ clearstatus BS_ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ accuracycheck BattleScript_81D6963, 0x0
+ atk6
+ bicbyte gMoveResultFlags, 0x6
+ copyarray gBattleMoveDamage, sBIDE_DMG, 0x4
+ atk69
+ setbyte sB_ANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_TARGET, 0x0, NULL
+ jump BattleScript_MoveEnd
BattleScript_BideNoEnergyToAttack:: @ 81D8BFC
- .incbin "baserom.gba", 0x1D8BFC, 0x14
+ attackcanceler
+ setbyte cEFFECT_CHOOSER, 0xC
+ clearstatus BS_ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ jump BattleScript_ButItFailed
BattleScript_SuccessForceOut:: @ 81D8C10
- .incbin "baserom.gba", 0x1D8C10, 0x2E
+ attackanimation
+ waitanimation
+ atke2 BS_TARGET
+ atk58 BS_TARGET
+ waitstateatk
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8C2C
+ setbyte gBattleOutcome, 0x5
+ atkf6
+
+BattleScript_81D8C2C:: @ 81D8C2C
+ switch1 BS_TARGET
+ switch2 BS_TARGET
+ switch3 BS_TARGET, 0x0
+ waitstateatk
+ printstring STRINGID_PKMNWASDRAGGEDOUT
+ atk52 BS_TARGET
+ jump BattleScript_MoveEnd
BattleScript_MistProtected:: @ 81D8C3E
- .incbin "baserom.gba", 0x1D8C3E, 0xA
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBYMIST
+ waitmessage 0x40
+ return
BattleScript_RageIsBuilding:: @ 81D8C48
- .incbin "baserom.gba", 0x1D8C48, 0x7
+ printstring STRINGID_PKMNRAGEBUILDING
+ waitmessage 0x40
+ return
BattleScript_MoveUsedIsDisabled:: @ 81D8C4F
- .incbin "baserom.gba", 0x1D8C4F, 0xB
+ printstring STRINGID_PKMNMOVEISDISABLED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_SelectingDisabledMove:: @ 81D8C5A
- .incbin "baserom.gba", 0x1D8C5A, 0x4
+ printstring2 STRINGID_PKMNMOVEISDISABLED
+ atk44
BattleScript_DisabledNoMore:: @ 81D8C5E
- .incbin "baserom.gba", 0x1D8C5E, 0x7
+ printstring STRINGID_PKMNMOVEDISABLEDNOMORE
+ waitmessage 0x40
+ end2
BattleScript_EncoredNoMore:: @ 81D8C65
- .incbin "baserom.gba", 0x1D8C65, 0x7
+ printstring STRINGID_PKMNENCOREENDED
+ waitmessage 0x40
+ end2
BattleScript_DestinyBondTakesLife:: @ 81D8C6C
- .incbin "baserom.gba", 0x1D8C6C, 0x1B
+ printstring STRINGID_PKMNTOOKFOE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ return
BattleScript_SpikesOnAttacker:: @ 81D8C87
- .incbin "baserom.gba", 0x1D8C87, 0x37
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ callatk BattleScript_81D8D2C
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ faintpokemon BS_ATTACKER, 0x1, BattleScript_81D8CA8
+ return
+
+BattleScript_81D8CA8:: @ 81D8CA8
+ setbyte sGIVEEXP_STATE, 0x0
+ atk23 BS_ATTACKER
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x0, 0x0
+ jump BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget:: @ 81D8CBE
- .incbin "baserom.gba", 0x1D8CBE, 0x37
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ callatk BattleScript_81D8D2C
+ faintpokemon BS_TARGET, 0x0, NULL
+ faintpokemon BS_TARGET, 0x1, BattleScript_81D8CDF
+ return
+
+BattleScript_81D8CDF:: @ 81D8CDF
+ setbyte sGIVEEXP_STATE, 0x0
+ atk23 BS_TARGET
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x0, 0x0
+ jump BattleScript_HandleFaintedMon
BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5
- .incbin "baserom.gba", 0x1D8CF5, 0x3E
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_FAINTED
+ datahpupdate BS_FAINTED
+ callatk BattleScript_81D8D2C
+ faintpokemon BS_FAINTED, 0x0, NULL
+ faintpokemon BS_FAINTED, 0x1, BattleScript_81D8D16
+ return
+
+BattleScript_81D8D16:: @ 81D8D16
+ setbyte sGIVEEXP_STATE, 0x0
+ atk23 BS_FAINTED
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x0, 0x0
+ jump BattleScript_HandleFaintedMon
+
+BattleScript_81D8D2C:: @ 81D8D2C
+ printstring STRINGID_PKMNHURTBYSPIKES
+ waitmessage 0x40
+ return
BattleScript_PerishSongTakesLife:: @ 81D8D33
- .incbin "baserom.gba", 0x1D8D33, 0x1B
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ end2
BattleScript_PerishSongCountGoesDown:: @ 81D8D4E
- .incbin "baserom.gba", 0x1D8D4E, 0x7
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ end2
BattleScript_AllStatsUp:: @ 81D8D55
- .incbin "baserom.gba", 0x1D8D55, 0x9C
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D8DF0
+
+BattleScript_81D8D82:: @ 81D8D82
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x3E, 0x0
+ setbyte sSTATCHANGER, 0x11
+ statbuffchange 0x41, BattleScript_81D8DA0
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D8DA0:: @ 81D8DA0
+ setbyte sSTATCHANGER, 0x12
+ statbuffchange 0x41, BattleScript_81D8DB4
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D8DB4:: @ 81D8DB4
+ setbyte sSTATCHANGER, 0x13
+ statbuffchange 0x41, BattleScript_81D8DC8
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D8DC8:: @ 81D8DC8
+ setbyte sSTATCHANGER, 0x14
+ statbuffchange 0x41, BattleScript_81D8DDC
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D8DDC:: @ 81D8DDC
+ setbyte sSTATCHANGER, 0x15
+ statbuffchange 0x41, BattleScript_81D8DF0
+ printfromtable gStatUpStringIds
+ waitmessage 0x40
+
+BattleScript_81D8DF0:: @ 81D8DF0
+ return
BattleScript_RapidSpinAway:: @ 81D8DF1
- .incbin "baserom.gba", 0x1D8DF1, 0x2
+ breakfree
+ return
BattleScript_WrapFree:: @ 81D8DF3
- .incbin "baserom.gba", 0x1D8DF3, 0x11
+ printstring STRINGID_PKMNGOTFREE
+ waitmessage 0x40
+ copyarray gBattlerTarget, sBATTLER, 0x1
+ return
BattleScript_LeechSeedFree:: @ 81D8E04
- .incbin "baserom.gba", 0x1D8E04, 0x7
+ printstring STRINGID_PKMNSHEDLEECHSEED
+ waitmessage 0x40
+ return
BattleScript_SpikesFree:: @ 81D8E0B
- .incbin "baserom.gba", 0x1D8E0B, 0x7
+ printstring STRINGID_PKMNBLEWAWAYSPIKES
+ waitmessage 0x40
+ return
BattleScript_MonTookFutureAttack:: @ 81D8E12
- .incbin "baserom.gba", 0x1D8E12, 0x8E
+ printstring STRINGID_PKMNTOOKATTACK
+ waitmessage 0x40
+ jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E2F
+ accuracycheck BattleScript_81D8E86, 0xF8
+ jump BattleScript_81D8E36
+
+BattleScript_81D8E2F:: @ 81D8E2F
+ accuracycheck BattleScript_81D8E86, 0x161
+
+BattleScript_81D8E36:: @ 81D8E36
+ atk8
+ jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E4E
+ playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL
+ jump BattleScript_81D8E55
+
+BattleScript_81D8E4E:: @ 81D8E4E
+ playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL
+
+BattleScript_81D8E55:: @ 81D8E55
+ missmessage
+ atk5c BS_TARGET
+ waitstateatk
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_TARGET, 0x0, NULL
+ atk24 BattleScript_81D8E6D
+
+BattleScript_81D8E6D:: @ 81D8E6D
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xB
+ atk49 0x2, 0xE
+ setbyte gMoveResultFlags, 0x0
+ end2
+
+BattleScript_81D8E86:: @ 81D8E86
+ pause 0x20
+ setbyte gMoveResultFlags, 0x0
+ orbyte gMoveResultFlags, 0x20
+ resultmessage
+ waitmessage 0x40
+ setbyte gMoveResultFlags, 0x0
+ end2
BattleScript_NoMovesLeft:: @ 81D8EA0
- .incbin "baserom.gba", 0x1D8EA0, 0x4
+ printstring2 STRINGID_PKMNHASNOMOVESLEFT
+ atk44
BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4
- .incbin "baserom.gba", 0x1D8EA4, 0x4
+ printstring2 STRINGID_NOPPLEFT
+ atk44
BattleScript_NoPPForMove:: @ 81D8EA8
- .incbin "baserom.gba", 0x1D8EA8, 0xF
+ attackstring
+ pause 0x20
+ printstring STRINGID_BUTNOPPLEFT
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_SelectingTormentedMove:: @ 81D8EB7
- .incbin "baserom.gba", 0x1D8EB7, 0xF
+ printstring2 STRINGID_PKMNCANTUSEMOVETORMENT
+ atk44
+ printstring STRINGID_PKMNCANTUSEMOVETORMENT
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6
- .incbin "baserom.gba", 0x1D8EC6, 0x4
+ printstring2 STRINGID_PKMNCANTUSEMOVETAUNT
+ atk44
BattleScript_MoveUsedIsTaunted:: @ 81D8ECA
- .incbin "baserom.gba", 0x1D8ECA, 0xB
+ printstring STRINGID_PKMNCANTUSEMOVETAUNT
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_WishComesTrue:: @ 81D8ED5
- .incbin "baserom.gba", 0x1D8ED5, 0x37
+ atkd4 0x1, BattleScript_81D8EFC
+ playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ end2
+
+BattleScript_81D8EFC:: @ 81D8EFC
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ end2
BattleScript_IngrainTurnHeal:: @ 81D8F0C
- .incbin "baserom.gba", 0x1D8F0C, 0x29
+ playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL, NULL
+ printstring STRINGID_PKMNABSORBEDNUTRIENTS
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ end2
+
+BattleScript_81D8F27:: @ 81D8F27
+ pause 0x20
+ printstring STRINGID_PKMNANCHOREDITSELF
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_AtkDefDown:: @ 81D8F35
- .incbin "baserom.gba", 0x1D8F35, 0x51
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x6, 0xD
+ playstatchangeanimation BS_ATTACKER, 0x2, 0x9
+ setbyte sSTATCHANGER, 0x91
+ statbuffchange 0xC1, BattleScript_81D8F62
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F62
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D8F62:: @ 81D8F62
+ playstatchangeanimation BS_ATTACKER, 0x4, 0x9
+ setbyte sSTATCHANGER, 0x92
+ statbuffchange 0xC1, BattleScript_81D8F85
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F85
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D8F85:: @ 81D8F85
+ return
BattleScript_KnockedOff:: @ 81D8F86
- .incbin "baserom.gba", 0x1D8F86, 0xE
+ playanimation BS_TARGET, B_ANIM_ITEM_KNOCKOFF, NULL
+ printstring STRINGID_PKMNKNOCKEDOFF
+ waitmessage 0x40
+ return
BattleScript_MoveUsedIsImprisoned:: @ 81D8F94
- .incbin "baserom.gba", 0x1D8F94, 0xB
+ printstring STRINGID_PKMNCANTUSEMOVESEALED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_SelectingImprisonedMove:: @ 81D8F9F
- .incbin "baserom.gba", 0x1D8F9F, 0x4
+ printstring2 STRINGID_PKMNCANTUSEMOVESEALED
+ atk44
BattleScript_GrudgeTakesPp:: @ 81D8FA3
- .incbin "baserom.gba", 0x1D8FA3, 0x7
+ printstring STRINGID_PKMNLOSTPPGRUDGE
+ waitmessage 0x40
+ return
BattleScript_MagicCoatBounce:: @ 81D8FAA
- .incbin "baserom.gba", 0x1D8FAA, 0x18
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNMOVEBOUNCED
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ atk76 0x1, BS_ATTACKER
+ return
BattleScript_SnatchedMove:: @ 81D8FC2
- .incbin "baserom.gba", 0x1D8FC2, 0x1B
+ attackstring
+ ppreduce
+ snatchmove
+ playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL
+ printstring STRINGID_PKMNSNATCHEDMOVE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ atk5f
+ return
BattleScript_EnduredMsg:: @ 81D8FDD
- .incbin "baserom.gba", 0x1D8FDD, 0x7
+ printstring STRINGID_PKMNENDUREDHIT
+ waitmessage 0x40
+ return
BattleScript_OneHitKOMsg:: @ 81D8FE4
- .incbin "baserom.gba", 0x1D8FE4, 0x7
+ printstring STRINGID_ONEHITKO
+ waitmessage 0x40
+ return
BattleScript_SAtkDown2:: @ 81D8FEB
- .incbin "baserom.gba", 0x1D8FEB, 0x2A
+ setbyte sSTAT_ANIM_PLAYED, 0x0
+ playstatchangeanimation BS_ATTACKER, 0x10, 0xB
+ setbyte sSTATCHANGER, 0xA4
+ statbuffchange 0xC1, BattleScript_81D9014
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D9014
+ printfromtable gStatDownStringIds
+ waitmessage 0x40
+
+BattleScript_81D9014:: @ 81D9014
+ return
BattleScript_FocusPunchSetUp:: @ 81D9015
- .incbin "baserom.gba", 0x1D9015, 0x14
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL
+ printstring STRINGID_PKMNTIGHTENINGFOCUS
+ waitmessage 0x40
+ end2
BattleScript_MoveUsedIsAsleep:: @ 81D9029
- .incbin "baserom.gba", 0x1D9029, 0xD
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation BS_ATTACKER
+ jump BattleScript_MoveEnd
BattleScript_MoveUsedWokeUp:: @ 81D9036
- .incbin "baserom.gba", 0x1D9036, 0x14
+ bicword gHitMarker, 0x10
+ printfromtable gWokeUpStringIds
+ waitmessage 0x40
+ atk98 0x1
+ return
BattleScript_MonWokeUpInUproar:: @ 81D904A
- .incbin "baserom.gba", 0x1D904A, 0x9
+ printstring STRINGID_PKMNWOKEUPINUPROAR
+ waitmessage 0x40
+ atk98 0x1
+ end2
BattleScript_PoisonTurnDmg:: @ 81D9053
- .incbin "baserom.gba", 0x1D9053, 0x22
+ printstring STRINGID_PKMNHURTBYPOISON
+ waitmessage 0x40
+
+BattleScript_81D9059:: @ 81D9059
+ statusanimation BS_ATTACKER
+
+BattleScript_81D905B:: @ 81D905B
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ atk24 BattleScript_81D9074
+
+BattleScript_81D9074:: @ 81D9074
+ end2
BattleScript_BurnTurnDmg:: @ 81D9075
- .incbin "baserom.gba", 0x1D9075, 0xB
+ printstring STRINGID_PKMNHURTBYBURN
+ waitmessage 0x40
+ jump BattleScript_81D9059
BattleScript_MoveUsedIsFrozen:: @ 81D9080
- .incbin "baserom.gba", 0x1D9080, 0xD
+ printstring STRINGID_PKMNISFROZEN
+ waitmessage 0x40
+ statusanimation BS_ATTACKER
+ jump BattleScript_MoveEnd
BattleScript_MoveUsedUnfroze:: @ 81D908D
- .incbin "baserom.gba", 0x1D908D, 0xB
+ printfromtable gGotDefrostedStringIds
+ waitmessage 0x40
+ atk98 0x1
+ return
BattleScript_DefrostedViaFireMove:: @ 81D9098
- .incbin "baserom.gba", 0x1D9098, 0x9
+ printstring STRINGID_PKMNWASDEFROSTED
+ waitmessage 0x40
+ atk98 0x0
+ return
BattleScript_MoveUsedIsParalyzed:: @ 81D90A1
- .incbin "baserom.gba", 0x1D90A1, 0x10
+ printstring STRINGID_PKMNISPARALYZED
+ waitmessage 0x40
+ statusanimation BS_ATTACKER
+ atk76 0x1, BS_TARGET
+ jump BattleScript_MoveEnd
BattleScript_MoveUsedFlinched:: @ 81D90B1
- .incbin "baserom.gba", 0x1D90B1, 0xB
+ printstring STRINGID_PKMNFLINCHED
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_PrintUproarOverTurns:: @ 81D90BC
- .incbin "baserom.gba", 0x1D90BC, 0x9
+ printfromtable gUproarOverTurnStringIds
+ waitmessage 0x40
+ end2
BattleScript_ThrashConfuses:: @ 81D90C5
- .incbin "baserom.gba", 0x1D90C5, 0xE
+ atk66 0x1, 0x1, 0x7
+ printstring STRINGID_PKMNFATIGUECONFUSION
+ waitmessage 0x40
+ end2
BattleScript_MoveUsedIsConfused:: @ 81D90D3
- .incbin "baserom.gba", 0x1D90D3, 0x43
+ printstring STRINGID_PKMNISCONFUSED
+ waitmessage 0x40
+ atk65 0x1, STATUS2_CONFUSION
+ jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D9115
+
+BattleScript_81D90EA:: @ 81D90EA
+ atk76 0x1, BS_TARGET
+ atk8
+ printstring STRINGID_ITHURTCONFUSION
+ waitmessage 0x40
+ missmessage
+ atk5c BS_ATTACKER
+ waitstateatk
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ resultmessage
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ jump BattleScript_MoveEnd
+
+BattleScript_81D9115:: @ 81D9115
+ return
BattleScript_MoveUsedIsConfusedNoMore:: @ 81D9116
- .incbin "baserom.gba", 0x1D9116, 0x7
+ printstring STRINGID_PKMNHEALEDCONFUSION
+ waitmessage 0x40
+ return
BattleScript_PrintPayDayMoneyString:: @ 81D911D
- .incbin "baserom.gba", 0x1D911D, 0x7
+ printstring STRINGID_PKMNPICKEDUPITEM
+ waitmessage 0x40
+ return
BattleScript_WrapTurnDmg:: @ 81D9124
- .incbin "baserom.gba", 0x1D9124, 0x12
+ playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1
+ printstring STRINGID_PKMNHURTBY
+ waitmessage 0x40
+ jump BattleScript_81D905B
BattleScript_WrapEnds:: @ 81D9136
- .incbin "baserom.gba", 0x1D9136, 0x7
+ printstring STRINGID_PKMNFREEDFROM
+ waitmessage 0x40
+ end2
BattleScript_MoveUsedIsInLove:: @ 81D913D
- .incbin "baserom.gba", 0x1D913D, 0xD
+ printstring STRINGID_PKMNINLOVE
+ waitmessage 0x40
+ atk65 0x1, STATUS2_INFATUATION
+ return
BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A
- .incbin "baserom.gba", 0x1D914A, 0xB
+ printstring STRINGID_PKMNIMMOBILIZEDBYLOVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_NightmareTurnDmg:: @ 81D9155
- .incbin "baserom.gba", 0x1D9155, 0x11
+ printstring STRINGID_PKMNLOCKEDINNIGHTMARE
+ waitmessage 0x40
+ atk65 0x1, STATUS2_NIGHTMARE
+ jump BattleScript_81D905B
BattleScript_CurseTurnDmg:: @ 81D9166
- .incbin "baserom.gba", 0x1D9166, 0x11
+ printstring STRINGID_PKMNAFFLICTEDBYCURSE
+ waitmessage 0x40
+ atk65 0x1, STATUS2_CURSED
+ jump BattleScript_81D905B
BattleScript_TargetPRLZHeal:: @ 81D9177
- .incbin "baserom.gba", 0x1D9177, 0x9
+ printstring STRINGID_PKMNHEALEDPARALYSIS
+ waitmessage 0x40
+ atk98 0x0
+ return
gUnknown_81D9180:: @ 81D9180
- .incbin "baserom.gba", 0x1D9180, 0x12
+ printstring STRINGID_MONTOOSCAREDTOMOVE
+ waitmessage 0x40
+ playanimation BS_ATTACKER, 0x17, NULL
+ jump BattleScript_MoveEnd
gUnknown_81D9192:: @ 81D9192
- .incbin "baserom.gba", 0x1D9192, 0xF
+ printstring STRINGID_GHOSTGETOUTGETOUT
+ playanimation BS_ATTACKER, 0x18, NULL
+ jump BattleScript_MoveEnd
gUnknown_81D91A1:: @ 81D91A1
- .incbin "baserom.gba", 0x1D91A1, 0x18
+ pause 0x20
+ printstring STRINGID_SILPHSCOPEUNVEILED
+ waitstateatk
+ playanimation BS_OPPONENT1, B_ANIM_x19, NULL
+ pause 0x20
+ printstring STRINGID_GHOSTWASMAROWAK
+ waitmessage 0x40
+ end2
BattleScript_MoveEffectSleep:: @ 81D91B9
- .incbin "baserom.gba", 0x1D91B9, 0xE
+ statusanimation BS_EFFECT_BATTLER
+ printfromtable gFellAsleepStringIds
+ waitmessage 0x40
+
+BattleScript_81D91C3:: @ 81D91C3
+ atk98 0x2
+ waitstateatk
+ return
BattleScript_YawnMakesAsleep:: @ 81D91C7
- .incbin "baserom.gba", 0x1D91C7, 0xE
+ statusanimation BS_EFFECT_BATTLER
+ printstring STRINGID_PKMNFELLASLEEP
+ waitmessage 0x40
+ atk98 0x2
+ waitstateatk
+ atk6f BS_EFFECT_BATTLER
+ end2
BattleScript_MoveEffectPoison:: @ 81D91D5
- .incbin "baserom.gba", 0x1D91D5, 0xF
+ statusanimation BS_EFFECT_BATTLER
+ printfromtable gGotPoisonedStringIds
+ waitmessage 0x40
+ jump BattleScript_81D91C3
BattleScript_MoveEffectBurn:: @ 81D91E4
- .incbin "baserom.gba", 0x1D91E4, 0xF
+ statusanimation BS_EFFECT_BATTLER
+ printfromtable gGotBurnedStringIds
+ waitmessage 0x40
+ jump BattleScript_81D91C3
BattleScript_MoveEffectFreeze:: @ 81D91F3
- .incbin "baserom.gba", 0x1D91F3, 0xF
+ statusanimation BS_EFFECT_BATTLER
+ printfromtable gGotFrozenStringIds
+ waitmessage 0x40
+ jump BattleScript_81D91C3
BattleScript_MoveEffectParalysis:: @ 81D9202
- .incbin "baserom.gba", 0x1D9202, 0xF
+ statusanimation BS_EFFECT_BATTLER
+ printfromtable gGotParalyzedStringIds
+ waitmessage 0x40
+ jump BattleScript_81D91C3
BattleScript_MoveEffectUproar:: @ 81D9211
- .incbin "baserom.gba", 0x1D9211, 0x7
+ printstring STRINGID_PKMNCAUSEDUPROAR
+ waitmessage 0x40
+ return
BattleScript_MoveEffectToxic:: @ 81D9218
- .incbin "baserom.gba", 0x1D9218, 0xD
+ statusanimation BS_EFFECT_BATTLER
+ printstring STRINGID_PKMNBADLYPOISONED
+ waitmessage 0x40
+ jump BattleScript_81D91C3
BattleScript_MoveEffectPayDay:: @ 81D9225
- .incbin "baserom.gba", 0x1D9225, 0x7
+ printstring STRINGID_COINSSCATTERED
+ waitmessage 0x40
+ return
BattleScript_MoveEffectWrap:: @ 81D922C
- .incbin "baserom.gba", 0x1D922C, 0x9
+ printfromtable gWrappedStringIds
+ waitmessage 0x40
+ return
BattleScript_MoveEffectConfusion:: @ 81D9235
- .incbin "baserom.gba", 0x1D9235, 0xE
+ atk66 0x2, 0x1, 0x7
+ printstring STRINGID_PKMNWASCONFUSED
+ waitmessage 0x40
+ return
BattleScript_MoveEffectRecoil:: @ 81D9243
- .incbin "baserom.gba", 0x1D9243, 0x2E
+ jumpifhalfword CMP_EQUAL, gCurrentMove, 0xA5, BattleScript_81D9256
+ jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270
+
+BattleScript_81D9256:: @ 81D9256
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_PKMNHITWITHRECOIL
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+
+BattleScript_81D9270:: @ 81D9270
+ return
BattleScript_ItemSteal:: @ 81D9271
- .incbin "baserom.gba", 0x1D9271, 0xE
+ playanimation BS_TARGET, B_ANIM_ITEM_STEAL, NULL
+ printstring STRINGID_PKMNSTOLEITEM
+ waitmessage 0x40
+ return
BattleScript_DrizzleActivates:: @ 81D927F
- .incbin "baserom.gba", 0x1D927F, 0x14
+ pause 0x20
+ printstring STRINGID_PKMNMADEITRAIN
+ waitstateatk
+ playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL
+ callatk BattleScript_81D92DC
+ end3
BattleScript_SpeedBoostActivates:: @ 81D9293
- .incbin "baserom.gba", 0x1D9293, 0xE
+ playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printstring STRINGID_PKMNRAISEDSPEED
+ waitmessage 0x40
+ end3
BattleScript_TraceActivates:: @ 81D92A1
- .incbin "baserom.gba", 0x1D92A1, 0xA
+ pause 0x20
+ printstring STRINGID_PKMNTRACED
+ waitmessage 0x40
+ end3
BattleScript_RainDishActivates:: @ 81D92AB
- .incbin "baserom.gba", 0x1D92AB, 0x14
+ printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ end3
BattleScript_SandstreamActivates:: @ 81D92BF
- .incbin "baserom.gba", 0x1D92BF, 0x14
+ pause 0x20
+ printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM
+ waitstateatk
+ playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL
+ callatk BattleScript_81D92DC
+ end3
BattleScript_ShedSkinActivates:: @ 81D92D3
- .incbin "baserom.gba", 0x1D92D3, 0x25
+ printstring STRINGID_PKMNSXCUREDYPROBLEM
+ waitmessage 0x40
+ atk98 0x1
+ end3
+
+BattleScript_81D92DC:: @ 81D92DC
+ setbyte sBATTLER, 0x0
+
+BattleScript_81D92E2:: @ 81D92E2
+ castformswitch
+ addbyte sBATTLER, 0x1
+ jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D92E2
+ return
BattleScript_CastformChange:: @ 81D92F8
- .incbin "baserom.gba", 0x1D92F8, 0xF
+ callatk BattleScript_81D92FE
+ end3
+
+BattleScript_81D92FE:: @ 81D92FE
+ actualcastformswitch
+ waitstateatk
+ printstring STRINGID_PKMNTRANSFORMED
+ waitmessage 0x40
+ return
BattleScript_IntimidateActivatesEnd3:: @ 81D9307
- .incbin "baserom.gba", 0x1D9307, 0x9
+ callatk BattleScript_81D930D
+ end3
+
+BattleScript_81D930D:: @ 81D930D
+ pause 0x20
BattleScript_IntimidateActivates:: @ 81D9310
- .incbin "baserom.gba", 0x1D9310, 0x69
+ setbyte gBattlerTarget, 0x0
+ setbyte sSTATCHANGER, 0x91
+
+BattleScript_81D931C:: @ 81D931C
+ atke1 BattleScript_81D936A
+ jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D935F
+ jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B
+ jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B
+ jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B
+ statbuffchange 0x21, BattleScript_81D935F
+ jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D935F
+ atk47
+ playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
+ printstring STRINGID_PKMNCUTSATTACKWITH
+ waitmessage 0x40
+
+BattleScript_81D935F:: @ 81D935F
+ addbyte gBattlerTarget, 0x1
+ jump BattleScript_81D931C
+
+BattleScript_81D936A:: @ 81D936A
+ return
+
+BattleScript_81D936B:: @ 81D936B
+ pause 0x20
+ printstring STRINGID_PREVENTEDFROMWORKING
+ waitmessage 0x40
+ jump BattleScript_81D935F
BattleScript_DroughtActivates:: @ 81D9379
- .incbin "baserom.gba", 0x1D9379, 0x14
+ pause 0x20
+ printstring STRINGID_PKMNSXINTENSIFIEDSUN
+ waitstateatk
+ playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL
+ callatk BattleScript_81D92DC
+ end3
BattleScript_TookAttack:: @ 81D938D
- .incbin "baserom.gba", 0x1D938D, 0x14
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXTOOKATTACK
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
+ return
BattleScript_SturdyPreventsOHKO:: @ 81D93A1
- .incbin "baserom.gba", 0x1D93A1, 0xE
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBY
+ pause 0x40
+ jump BattleScript_MoveEnd
BattleScript_DampStopsExplosion:: @ 81D93AF
- .incbin "baserom.gba", 0x1D93AF, 0xE
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSUSAGE
+ pause 0x40
+ jump BattleScript_MoveEnd
BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD
- .incbin "baserom.gba", 0x1D93BD, 0x1
+ ppreduce
BattleScript_MoveHPDrain:: @ 81D93BE
- .incbin "baserom.gba", 0x1D93BE, 0x22
+ attackstring
+ pause 0x20
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_TARGET
+ datahpupdate BS_TARGET
+ printstring STRINGID_PKMNRESTOREDHPUSING
+ waitmessage 0x40
+ orbyte gMoveResultFlags, 0x8
+ jump BattleScript_MoveEnd
BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0
- .incbin "baserom.gba", 0x1D93E0, 0x1
+ ppreduce
BattleScript_MonMadeMoveUseless:: @ 81D93E1
- .incbin "baserom.gba", 0x1D93E1, 0x15
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYUSELESS
+ waitmessage 0x40
+ orbyte gMoveResultFlags, 0x8
+ jump BattleScript_MoveEnd
BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6
- .incbin "baserom.gba", 0x1D93F6, 0x1
+ ppreduce
BattleScript_FlashFireBoost:: @ 81D93F7
- .incbin "baserom.gba", 0x1D93F7, 0x1F
+ attackstring
+ pause 0x20
+ printfromtable gFlashFireStringIds
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D9408:: @ 81D9408
+ pause 0x20
+ printstring STRINGID_PKMNANCHORSITSELFWITH
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_AbilityNoStatLoss:: @ 81D9416
- .incbin "baserom.gba", 0x1D9416, 0xA
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSSTATLOSSWITH
+ waitmessage 0x40
+ return
BattleScript_BRNPrevention:: @ 81D9420
- .incbin "baserom.gba", 0x1D9420, 0xC
+ pause 0x20
+ printfromtable gBRNPreventionStringIds
+ waitmessage 0x40
+ return
BattleScript_PRLZPrevention:: @ 81D942C
- .incbin "baserom.gba", 0x1D942C, 0xC
+ pause 0x20
+ printfromtable gPRLZPreventionStringIds
+ waitmessage 0x40
+ return
BattleScript_PSNPrevention:: @ 81D9438
- .incbin "baserom.gba", 0x1D9438, 0xC
+ pause 0x20
+ printfromtable gPSNPreventionStringIds
+ waitmessage 0x40
+ return
BattleScript_ObliviousPreventsAttraction:: @ 81D9444
- .incbin "baserom.gba", 0x1D9444, 0xE
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSROMANCEWITH
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_FlinchPrevention:: @ 81D9452
- .incbin "baserom.gba", 0x1D9452, 0x1C
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSFLINCHING
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
+
+BattleScript_81D9460:: @ 81D9460
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_SoundproofProtected:: @ 81D946E
- .incbin "baserom.gba", 0x1D946E, 0x10
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E
- .incbin "baserom.gba", 0x1D947E, 0x10
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSYLOSS
+ waitmessage 0x40
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ return
BattleScript_StickyHoldActivates:: @ 81D948E
- .incbin "baserom.gba", 0x1D948E, 0xE
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYINEFFECTIVE
+ waitmessage 0x40
+ jump BattleScript_MoveEnd
BattleScript_ColorChangeActivates:: @ 81D949C
- .incbin "baserom.gba", 0x1D949C, 0x7
+ printstring STRINGID_PKMNCHANGEDTYPEWITH
+ waitmessage 0x40
+ return
BattleScript_RoughSkinActivates:: @ 81D94A3
- .incbin "baserom.gba", 0x1D94A3, 0x1B
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_PKMNHURTSWITH
+ waitmessage 0x40
+ faintpokemon BS_ATTACKER, 0x0, NULL
+ return
BattleScript_CuteCharmActivates:: @ 81D94BE
- .incbin "baserom.gba", 0x1D94BE, 0xD
+ atk65 0x1, STATUS2_INFATUATION
+ printstring STRINGID_PKMNSXINFATUATEDY
+ waitmessage 0x40
+ return
BattleScript_ApplySecondaryEffect:: @ 81D94CB
- .incbin "baserom.gba", 0x1D94CB, 0x3
+ waitstateatk
+ seteffectuser
+ return
BattleScript_SynchronizeActivates:: @ 81D94CE
- .incbin "baserom.gba", 0x1D94CE, 0x3
+ waitstateatk
+ seteffecttarget
+ return
BattleScript_AbilityCuredStatus:: @ 81D94D1
- .incbin "baserom.gba", 0x1D94D1, 0x9
+ printstring STRINGID_PKMNSXCUREDITSYPROBLEM
+ waitmessage 0x40
+ atk98 0xA
+ return
BattleScript_IgnoresWhileAsleep:: @ 81D94DA
- .incbin "baserom.gba", 0x1D94DA, 0x10
+ printstring STRINGID_PKMNIGNORESASLEEP
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ end
BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA
- .incbin "baserom.gba", 0x1D94EA, 0x8
+ printstring STRINGID_PKMNIGNOREDORDERS
+ waitmessage 0x40
+ jumptoattack BS_TARGET
BattleScript_MoveUsedLoafingAround:: @ 81D94F2
- .incbin "baserom.gba", 0x1D94F2, 0x12
+ printfromtable gInobedientStringIds
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ end
BattleScript_IgnoresAndFallsAsleep:: @ 81D9504
- .incbin "baserom.gba", 0x1D9504, 0x17
+ printstring STRINGID_PKMNBEGANTONAP
+ waitmessage 0x40
+ setbyte cEFFECT_CHOOSER, 0x41
+ seteffecttarget
+ setbyte sMOVEEND_STATE, 0x0
+ atk49 0x2, 0x10
+ end
BattleScript_IgnoresAndHitsItself:: @ 81D951B
- .incbin "baserom.gba", 0x1D951B, 0xB
+ printstring STRINGID_PKMNWONTOBEY
+ waitmessage 0x40
+ jump BattleScript_81D90EA
BattleScript_SubstituteFade:: @ 81D9526
- .incbin "baserom.gba", 0x1D9526, 0xB
+ playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL
+ printstring STRINGID_PKMNSUBSTITUTEFADED
+ return
BattleScript_BerryCurePrlzEnd2:: @ 81D9531
- .incbin "baserom.gba", 0x1D9531, 0x6
+ callatk BattleScript_BerryCureParRet
+ end2
BattleScript_BerryCureParRet:: @ 81D9537
- .incbin "baserom.gba", 0x1D9537, 0x12
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPARALYSIS
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCurePsnEnd2:: @ 81D9549
- .incbin "baserom.gba", 0x1D9549, 0x6
+ callatk BattleScript_BerryCurePsnRet
+ end2
BattleScript_BerryCurePsnRet:: @ 81D954F
- .incbin "baserom.gba", 0x1D954F, 0x12
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPOISON
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCureBrnEnd2:: @ 81D9561
- .incbin "baserom.gba", 0x1D9561, 0x6
+ callatk BattleScript_BerryCureBrnRet
+ end2
BattleScript_BerryCureBrnRet:: @ 81D9567
- .incbin "baserom.gba", 0x1D9567, 0x12
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMHEALEDBURN
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCureFrzEnd2:: @ 81D9579
- .incbin "baserom.gba", 0x1D9579, 0x6
+ callatk BattleScript_BerryCureFrzRet
+ end2
BattleScript_BerryCureFrzRet:: @ 81D957F
- .incbin "baserom.gba", 0x1D957F, 0x12
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMDEFROSTEDIT
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCureSlpEnd2:: @ 81D9591
- .incbin "baserom.gba", 0x1D9591, 0x6
+ callatk BattleScript_BerryCureSlpRet
+ end2
BattleScript_BerryCureSlpRet:: @ 81D9597
- .incbin "baserom.gba", 0x1D9597, 0x12
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMWOKEIT
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCureConfusionEnd2:: @ 81D95A9
- .incbin "baserom.gba", 0x1D95A9, 0x6
+ callatk BattleScript_BerryCureConfusionRet
+ end2
BattleScript_BerryCureConfusionRet:: @ 81D95AF
- .incbin "baserom.gba", 0x1D95AF, 0x10
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMSNAPPEDOUT
+ waitmessage 0x40
+ removeitem BS_SCRIPTING
+ return
BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF
- .incbin "baserom.gba", 0x1D95BF, 0x6
+ callatk BattleScript_BerryCureChosenStatusRet
+ end2
BattleScript_BerryCureChosenStatusRet:: @ 81D95C5
- .incbin "baserom.gba", 0x1D95C5, 0x14
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printfromtable gBerryEffectStringIds
+ waitmessage 0x40
+ atk98 0xA
+ removeitem BS_SCRIPTING
+ return
BattleScript_WhiteHerbEnd2:: @ 81D95D9
- .incbin "baserom.gba", 0x1D95D9, 0x6
+ callatk BattleScript_WhiteHerbRet
+ end2
BattleScript_WhiteHerbRet:: @ 81D95DF
- .incbin "baserom.gba", 0x1D95DF, 0x10
+ playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDSTATUS
+ waitmessage 0x40
+ removeitem BS_SCRIPTING
+ return
BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF
- .incbin "baserom.gba", 0x1D95EF, 0x1D
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ removeitem BS_ATTACKER
+ end2
BattleScript_BerryPPHealEnd2:: @ 81D960C
- .incbin "baserom.gba", 0x1D960C, 0x10
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDPP
+ waitmessage 0x40
+ removeitem BS_ATTACKER
+ end2
BattleScript_ItemHealHP_End2:: @ 81D961C
- .incbin "baserom.gba", 0x1D961C, 0x6
+ callatk BattleScript_ItemHealHP_Ret
+ end2
BattleScript_ItemHealHP_Ret:: @ 81D9622
- .incbin "baserom.gba", 0x1D9622, 0x1B
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ return
BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D
- .incbin "baserom.gba", 0x1D963D, 0x4
+ printstring2 STRINGID_ITEMALLOWSONLYYMOVE
+ atk44
BattleScript_HangedOnMsg:: @ 81D9641
- .incbin "baserom.gba", 0x1D9641, 0xE
+ playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL
+ printstring STRINGID_PKMNHUNGONWITHX
+ waitmessage 0x40
+ return
BattleScript_BerryConfuseHealEnd2:: @ 81D964F
- .incbin "baserom.gba", 0x1D964F, 0x2A
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ graphicalhpupdate BS_ATTACKER
+ datahpupdate BS_ATTACKER
+ printstring STRINGID_FORXCOMMAYZ
+ waitmessage 0x40
+ setbyte cEFFECT_CHOOSER, 0x47
+ seteffecttarget
+ removeitem BS_ATTACKER
+ end2
BattleScript_BerryStatRaiseEnd2:: @ 81D9679
- .incbin "baserom.gba", 0x1D9679, 0x1B
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ statbuffchange 0x41, BattleScript_81D9686
+
+BattleScript_81D9686:: @ 81D9686
+ setbyte cMULTISTRING_CHOOSER, 0x4
+ callatk BattleScript_StatUp
+ removeitem BS_ATTACKER
+ end2
BattleScript_BerryFocusEnergyEnd2:: @ 81D9694
- .incbin "baserom.gba", 0x1D9694, 0x10
+ playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNUSEDXTOGETPUMPED
+ waitmessage 0x40
+ removeitem BS_ATTACKER
+ end2
BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4
- .incbin "baserom.gba", 0x1D96A4, 0x4
+ printstring2 STRINGID_ITEMSCANTBEUSEDNOW
+ atk44
BattleScript_FlushMessageBox:: @ 81D96A8
- .incbin "baserom.gba", 0x1D96A8, 0x4
+ printstring STRINGID_EMPTYSTRING3
+ return
diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h
index a030a7b48..ede2dbe3b 100644
--- a/include/battle_string_ids.h
+++ b/include/battle_string_ids.h
@@ -1,10 +1,6 @@
#ifndef GUARD_BATTLE_STRING_IDS_H
#define GUARD_BATTLE_STRING_IDS_H
-#include "global.h"
-
-#define BATTLESTRINGS_COUNT 369
-
#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
#define STRINGID_INTROMSG 0
@@ -367,23 +363,30 @@
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
#define STRINGID_BUTNOEFFECT 361
#define STRINGID_PKMNSXHADNOEFFECTONY 362
-#define STRINGID_TWOENEMIESDEFEATED 363
-#define STRINGID_TRAINER2LOSETEXT 364
-#define STRINGID_PKMNINCAPABLEOFPOWER 365
-#define STRINGID_GLINTAPPEARSINEYE 366
-#define STRINGID_PKMNGETTINGINTOPOSITION 367
-#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
-#define STRINGID_PKMNEAGERFORMORE 369
-#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
-#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
-#define STRINGID_TIEDOPPONENTBYREFEREE 372
-#define STRINGID_QUESTIONFORFEITMATCH 373
-#define STRINGID_FORFEITEDMATCH 374
-#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
-#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
-#define STRINGID_PKMNBOXSOMEONESPCFULL 377
-#define STRINGID_PKMNBOXLANETTESPCFULL 378
-#define STRINGID_TRAINER1WINTEXT 379
-#define STRINGID_TRAINER2WINTEXT 380
+#define STRINGID_OAKPLAYERWON 363
+#define STRINGID_OAKPLAYERLOST 364
+#define STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER 365
+#define STRINGID_PLAYERPAIDPRIZEMONEY 366
+#define STRINGID_PKMNTRANSFERREDSOMEONESPC 367
+#define STRINGID_PKMNTRANSFERREDBILLSPC 368
+#define STRINGID_PKMNBOXSOMEONESPCFULL 369
+#define STRINGID_PKMNBOXBILLSPCFULL 370
+#define STRINGID_POKEDUDEUSED 371
+#define STRINGID_POKEFLUTECATCHY 372
+#define STRINGID_POKEFLUTE 373
+#define STRINGID_MONHEARINGFLUTEAWOKE 374
+#define STRINGID_TRAINER2CLASS 375
+#define STRINGID_TRAINER2NAME 376
+#define STRINGID_PLAYERWHITEDOUT 377
+#define STRINGID_MONTOOSCAREDTOMOVE 378
+#define STRINGID_GHOSTGETOUTGETOUT 379
+#define STRINGID_SILPHSCOPEUNVEILED 380
+#define STRINGID_GHOSTWASMAROWAK 381
+#define STRINGID_TRAINER1MON1COMEBACK 382
+#define STRINGID_TRAINER1WINTEXT 383
+#define STRINGID_TRAINER1MON2COMEBACK 384
+#define STRINGID_TRAINER1MON1AND2COMEBACK 385
+
+#define BATTLESTRINGS_COUNT 386
#endif // GUARD_BATTLE_STRING_IDS_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index 3809610ba..c618ffb4b 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -38,8 +38,8 @@
#define BS_ATTACKER 1
#define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3
-#define BS_BATTLER_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_updatestatusicon
+#define BS_BATTLER_0 7
#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
#define BS_SCRIPTING 10