diff options
-rw-r--r-- | asm/macros/battle_script.inc | 3 | ||||
-rw-r--r-- | baserom.ips | bin | 442990 -> 430442 bytes | |||
-rw-r--r-- | data/battle_message.s | 309 | ||||
-rw-r--r-- | data/battle_scripts_1.s | 4384 | ||||
-rw-r--r-- | include/battle_string_ids.h | 47 | ||||
-rw-r--r-- | include/constants/battle_script_commands.h | 2 |
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 Binary files differindex c0a516b06..ad0030b85 100644 --- a/baserom.ips +++ b/baserom.ips 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 |