#include "constants/abilities.h" #include "constants/battle.h" #include "constants/moves.h" #include "constants/songs.h" #include "constants/pokemon.h" .include "include/macros.inc" .include "include/macros/battle_script.inc" .include "constants/constants.inc" .include "constants/battle_script_constants.inc" .section script_data, "aw", %progbits .align 2 gBattleScriptsForMoveEffects:: @ 81D6BBC .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_EffectSpeedUp .4byte BattleScript_EffectSpecialAttackUp .4byte BattleScript_EffectSpecialDefenseUp .4byte BattleScript_EffectAccuracyUp .4byte BattleScript_EffectEvasionUp .4byte BattleScript_EffectAlwaysHit .4byte BattleScript_EffectAttackDown .4byte BattleScript_EffectDefenseDown .4byte BattleScript_EffectSpeedDown .4byte BattleScript_EffectSpecialAttackDown .4byte BattleScript_EffectSpecialDefenseDown .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_EffectHighCritical .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_EffectAccuracyUp2 .4byte BattleScript_EffectEvasionUp2 .4byte BattleScript_EffectTransform .4byte BattleScript_EffectAttackDown2 .4byte BattleScript_EffectDefenseDown2 .4byte BattleScript_EffectSpeedDown2 .4byte BattleScript_EffectSpecialAttackDown2 .4byte BattleScript_EffectSpecialDefenseDown2 .4byte BattleScript_EffectAccuracyDown2 .4byte BattleScript_EffectEvasionDown2 .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_EffectEvasionDownHit .4byte BattleScript_EffectSkyAttack .4byte BattleScript_EffectConfuseHit .4byte BattleScript_EffectTwineedle .4byte BattleScript_EffectVitalThrow .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_EffectUnused60//Thaw .4byte BattleScript_EffectSleepTalk .4byte BattleScript_EffectDestinyBond .4byte BattleScript_EffectFlail .4byte BattleScript_EffectSpite .4byte BattleScript_EffectFalseSwipe .4byte BattleScript_EffectHealBell .4byte BattleScript_EffectQuickAttack .4byte BattleScript_EffectTripleKick .4byte BattleScript_EffectThief .4byte BattleScript_EffectMeanLook .4byte BattleScript_EffectNightmare .4byte BattleScript_EffectMinimize .4byte BattleScript_EffectCurse .4byte BattleScript_EffectUnused6E .4byte BattleScript_EffectProtect .4byte BattleScript_EffectSpikes .4byte BattleScript_EffectForesight .4byte BattleScript_EffectPerishSong .4byte BattleScript_EffectSandstorm .4byte BattleScript_EffectEndure .4byte BattleScript_EffectRollout .4byte BattleScript_EffectSwagger .4byte BattleScript_EffectFuryCutter .4byte BattleScript_EffectAttract .4byte BattleScript_EffectReturn .4byte BattleScript_EffectPresent .4byte BattleScript_EffectFrustration .4byte BattleScript_EffectSafeguard .4byte BattleScript_EffectThawHit .4byte BattleScript_EffectMagnitude .4byte BattleScript_EffectBatonPass .4byte BattleScript_EffectPursuit .4byte BattleScript_EffectRapidSpin .4byte BattleScript_EffectSonicboom .4byte BattleScript_EffectUnused83 .4byte BattleScript_EffectMorningSun .4byte BattleScript_EffectSynthesis .4byte BattleScript_EffectMoonlight .4byte BattleScript_EffectHiddenPower .4byte BattleScript_EffectRainDance .4byte BattleScript_EffectSunnyDay .4byte BattleScript_EffectDefenseUpHit .4byte BattleScript_EffectAttackUpHit .4byte BattleScript_EffectAllStatsUpHit .4byte BattleScript_EffectUnused8D .4byte BattleScript_EffectBellyDrum .4byte BattleScript_EffectPsychUp .4byte BattleScript_EffectMirrorCoat .4byte BattleScript_EffectSkullBash .4byte BattleScript_EffectTwister .4byte BattleScript_EffectEarthquake .4byte BattleScript_EffectFutureSight .4byte BattleScript_EffectGust .4byte BattleScript_EffectStomp .4byte BattleScript_EffectSolarbeam .4byte BattleScript_EffectThunder .4byte BattleScript_EffectTeleport .4byte BattleScript_EffectBeatUp .4byte BattleScript_EffectSemiInvulnerable .4byte BattleScript_EffectDefenseCurl .4byte BattleScript_EffectSoftboiled .4byte BattleScript_EffectFakeOut .4byte BattleScript_EffectUproar .4byte BattleScript_EffectStockpile .4byte BattleScript_EffectSpitUp .4byte BattleScript_EffectSwallow .4byte BattleScript_EffectUnusedA3 .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_EffectBlazeKick .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_EffectPoisonTail .4byte BattleScript_EffectWaterSport .4byte BattleScript_EffectCalmMind .4byte BattleScript_EffectDragonDance .4byte BattleScript_EffectCamouflage BattleScript_EffectHit: @ 81D6F14 BattleScript_EffectAccuracyDown2: @ 81D6F14 BattleScript_EffectAccuracyUp2: @ 81D6F14 BattleScript_EffectAccuracyUp: @ 81D6F14 BattleScript_EffectAlwaysHit: @ 81D6F14 BattleScript_EffectEvasionDown2: @ 81D6F14 BattleScript_EffectEvasionDownHit: @ 81D6F14 BattleScript_EffectEvasionUp2: @ 81D6F14 BattleScript_EffectFalseSwipe: @ 81D6F14 BattleScript_EffectHighCritical: @ 81D6F14 BattleScript_EffectHit: @ 81D6F14 BattleScript_EffectPursuit: @ 81D6F14 BattleScript_EffectQuickAttack: @ 81D6F14 BattleScript_EffectSpecialAttackDown2: @ 81D6F14 BattleScript_EffectSpecialAttackDown: @ 81D6F14 BattleScript_EffectSpecialDefenseDown: @ 81D6F14 BattleScript_EffectSpecialDefenseUp: @ 81D6F14 BattleScript_EffectSpeedUp: @ 81D6F14 BattleScript_EffectUnused60: @ 81D6F14 BattleScript_EffectUnused6E: @ 81D6F14 BattleScript_EffectUnused83: @ 81D6F14 BattleScript_EffectUnused8D: @ 81D6F14 BattleScript_EffectUnusedA3: @ 81D6F14 BattleScript_EffectVitalThrow: @ 81D6F14 jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 BattleScript_HitFromAtkCanceler: @ 81D6F3A attackcanceler BattleScript_HitFromAccCheck: @ 81D6F3B accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE BattleScript_HitFromAtkString: @ 81D6F42 attackstring ppreduce BattleScript_HitFromCritCalc:: @ 81D6F44 critcalc damagecalc typecalc adjustnormaldamage BattleScript_HitFromAtkAnimation: @ 81D6F48 attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 seteffectwithchance tryfaintmon TARGET, FALSE, NULL BattleScript_MoveEnd:: @ 81D6F62 setbyte sMOVEEND_STATE, 0 moveend 0, 0 end BattleScript_MakeMoveMissed: @ 81D6F6C orbyte gMoveResultFlags, MOVE_RESULT_MISSED BattleScript_PrintMoveMissed: @ 81D6F72 attackstring ppreduce BattleScript_MoveMissedPause:: @ 81D6F74 pause 32 BattleScript_MoveMissed: @ 81D6F77 effectivenesssound resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSleep: @ 81D6F81 attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, SLP, BattleScript_AlreadyAsleep jumpifcantmakeasleep BattleScript_CantMakeAsleep jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_SLEEP seteffectprimary goto BattleScript_MoveEnd BattleScript_AlreadyAsleep: @ 81D6FC4 pause 32 printstring BATTLE_TEXT_DefendingAsleep waitmessage 64 goto BattleScript_MoveEnd BattleScript_WasntAffected: @ 81D6FD2 pause 32 printstring BATTLE_TEXT_WasntAffected waitmessage 64 goto BattleScript_MoveEnd BattleScript_CantMakeAsleep: @ 81D6FE0 pause 32 printfromtable gUproarAwakeStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoisonHit: @ 81D6FF0 BattleScript_EffectPoisonTail: @ 81D6FF0 setmoveeffect EFFECT_POISON goto BattleScript_EffectHit BattleScript_EffectAbsorb: @ 81D6FFB attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce critcalc damagecalc typecalc adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze setbyte cMULTISTRING_CHOOSER, 0 goto BattleScript_AbsorbUpdateHp BattleScript_AbsorbLiquidOoze: @ 81D7037 manipulatedamage 0 setbyte cMULTISTRING_CHOOSER, 1 BattleScript_AbsorbUpdateHp: @ 81D703F healthbarupdate USER datahpupdate USER jumpifmovehadnoeffect BattleScript_AbsorbTryFainting printfromtable gLeechSeedDrainStringIds waitmessage 64 BattleScript_AbsorbTryFainting: @ 81D7056 tryfaintmon USER, FALSE, NULL tryfaintmon TARGET, FALSE, NULL goto BattleScript_MoveEnd BattleScript_EffectBlazeKick: @ 81D7069 BattleScript_EffectBurnHit: @ 81D7069 setmoveeffect EFFECT_BURN goto BattleScript_EffectHit BattleScript_EffectFreezeHit: @ 81D7074 setmoveeffect EFFECT_FREEZE goto BattleScript_EffectHit BattleScript_EffectParalyzeHit: @ 81D707F setmoveeffect EFFECT_PARALYSIS goto BattleScript_EffectHit BattleScript_EffectExplosion: @ 81D708A attackcanceler attackstring ppreduce faintifabilitynotdamp setatkhptozero waitstate jumpifbyte NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_1D70A5 call BattleScript_1D70FB goto BattleScript_1D70A7 BattleScript_1D70A5: @ 81D70A5 attackanimation waitanimation BattleScript_1D70A7: @ 81D70A7 movevaluescleanup critcalc damagecalc typecalc adjustnormaldamage accuracycheck BattleScript_1D70E0, ACC_CURR_MOVE effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifnexttargetvalid BattleScript_1D70A7 tryfaintmon USER, FALSE, NULL end BattleScript_1D70E0: @ 81D70E0 effectivenesssound resultmessage waitmessage 64 setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifnexttargetvalid BattleScript_1D70A7 tryfaintmon USER, FALSE, NULL end BattleScript_1D70FB: @ 81D70FB bicbyte gMoveResultFlags, MOVE_RESULT_MISSED attackanimation waitanimation orbyte gMoveResultFlags, MOVE_RESULT_MISSED return BattleScript_EffectDreamEater: @ 81D710A attackcanceler jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D711F jumpifstatus TARGET, SLP, BattleScript_1D7129 BattleScript_1D711F: @ 81D711F attackstring ppreduce waitmessage 64 goto BattleScript_WasntAffected BattleScript_1D7129: @ 81D7129 accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce critcalc damagecalc typecalc adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd printstring BATTLE_TEXT_DreamEaten waitmessage 64 BattleScript_DreamEaterTryFaintEnd: @ 81D7167 tryfaintmon TARGET, FALSE, NULL goto BattleScript_MoveEnd BattleScript_EffectMirrorMove: @ 81D7173 attackcanceler attackstring pause 64 trymirrormove ppreduce orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring BATTLE_TEXT_MirrorFail waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackUp: @ 81D718B setstatchanger ATTACK, 1, FALSE goto BattleScript_EffectStatUp BattleScript_EffectDefenseUp: @ 81D7196 setstatchanger DEFENSE, 1, FALSE goto BattleScript_EffectStatUp BattleScript_EffectSpecialAttackUp: @ 81D71A1 setstatchanger SP_ATTACK, 1, FALSE goto BattleScript_EffectStatUp BattleScript_EffectEvasionUp: @ 81D71AC setstatchanger EVASION, 1, FALSE BattleScript_EffectStatUp: @ 81D71B2 attackcanceler BattleScript_EffectStatUpAfterAtkCanceler: @ 81D71B3 attackstring ppreduce statbuffchange AFFECTS_USER | 0x1, BattleScript_StatUpEnd jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpAttackAnim pause 32 goto BattleScript_StatUpPrintString BattleScript_StatUpAttackAnim: @ 81D71CE attackanimation waitanimation BattleScript_StatUpDoAnim: @ 81D71D0 setgraphicalstatchangevalues playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1 BattleScript_StatUpPrintString: @ 81D71D8 printfromtable gStatUpStringIds waitmessage 64 BattleScript_StatUpEnd: @ 81D71E0 goto BattleScript_MoveEnd BattleScript_StatUp:: @ 81D71E5 playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1 printfromtable gStatUpStringIds waitmessage 64 return BattleScript_EffectAttackDown: @ 81D71F5 setstatchanger ATTACK, 1, TRUE goto BattleScript_EffectStatDown BattleScript_EffectDefenseDown: @ 81D7200 setstatchanger DEFENSE, 1, TRUE goto BattleScript_EffectStatDown BattleScript_EffectSpeedDown: @ 81D720B setstatchanger SPEED, 1, TRUE goto BattleScript_EffectStatDown BattleScript_EffectAccuracyDown: @ 81D7216 setstatchanger ACCURACY, 1, TRUE goto BattleScript_EffectStatDown BattleScript_EffectEvasionDown: @ 81D7221 setstatchanger EVASION, 1, TRUE BattleScript_EffectStatDown: @ 81D7227 attackcanceler jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce statbuffchange 1, BattleScript_StatDownEnd jumpifbyte LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_StatDownDoAnim jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_StatDownEnd pause 32 goto BattleScript_StatDownPrintString BattleScript_StatDownDoAnim: @ 81D725F attackanimation waitanimation setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1 BattleScript_StatDownPrintString: @ 81D7269 printfromtable gStatDownStringIds waitmessage 64 BattleScript_StatDownEnd: @ 81D7271 goto BattleScript_MoveEnd BattleScript_StatDown:: @ 81D7276 playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1 printfromtable gStatDownStringIds waitmessage 64 return BattleScript_EffectHaze: @ 81D7286 attackcanceler attackstring ppreduce attackanimation waitanimation normalisebuffs printstring BATTLE_TEXT_StatElim waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectBide: @ 81D7297 attackcanceler attackstring ppreduce attackanimation waitanimation orword gHitMarker, HITMARKER_CHARGING setbide goto BattleScript_MoveEnd BattleScript_EffectRampage: @ 81D72AB attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_1D72BF ppreduce BattleScript_1D72BF: @ 81D72BF confuseifrepeatingattackends goto BattleScript_HitFromCritCalc BattleScript_EffectRoar: @ 81D72C5 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut jumpifstatus3 TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE forcerandomswitch BattleScript_ButItFailed BattleScript_EffectMultiHit: @ 81D72ED attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setmultihitcounter 0 initmultihitstring setbyte sMULTIHIT_EFFECT, 0 BattleScript_MultiHitLoop: @ 81D7300 jumpifhasnohp USER, BattleScript_MultiHitEnd jumpifhasnohp TARGET, BattleScript_MultiHitPrintStrings jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit jumpifstatus USER, SLP, BattleScript_MultiHitPrintStrings BattleScript_DoMultiHit: @ 81D7322 movevaluescleanup copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT critcalc damagecalc typecalc jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 printstring BATTLE_TEXT_Terminator2 waitmessage 1 addbyte sMULTIHIT_STRING + 4, 1 setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings decrementmultihit BattleScript_MultiHitLoop goto BattleScript_MultiHitPrintStrings BattleScript_MultiHitNoMoreHits: @ 81D7374 pause 32 BattleScript_MultiHitPrintStrings: @ 81D7377 resultmessage waitmessage 64 jumpifmovehadnoeffect BattleScript_MultiHitEnd copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring BATTLE_TEXT_HitMulti waitmessage 64 BattleScript_MultiHitEnd: @ 81D7396 seteffectwithchance tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 2 moveend 1, 0 setbyte sMOVEEND_STATE, 4 moveend 0, 0 end BattleScript_EffectConversion: @ 81D73B1 attackcanceler attackstring ppreduce tryconversiontypechange BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlinchHit: @ 81D73C6 setmoveeffect EFFECT_FLINCH goto BattleScript_EffectHit BattleScript_EffectRestoreHp: @ 81D73D1 attackcanceler attackstring ppreduce tryhealhalfhealth BattleScript_AlreadyAtFullHp, 1 attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_RegainedHealth waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectToxic: @ 81D73F4 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_TOXIC seteffectprimary resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyPoisoned: @ 81D7455 pause 64 printstring BATTLE_TEXT_AlreadyPoisoned waitmessage 64 goto BattleScript_MoveEnd BattleScript_ImmunityProtected: @ 81D7463 copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PSNPrevention goto BattleScript_MoveEnd BattleScript_EffectPayDay: @ 81D747D setmoveeffect EFFECT_PAYDAY goto BattleScript_EffectHit BattleScript_EffectLightScreen: @ 81D7488 attackcanceler attackstring ppreduce setlightscreen goto BattleScript_PrintReflectLightScreenSafeguardString BattleScript_EffectTriAttack: @ 81D7491 setmoveeffect EFFECT_TRI_ATTACK goto BattleScript_EffectHit BattleScript_EffectRest: @ 81D749C attackcanceler attackstring ppreduce jumpifstatus USER, SLP, BattleScript_RestIsAlreadyAsleep jumpifcantmakeasleep BattleScript_RestCantSleep trysetrest BattleScript_AlreadyAtFullHp pause 32 printfromtable gRestUsedStringIds waitmessage 64 updatestatusicon USER waitstate goto BattleScript_PresentHealTarget BattleScript_RestCantSleep: @ 81D74C6 pause 64 printfromtable gUproarAwakeStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_RestIsAlreadyAsleep: @ 81D74D6 pause 32 printstring BATTLE_TEXT_AttackingAsleep waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectOHKO: @ 81D74E4 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON typecalc jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation tryKO BattleScript_KOFail trysetdestinybondtohappen goto BattleScript_HitFromAtkAnimation BattleScript_KOFail: @ 81D7505 pause 64 printfromtable gKOFailedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRazorWind: @ 81D7515 jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 0 call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_TwoTurnMovesSecondTurn: @ 81D753D attackcanceler setmoveeffect EFFECT_CHARGING setbyte sANIM_TURN, 1 clearstatusfromeffect USER orword gHitMarker, HITMARKER_NO_PPDEDUCT jumpifnotmove MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck setmoveeffect EFFECT_FLINCH goto BattleScript_HitFromAccCheck BattleScriptFirstChargingTurn: @ 81D756C attackcanceler printstring BATTLE_TEXT_Terminator2 ppreduce attackanimation waitanimation orword gHitMarker, HITMARKER_CHARGING setbyte cEFFECT_CHOOSER, 76 seteffectprimary copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID printfromtable gFirstTurnOfTwoStringIds waitmessage 64 return BattleScript_EffectSuperFang: @ 81D7596 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE damagetohalftargethp goto BattleScript_HitFromAtkAnimation BattleScript_EffectDragonRage: @ 81D75AD attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE setword gBattleMoveDamage, 40 adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectTrap: @ 81D75DC jumpifnotmove MOVE_WHIRLPOOL, BattleScript_DoWrapEffect jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_DoWrapEffect orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 BattleScript_DoWrapEffect: @ 81D7602 setmoveeffect EFFECT_WRAP goto BattleScript_EffectHit BattleScript_EffectDoubleHit: @ 81D760D attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setmultihitcounter 2 initmultihitstring setbyte sMULTIHIT_EFFECT, 0 goto BattleScript_MultiHitLoop BattleScript_EffectRecoilIfMiss: @ 81D7625 attackcanceler accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE goto BattleScript_HitFromAtkString BattleScript_MoveMissedDoDamage: @ 81D7632 attackstring ppreduce pause 64 resultmessage waitmessage 64 jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd printstring BATTLE_TEXT_KeptGoingCrash waitmessage 64 damagecalc typecalc adjustnormaldamage manipulatedamage 1 bicbyte gMoveResultFlags, MOVE_RESULT_MISSED orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL orbyte gMoveResultFlags, MOVE_RESULT_MISSED goto BattleScript_MoveEnd BattleScript_EffectMist: @ 81D7676 attackcanceler attackstring ppreduce setmist attackanimation waitanimation printfromtable gMistUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFocusEnergy: @ 81D7689 attackcanceler attackstring ppreduce jumpifstatus2 USER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed setfocusenergy attackanimation waitanimation printfromtable gFocusEnergyUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecoil: @ 81D76A6 setmoveeffect EFFECT_RECOIL_25 | AFFECTS_USER | CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit incrementgamestat 27 goto BattleScript_EffectHit BattleScript_EffectConfuse: @ 81D76BF attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_CONFUSION seteffectprimary resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyConfused: @ 81D76FE pause 32 printstring BATTLE_TEXT_AlreadyConfused waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackUp2: @ 81D770C setstatchanger ATTACK, 2, FALSE goto BattleScript_EffectStatUp BattleScript_EffectDefenseUp2: @ 81D7717 setstatchanger DEFENSE, 2, FALSE goto BattleScript_EffectStatUp BattleScript_EffectSpeedUp2: @ 81D7722 setstatchanger SPEED, 2, FALSE goto BattleScript_EffectStatUp BattleScript_EffectSpecialAttackUp2: @ 81D772D setstatchanger SP_ATTACK, 2, FALSE goto BattleScript_EffectStatUp BattleScript_EffectSpecialDefenseUp2: @ 81D7738 setstatchanger SP_DEFENSE, 2, FALSE goto BattleScript_EffectStatUp BattleScript_EffectTransform: @ 81D7743 attackcanceler attackstring ppreduce transformdataexecution attackanimation waitanimation printfromtable gTransformUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackDown2: @ 81D7756 setstatchanger ATTACK, 2, TRUE goto BattleScript_EffectStatDown BattleScript_EffectDefenseDown2: @ 81D7761 setstatchanger DEFENSE, 2, TRUE goto BattleScript_EffectStatDown BattleScript_EffectSpeedDown2: @ 81D776C setstatchanger SPEED, 2, TRUE goto BattleScript_EffectStatDown BattleScript_EffectSpecialDefenseDown2: @ 81D7777 setstatchanger SP_DEFENSE, 2, TRUE goto BattleScript_EffectStatDown BattleScript_EffectReflect: @ 81D7782 attackcanceler attackstring ppreduce setreflect BattleScript_PrintReflectLightScreenSafeguardString: @ 81D7786 attackanimation waitanimation printfromtable gReflectLightScreenSafeguardStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoison: @ 81D7795 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_POISON seteffectprimary resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectParalyze: @ 81D77F6 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_LIMBER, BattleScript_LimberProtected jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed typecalc jumpifmovehadnoeffect BattleScript_ButItFailed jumpifstatus TARGET, PAR, BattleScript_AlreadyParalyzed jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_PARALYSIS seteffectprimary resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyParalyzed: @ 81D784B pause 32 printstring BATTLE_TEXT_AlreadyParalyzed waitmessage 64 goto BattleScript_MoveEnd BattleScript_LimberProtected: @ 81D7859 copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PRLZPrevention goto BattleScript_MoveEnd BattleScript_EffectAttackDownHit: @ 81D7873 setmoveeffect EFFECT_ATK_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectDefenseDownHit: @ 81D787E setmoveeffect EFFECT_DEF_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectSpeedDownHit: @ 81D7889 setmoveeffect EFFECT_SPD_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectSpecialAttackDownHit: @ 81D7894 setmoveeffect EFFECT_SP_ATK_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectSpecialDefenseDownHit: @ 81D789F setmoveeffect EFFECT_SP_DEF_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectAccuracyDownHit: @ 81D78AA setmoveeffect EFFECT_ACC_MINUS_1 goto BattleScript_EffectHit BattleScript_EffectSkyAttack: @ 81D78B5 jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 3 call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_EffectConfuseHit: @ 81D78DD setmoveeffect EFFECT_CONFUSION goto BattleScript_EffectHit BattleScript_EffectTwineedle: @ 81D78E8 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setbyte sMULTIHIT_EFFECT, 2 attackstring ppreduce setmultihitcounter 2 initmultihitstring goto BattleScript_MultiHitLoop BattleScript_EffectSubstitute: @ 81D7900 attackcanceler ppreduce attackstring waitstate jumpifstatus2 USER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute setsubstitute jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_SubstituteAnim pause 32 goto BattleScript_SubstituteString BattleScript_SubstituteAnim: @ 81D7922 attackanimation waitanimation healthbarupdate USER datahpupdate USER BattleScript_SubstituteString: @ 81D7928 printfromtable gSubsituteUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyHasSubstitute: @ 81D7935 pause 32 printstring BATTLE_TEXT_SubAlready waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecharge: @ 81D7943 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setmoveeffect EFFECT_RECHARGE | AFFECTS_USER | CERTAIN goto BattleScript_HitFromAtkString BattleScript_MoveUsedMustRecharge:: @ 81D7956 printstring BATTLE_TEXT_MustRecharge waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRage: @ 81D7961 attackcanceler accuracycheck BattleScript_RageMiss, ACC_CURR_MOVE setmoveeffect EFFECT_RAGE seteffectprimary setmoveeffect 0 goto BattleScript_HitFromAtkString BattleScript_RageMiss: @ 81D797B setmoveeffect EFFECT_RAGE clearstatusfromeffect USER goto BattleScript_PrintMoveMissed BattleScript_EffectMimic: @ 81D7988 attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON mimicattackcopy BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_LearnedMove2 waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMetronome: @ 81D79AE attackcanceler attackstring pause 32 attackanimation waitanimation setbyte sANIM_TURN, 0 setbyte sANIM_TARGETS_HIT, 0 metronome BattleScript_EffectLeechSeed: @ 81D79C2 attackcanceler attackstring pause 32 ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE BattleScript_DoLeechSeed: @ 81D79D9 setseeded attackanimation waitanimation printfromtable gLeechSeedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSplash: @ 81D79E9 attackcanceler attackstring ppreduce attackanimation waitanimation incrementgamestat 26 printstring BATTLE_TEXT_Nothing waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectDisable: @ 81D79FB attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE disablelastusedattack BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_MoveWasDisabled waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLevelDamage: @ 81D7A17 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE dmgtolevel adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectPsywave: @ 81D7A2F attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE psywavedamageeffect adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectCounter: @ 81D7A47 attackcanceler counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc2 adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectEncore: @ 81D7A5D attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce trysetencore BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_EncoreGot waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPainSplit: @ 81D7A79 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON painsplitdmgcalc BattleScript_ButItFailed attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER copyword gBattleMoveDamage, sPAINSPLIT_HP healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_PainSplit waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSnore: @ 81D7AB0 attackcanceler jumpifstatus USER, SLP, BattleScript_SnoreIsAsleep attackstring ppreduce goto BattleScript_ButItFailed BattleScript_SnoreIsAsleep: @ 81D7AC2 jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoSnore printstring BATTLE_TEXT_FastAsleep waitmessage 64 statusanimation USER BattleScript_DoSnore: @ 81D7AD6 attackstring ppreduce accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE setmoveeffect EFFECT_FLINCH goto BattleScript_HitFromCritCalc BattleScript_EffectConversion2: @ 81D7AEA attackcanceler attackstring ppreduce settypetorandomresistance BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLockOn: @ 81D7AFF attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE setalwayshitflag attackanimation waitanimation printstring BATTLE_TEXT_TookAim waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSketch: @ 81D7B21 attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed copymovepermanently BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SketchedMove waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSleepTalk: @ 81D7B40 attackcanceler jumpifstatus USER, SLP, BattleScript_1D7B52 attackstring ppreduce goto BattleScript_ButItFailed BattleScript_1D7B52: @ 81D7B52 printstring BATTLE_TEXT_FastAsleep waitmessage 64 statusanimation USER attackstring ppreduce orword gHitMarker, HITMARKER_NO_PPDEDUCT trychoosesleeptalkmove BattleScript_SleepTalkIsAsleep pause 64 goto BattleScript_ButItFailed BattleScript_SleepTalkIsAsleep: @ 81D7B72 attackanimation waitanimation setbyte sANIM_TURN, 0 setbyte sANIM_TARGETS_HIT, 0 jumptorandomattack USER BattleScript_EffectDestinyBond: @ 81D7B82 attackcanceler attackstring ppreduce setdestinybond attackanimation waitanimation printstring BATTLE_TEXT_DestinyBondTake waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlail: @ 81D7B93 remaininghptopower goto BattleScript_EffectHit BattleScript_EffectSpite: @ 81D7B99 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryspiteppreduce BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_ReducedBy waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHealBell: @ 81D7BB5 attackcanceler attackstring ppreduce healpartystatus waitstate attackanimation waitanimation printfromtable gPartyStatusHealStringIds waitmessage 64 jumpifnotmove MOVE_HEAL_BELL, BattleScript_PartyHealEnd jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_CheckHealBellMon2Unaffected printstring BATTLE_TEXT_BlocksOther waitmessage 64 BattleScript_CheckHealBellMon2Unaffected: @ 81D7BE1 jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_PartyHealEnd printstring BATTLE_TEXT_BlocksOther2 waitmessage 64 BattleScript_PartyHealEnd: @ 81D7BF2 updatestatusicon ATTACKER_WITH_PARTNER waitstate goto BattleScript_MoveEnd BattleScript_EffectTripleKick: @ 81D7BFA attackcanceler attackstring ppreduce sethword sTRIPLE_KICK_POWER, 0 initmultihitstring setmultihit 3 BattleScript_TripleKickLoop: @ 81D7C0C jumpifhasnohp USER, BattleScript_TripleKickEnd jumpifhasnohp TARGET, BattleScript_TripleKickNoMoreHits jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack jumpifstatus USER, SLP, BattleScript_TripleKickNoMoreHits BattleScript_DoTripleKickAttack: @ 81D7C2E movevaluescleanup accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE addbyte sTRIPLE_KICK_POWER, 10 addbyte sMULTIHIT_STRING + 4, 1 copyhword gDynamicBasePower, sTRIPLE_KICK_POWER critcalc damagecalc typecalc adjustnormaldamage jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 printstring BATTLE_TEXT_Terminator2 waitmessage 1 setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings decrementmultihit BattleScript_TripleKickLoop goto BattleScript_TripleKickPrintStrings BattleScript_TripleKickNoMoreHits: @ 81D7C8D pause 32 BattleScript_TripleKickPrintStrings: @ 81D7C90 resultmessage waitmessage 64 jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd copyarray gBattleTextBuff1,sMULTIHIT_STRING, 6 printstring BATTLE_TEXT_HitMulti waitmessage 64 BattleScript_TripleKickEnd: @ 81D7CAF seteffectwithchance tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 14 moveend 0, 0 end BattleScript_EffectThief: @ 81D7CC1 setmoveeffect EFFECT_STEAL_ITEM goto BattleScript_EffectHit BattleScript_EffectMeanLook: @ 81D7CCC attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC jumpifstatus2 TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed attackanimation waitanimation setmoveeffect EFFECT_PREVENT_ESCAPE seteffectprimary printstring BATTLE_TEXT_CantEscapeNow waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectNightmare: @ 81D7CF4 attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus2 TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed jumpifstatus TARGET, SLP, BattleScript_NightmareWorked goto BattleScript_ButItFailed BattleScript_NightmareWorked: @ 81D7D1A attackanimation waitanimation setmoveeffect EFFECT_NIGHTMARE seteffectprimary printstring BATTLE_TEXT_NightmareStart waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMinimize: @ 81D7D2E attackcanceler setminimize setstatchanger EVASION, 1, FALSE goto BattleScript_EffectStatUpAfterAtkCanceler BattleScript_EffectCurse: @ 81D7D3B jumpiftype2 USER, TYPE_GHOST, BattleScript_GhostCurse attackcanceler attackstring ppreduce jumpifstat USER, GREATER_THAN, SPEED, 0, BattleScript_CurseTrySpeed jumpifstat USER, NOT_EQUAL, ATTACK, 12, BattleScript_CurseTrySpeed jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_ButItFailed BattleScript_CurseTrySpeed: @ 81D7D60 copybyte gBattlerTarget, gBattlerAttacker setbyte sANIM_TURN, 1 attackanimation waitanimation setstatchanger SPEED, 1, TRUE statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryAttack printfromtable gStatDownStringIds waitmessage 64 BattleScript_CurseTryAttack: @ 81D7D86 setstatchanger ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryDefence printfromtable gStatUpStringIds waitmessage 64 BattleScript_CurseTryDefence: @ 81D7D9A setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseEnd printfromtable gStatUpStringIds waitmessage 64 BattleScript_CurseEnd: @ 81D7DAE goto BattleScript_MoveEnd BattleScript_GhostCurse: @ 81D7DB3 jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_DoGhostCurse getmovetarget USER BattleScript_DoGhostCurse: @ 81D7DC4 attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed cursetarget BattleScript_ButItFailed orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE setbyte sANIM_TURN, 0 attackanimation waitanimation healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_CurseLay waitmessage 64 tryfaintmon USER, FALSE, NULL goto BattleScript_MoveEnd BattleScript_EffectEndure: @ 81D7DFD BattleScript_EffectProtect: @ 81D7DFD attackcanceler attackstring ppreduce setprotectlike attackanimation waitanimation printfromtable gProtectLikeUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSpikes: @ 81D7E10 attackcanceler trysetspikes BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation printstring BATTLE_TEXT_SpikesScattered waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectForesight: @ 81D7E25 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setforesight attackanimation waitanimation printstring BATTLE_TEXT_IdentifiedPoke waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPerishSong: @ 81D7E3D attackcanceler attackstring ppreduce trysetperishsong BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_PerishSong waitmessage 64 setbyte sBANK, 0 BattleScript_PerishSongLoop: @ 81D7E53 jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_1D7E73 BattleScript_PerishSongLoopIncrement: @ 81D7E5A addbyte sBANK, 1 jumpifbytenotequal sBANK, gBattlersCount, BattleScript_PerishSongLoop goto BattleScript_MoveEnd BattleScript_1D7E73: @ 81D7E73 printstring BATTLE_TEXT_BlocksOther2 waitmessage 64 goto BattleScript_PerishSongLoopIncrement BattleScript_EffectSandstorm: @ 81D7E7E attackcanceler attackstring ppreduce setsandstorm goto BattleScript_MoveWeatherChange BattleScript_EffectRollout: @ 81D7E87 attackcanceler attackstring jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_RolloutCheckAccuracy ppreduce BattleScript_RolloutCheckAccuracy: @ 81D7E94 accuracycheck BattleScript_RolloutHit, ACC_CURR_MOVE BattleScript_RolloutHit: @ 81D7E9B typecalc2 rolloutdamagecalculation goto BattleScript_HitFromCritCalc BattleScript_EffectSwagger: @ 81D7EA2 attackcanceler jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed attackanimation waitanimation setstatchanger ATTACK, 2, FALSE statbuffchange 1, BattleScript_SwaggerTryConfuse jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SwaggerTryConfuse setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1 printfromtable gStatUpStringIds waitmessage 64 BattleScript_SwaggerTryConfuse: @ 81D7EE5 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd BattleScript_EffectFuryCutter: @ 81D7F00 attackcanceler attackstring ppreduce accuracycheck BattleScript_FuryCutterHit, ACC_CURR_MOVE BattleScript_FuryCutterHit: @ 81D7F0A furycuttercalc critcalc damagecalc typecalc jumpifmovehadnoeffect BattleScript_FuryCutterHit adjustnormaldamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectAttract: @ 81D7F1F attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryinfatuating BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_FellLove waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFrustration: @ 81D7F3B BattleScript_EffectReturn: @ 81D7F3B attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE happinesstodamagecalculation goto BattleScript_HitFromAtkString BattleScript_EffectPresent: @ 81D7F49 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc presentdamagecalculation BattleScript_EffectSafeguard: @ 81D7F55 attackcanceler attackstring ppreduce setsafeguard goto BattleScript_PrintReflectLightScreenSafeguardString BattleScript_EffectThawHit: @ 81D7F5E setmoveeffect EFFECT_BURN goto BattleScript_EffectHit BattleScript_EffectMagnitude: @ 81D7F69 attackcanceler attackstring ppreduce selectfirstvalidtarget magnitudedamagecalculation pause 32 printstring BATTLE_TEXT_MagnitudeCount waitmessage 64 goto BattleScript_HitsAllWithUndergroundBonusLoop BattleScript_EffectBatonPass: @ 81D7F7C attackcanceler attackstring ppreduce jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | USER, BattleScript_ButItFailed attackanimation waitanimation openpartyscreen USER, BattleScript_ButItFailed switchoutabilities USER waitstate switchhandleorder USER, 2 returntoball USER getswitchedmondata USER switchindataupdate USER hpthresholds USER printstring 3 switchinanim USER, 1 waitstate switchineffects USER goto BattleScript_MoveEnd BattleScript_EffectRapidSpin: @ 81D7FA9 setmoveeffect EFFECT_RAPIDSPIN | CERTAIN goto BattleScript_EffectHit BattleScript_EffectSonicboom: @ 81D7FB4 attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE setword gBattleMoveDamage, 20 adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectMoonlight: @ 81D7FE3 BattleScript_EffectMorningSun: @ 81D7FE3 BattleScript_EffectSynthesis: @ 81D7FE3 attackcanceler attackstring ppreduce recoverbasedonsunlight BattleScript_AlreadyAtFullHp goto BattleScript_PresentHealTarget BattleScript_EffectHiddenPower: @ 81D7FF0 hiddenpowercalc goto BattleScript_EffectHit BattleScript_EffectRainDance: @ 81D7FF6 attackcanceler attackstring ppreduce setrain BattleScript_MoveWeatherChange: @ 81D7FFA attackanimation waitanimation printfromtable gMoveWeatherChangeStringIds waitmessage 64 call BattleScript_WeatherFormChanges goto BattleScript_MoveEnd BattleScript_EffectSunnyDay: @ 81D800E attackcanceler attackstring ppreduce setsunny goto BattleScript_MoveWeatherChange BattleScript_EffectDefenseUpHit: @ 81D8017 setbyte cEFFECT_CHOOSER, 80 goto BattleScript_EffectHit BattleScript_EffectAttackUpHit: @ 81D8022 setbyte cEFFECT_CHOOSER, 79 goto BattleScript_EffectHit BattleScript_EffectAllStatsUpHit: @ 81D802D setbyte cEFFECT_CHOOSER, 98 goto BattleScript_EffectHit BattleScript_EffectBellyDrum: @ 81D8038 attackcanceler attackstring ppreduce maxattackhalvehp BattleScript_ButItFailed orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE attackanimation waitanimation healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_CutHPMaxATK waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPsychUp: @ 81D805A attackcanceler attackstring ppreduce copyfoestats BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_CopyStatChanges waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMirrorCoat: @ 81D806F attackcanceler mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc2 adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectSkullBash: @ 81D8085 jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 2 call BattleScriptFirstChargingTurn setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_SkullBashEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SkullBashEnd setgraphicalstatchangevalues playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1 printfromtable gStatUpStringIds waitmessage 64 BattleScript_SkullBashEnd: @ 81D80CF goto BattleScript_MoveEnd BattleScript_EffectTwister: @ 81D80D4 jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_FlinchEffect orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 BattleScript_FlinchEffect: @ 81D80EE setmoveeffect EFFECT_FLINCH goto BattleScript_EffectHit BattleScript_EffectEarthquake: @ 81D80F9 attackcanceler attackstring ppreduce selectfirstvalidtarget BattleScript_HitsAllWithUndergroundBonusLoop: @ 81D80FD movevaluescleanup jumpifnostatus3 TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 2 goto BattleScript_DoHitAllWithUndergroundBonus BattleScript_HitsAllNoUndergroundBonus: @ 81D811D bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 1 BattleScript_DoHitAllWithUndergroundBonus: @ 81D812C accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE critcalc damagecalc typecalc adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 printstring BATTLE_TEXT_Terminator2 waitmessage 1 tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end BattleScript_HitAllWithUndergroundBonusMissed: @ 81D8165 pause 32 typecalc effectivenesssound resultmessage waitmessage 64 setbyte sMOVEEND_STATE, 0 moveend 2, 16 jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end BattleScript_EffectFutureSight: @ 81D817D attackcanceler attackstring ppreduce trysetfutureattack BattleScript_ButItFailed attackanimation waitanimation printfromtable gFutureMoveUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectGust: @ 81D8194 jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_EffectHit orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectStomp: @ 81D81B3 jumpifnostatus3 TARGET, STATUS3_MINIMIZED, BattleScript_FlinchEffect setbyte sDMG_MULTIPLIER, 2 goto BattleScript_FlinchEffect BattleScript_EffectSolarbeam: @ 81D81C9 jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn jumpifhalfword COMMON_BITS, gBattleWeather, 96, BattleScript_SolarbeamOnFirstTurn BattleScript_SolarbeamDecideTurn: @ 81D81E1 jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 1 call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_SolarbeamOnFirstTurn: @ 81D8209 orword gHitMarker, HITMARKER_CHARGING setbyte cEFFECT_CHOOSER, 76 seteffectprimary ppreduce goto BattleScript_TwoTurnMovesSecondTurn BattleScript_EffectThunder: @ 81D821F setmoveeffect EFFECT_PARALYSIS orword gHitMarker, HITMARKER_IGNORE_ON_AIR goto BattleScript_EffectHit BattleScript_EffectTeleport: @ 81D8233 attackcanceler attackstring ppreduce jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed getifcantrunfrombattle USER jumpifbyte EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed jumpifbyte EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective attackanimation waitanimation printstring BATTLE_TEXT_FledBattle waitmessage 64 setbyte gBattleOutcome, 5 goto BattleScript_MoveEnd BattleScript_EffectBeatUp: @ 81D826E attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring pause 32 ppreduce setbyte gBattleCommunication, 0 BattleScript_BeatUpLoop: @ 81D8281 movevaluescleanup trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed printstring BATTLE_TEXT_PokeAttack critcalc jumpifbyte NOT_EQUAL, gCritMultiplier, 2, BattleScript_BeatUpAttack manipulatedamage 2 BattleScript_BeatUpAttack: @ 81D829C adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 0 moveend 2, 16 goto BattleScript_BeatUpLoop BattleScript_BeatUpEnd: @ 81D82C4 end BattleScript_EffectSemiInvulnerable: @ 81D82C5 jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable jumpifmove MOVE_FLY, BattleScript_FirstTurnFly jumpifmove MOVE_DIVE, BattleScript_FirstTurnDive jumpifmove MOVE_BOUNCE, BattleScript_FirstTurnBounce setbyte sTWOTURN_STRINGID, 5 goto BattleScript_FirstTurnSemiInvulnerable BattleScript_FirstTurnBounce: @ 81D830C setbyte sTWOTURN_STRINGID, 7 goto BattleScript_FirstTurnSemiInvulnerable BattleScript_FirstTurnDive: @ 81D8317 setbyte sTWOTURN_STRINGID, 6 goto BattleScript_FirstTurnSemiInvulnerable BattleScript_FirstTurnFly: @ 81D8322 setbyte sTWOTURN_STRINGID, 4 BattleScript_FirstTurnSemiInvulnerable: @ 81D8328 call BattleScriptFirstChargingTurn setsemiinvulnerablebit goto BattleScript_MoveEnd BattleScript_SecondTurnSemiInvulnerable: @ 81D8333 attackcanceler setmoveeffect EFFECT_CHARGING setbyte sANIM_TURN, 1 clearstatusfromeffect USER orword gHitMarker, HITMARKER_NO_PPDEDUCT jumpifnotmove MOVE_BOUNCE, BattleScript_SemiInvulnerableTryHit setmoveeffect EFFECT_PARALYSIS BattleScript_SemiInvulnerableTryHit: @ 81D835D accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE clearsemiinvulnerablebit goto BattleScript_HitFromAtkString BattleScript_SemiInvulnerableMiss: @ 81D836A clearsemiinvulnerablebit goto BattleScript_PrintMoveMissed BattleScript_EffectDefenseCurl: @ 81D8370 attackcanceler attackstring ppreduce setdefensecurlbit setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_DefenseCurlDoStatUpAnim jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpPrintString attackanimation waitanimation BattleScript_DefenseCurlDoStatUpAnim: @ 81D838D goto BattleScript_StatUpDoAnim BattleScript_EffectSoftboiled: @ 81D8392 attackcanceler attackstring ppreduce tryhealhalfhealth BattleScript_AlreadyAtFullHp, 0 BattleScript_PresentHealTarget:: @ 81D839B attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_RegainedHealth waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyAtFullHp:: @ 81D83B5 pause 32 printstring BATTLE_TEXT_HPFull waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFakeOut: @ 81D83C3 attackcanceler jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce setbyte cEFFECT_CHOOSER, 136 goto BattleScript_EffectHit BattleScript_ButItFailedAtkStringPpReduce: @ 81D83D4 attackstring BattleScript_ButItFailedPpReduce: @ 81D83D5 ppreduce BattleScript_ButItFailed:: @ 81D83D6 pause 32 orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_NotAffected: @ 81D83E8 pause 32 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectUproar: @ 81D83FA attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setbyte cEFFECT_CHOOSER, 74 attackstring jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_UproarHit ppreduce BattleScript_UproarHit: @ 81D8414 nop goto BattleScript_HitFromCritCalc BattleScript_EffectStockpile: @ 81D841A attackcanceler attackstring ppreduce stockpile attackanimation waitanimation printfromtable gStockpileUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSpitUp: @ 81D842D attackcanceler jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_SpitUpFail attackstring ppreduce accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE stockpiletobasedamage BattleScript_1D844E typecalc adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_1D844E: @ 81D844E pause 32 printstring BATTLE_TEXT_SpitUpFail waitmessage 64 goto BattleScript_MoveEnd BattleScript_SpitUpFail: @ 81D845C attackstring ppreduce pause 64 stockpiletobasedamage BattleScript_1D844E resultmessage waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSwallow: @ 81D846F attackcanceler attackstring ppreduce stockpiletohpheal BattleScript_SwallowFail goto BattleScript_PresentHealTarget BattleScript_SwallowFail: @ 81D847C pause 32 printfromtable gSwallowFailStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHail: @ 81D848C attackcanceler attackstring ppreduce sethail goto BattleScript_MoveWeatherChange BattleScript_EffectTorment: @ 81D8495 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE settorment BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TormentSubject waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlatter: @ 81D84B1 attackcanceler jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed attackanimation waitanimation setstatchanger SP_ATTACK, 1, FALSE statbuffchange 1, BattleScript_FlatterTryConfuse jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_FlatterTryConfuse setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1 printfromtable gStatUpStringIds waitmessage 64 BattleScript_FlatterTryConfuse: @ 81D84F4 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd BattleScript_EffectWillOWisp: @ 81D850F attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, BRN, BattleScript_AlreadyBurned jumpiftype TARGET, TYPE_FIRE, BattleScript_NotAffected jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect EFFECT_BURN seteffectprimary goto BattleScript_MoveEnd BattleScript_WaterVeilPrevents: @ 81D855B copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_BRNPrevention goto BattleScript_MoveEnd BattleScript_AlreadyBurned: @ 81D8575 pause 32 printstring BATTLE_TEXT_AlreadyBurned waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMemento: @ 81D8583 attackcanceler jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_1D860A attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_ButItFailed setatkhptozero attackanimation waitanimation jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D85FF setbyte sFIELD_1B, 0 playstatchangeanimation TARGET, 18, 7 playstatchangeanimation TARGET, 2, 3 setstatchanger ATTACK, 2, TRUE statbuffchange 1, BattleScript_1D85D0 jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85D0 printfromtable gStatDownStringIds waitmessage 64 BattleScript_1D85D0: @ 81D85D0 playstatchangeanimation TARGET, 16, 3 setstatchanger SP_ATTACK, 2, TRUE statbuffchange 1, BattleScript_1D85F3 jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85F3 printfromtable gStatDownStringIds waitmessage 64 BattleScript_1D85F3: @ 81D85F3 tryfaintmon USER, FALSE, NULL goto BattleScript_MoveEnd BattleScript_1D85FF: @ 81D85FF printstring BATTLE_TEXT_NoEffect waitmessage 64 goto BattleScript_1D85F3 BattleScript_1D860A: @ 81D860A attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_1D8611 BattleScript_1D8611: @ 81D8611 setatkhptozero pause 64 effectivenesssound resultmessage waitmessage 64 tryfaintmon USER, FALSE, NULL goto BattleScript_MoveEnd BattleScript_EffectFacade: @ 81D8626 jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_FacadeDoubleDmg goto BattleScript_EffectHit BattleScript_FacadeDoubleDmg: @ 81D8635 setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFocusPunch: @ 81D8640 attackcanceler jumpifnodamage BattleScript_HitFromAccCheck ppreduce printstring BATTLE_TEXT_LostFocus waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSmellingsalt: @ 81D8652 jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN jumpifstatus TARGET, PAR, BattleScript_SmellingsaltDoubleDmg goto BattleScript_EffectHit BattleScript_SmellingsaltDoubleDmg: @ 81D8671 setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFollowMe: @ 81D867C attackcanceler attackstring ppreduce setforcedtarget attackanimation waitanimation printstring BATTLE_TEXT_CenterAttention waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectNaturePower: @ 81D868D attackcanceler attackstring pause 32 callterrainattack printstring BATTLE_TEXT_NaturePower waitmessage 64 return BattleScript_EffectCharge: @ 81D869A attackcanceler attackstring ppreduce setcharge attackanimation waitanimation printstring BATTLE_TEXT_ChargingPower waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectTaunt: @ 81D86AB attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE settaunt BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TauntFell waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHelpingHand: @ 81D86C7 attackcanceler attackstring ppreduce trysethelpinghand BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_ReadyToHelp waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectTrick: @ 81D86DC attackcanceler attackstring ppreduce jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryswapitems BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SwitchedItems waitmessage 64 printfromtable gItemSwapStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRolePlay: @ 81D870A attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON trycopyability BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_CopiedObject waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectWish: @ 81D8726 attackcanceler attackstring ppreduce trywish 0, BattleScript_ButItFailed attackanimation waitanimation goto BattleScript_MoveEnd BattleScript_EffectAssist: @ 81D8736 attackcanceler attackstring assistattackselect BattleScript_ButItFailedPpReduce attackanimation waitanimation setbyte sANIM_TURN, 0 setbyte sANIM_TARGETS_HIT, 0 jumptorandomattack USER BattleScript_EffectIngrain: @ 81D874D attackcanceler attackstring ppreduce trysetroots BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_PlantedRoots waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSuperpower: @ 81D8762 setmoveeffect EFFECT_ATK_DEF_DOWN | AFFECTS_USER | CERTAIN goto BattleScript_EffectHit BattleScript_EffectMagicCoat: @ 81D876D attackcanceler trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation printstring BATTLE_TEXT_ShroudedItself waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecycle: @ 81D8782 attackcanceler attackstring ppreduce tryrecycleitem BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_FoundOne waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRevenge: @ 81D8797 doubledamagedealtifdamaged goto BattleScript_EffectHit BattleScript_EffectBrickBreak: @ 81D879D attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce removelightscreenreflect critcalc damagecalc typecalc adjustnormaldamage jumpifbyte EQUAL, sANIM_TURN, 0, BattleScript_BrickBreakAnim bicbyte gMoveResultFlags, 9 BattleScript_BrickBreakAnim: @ 81D87BD attackanimation waitanimation jumpifbyte LESS_THAN, sANIM_TURN, 2, BattleScript_BrickBreakDoHit printstring BATTLE_TEXT_BrokeWall waitmessage 64 BattleScript_BrickBreakDoHit: @ 81D87D0 typecalc2 effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 seteffectwithchance tryfaintmon TARGET, FALSE, NULL goto BattleScript_MoveEnd BattleScript_EffectYawn: @ 81D87EE attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_DrowsyMade waitmessage 64 goto BattleScript_MoveEnd BattleScript_PrintBankAbilityMadeIneffective: @ 81D882F copybyte sBANK, sBANK_WITH_ABILITY BattleScript_PrintAbilityMadeIneffective: @ 81D8839 pause 32 printstring BATTLE_TEXT_MadeIneffective2 waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectKnockOff: @ 81D8847 setmoveeffect EFFECT_KNOCK_OFF goto BattleScript_EffectHit BattleScript_EffectEndeavor: @ 81D8852 attackcanceler attackstring ppreduce setdamagetohealthdifference BattleScript_ButItFailed copyword gHpDealt, gBattleMoveDamage accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE typecalc jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE copyword gBattleMoveDamage, gHpDealt adjustsetdamage goto BattleScript_HitFromAtkAnimation BattleScript_EffectEruption: @ 81D888D scaledamagebyhealthratio goto BattleScript_EffectHit BattleScript_EffectSkillSwap: @ 81D8893 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON tryswapabilities BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_AbilitySwap waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectImprison: @ 81D88AF attackcanceler attackstring ppreduce tryimprision BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SealedMove waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRefresh: @ 81D88C4 attackcanceler attackstring ppreduce cureifburnedparalysedorpoisoned BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_StatusNormal waitmessage 64 updatestatusicon USER goto BattleScript_MoveEnd BattleScript_EffectGrudge: @ 81D88DB attackcanceler attackstring ppreduce trysetgrudge BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_GrudgeBear waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSnatch: @ 81D88F0 attackcanceler trysetsnatch BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation pause 32 printstring BATTLE_TEXT_AwaitMove waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLowKick: @ 81D8908 attackcanceler attackstring ppreduce weightdamagecalculation accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE goto BattleScript_HitFromCritCalc BattleScript_EffectSecretPower: @ 81D8918 getsecretpowereffect goto BattleScript_EffectHit BattleScript_EffectDoubleEdge: @ 81D891E setmoveeffect EFFECT_RECOIL_33_PARALYSIS | AFFECTS_USER | CERTAIN goto BattleScript_EffectHit BattleScript_EffectTeeterDance: @ 81D8929 attackcanceler attackstring ppreduce setbyte gBattlerTarget, 0 BattleScript_TeeterDanceLoop: @ 81D8932 movevaluescleanup setmoveeffect EFFECT_CONFUSION jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_TeeterDanceDoMoveEndIncrement jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceLoopIncrement jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected attackanimation waitanimation seteffectprimary resultmessage waitmessage 64 BattleScript_TeeterDanceDoMoveEndIncrement: @ 81D8978 setbyte sMOVEEND_STATE, 0 moveend 2, 16 addbyte gBattlerTarget, 1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop end BattleScript_TeeterDanceLoopIncrement: @ 81D8996 pause 32 printstring BATTLE_TEXT_PreventedConfusion waitmessage 64 goto BattleScript_TeeterDanceDoMoveEndIncrement BattleScript_TeeterDanceSafeguardProtected: @ 81D89A4 pause 32 printstring BATTLE_TEXT_SafeguardActive waitmessage 64 goto BattleScript_TeeterDanceDoMoveEndIncrement BattleScript_TeeterDanceSubstitutePrevents: @ 81D89B2 pause 32 printstring BATTLE_TEXT_Failed waitmessage 64 goto BattleScript_TeeterDanceDoMoveEndIncrement BattleScript_TeeterDanceAlreadyConfused: @ 81D89C0 pause 32 printstring BATTLE_TEXT_AlreadyConfused waitmessage 64 goto BattleScript_TeeterDanceDoMoveEndIncrement BattleScript_TeeterDanceMissed: @ 81D89CE resultmessage waitmessage 64 goto BattleScript_TeeterDanceDoMoveEndIncrement BattleScript_EffectMudSport: @ 81D89D7 BattleScript_EffectWaterSport: @ 81D89D7 attackcanceler attackstring ppreduce settypebasedhalvers BattleScript_ButItFailed attackanimation waitanimation printfromtable gSportsUsedStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoisonFang: @ 81D89EE setmoveeffect EFFECT_TOXIC goto BattleScript_EffectHit BattleScript_EffectWeatherBall: @ 81D89F9 setweatherballtype goto BattleScript_EffectHit BattleScript_EffectOverheat: @ 81D89FF setmoveeffect EFFECT_SP_ATK_TWO_DOWN | AFFECTS_USER | CERTAIN goto BattleScript_EffectHit BattleScript_EffectTickle: @ 81D8A0A attackcanceler attackstring ppreduce jumpifstat TARGET, GREATER_THAN, ATTACK, 0, BattleScript_TickleDoMoveAnim jumpifstat TARGET, EQUAL, DEFENSE, 0, BattleScript_CantLowerMultipleStats BattleScript_TickleDoMoveAnim: @ 81D8A1F accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE attackanimation waitanimation setbyte sFIELD_1B, 0 playstatchangeanimation TARGET, 6, 5 playstatchangeanimation TARGET, 2, 1 setstatchanger ATTACK, 1, TRUE statbuffchange 1, BattleScript_TickleTryLowerDef jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleTryLowerDef printfromtable gStatDownStringIds waitmessage 64 BattleScript_TickleTryLowerDef: @ 81D8A55 playstatchangeanimation TARGET, 4, 1 setstatchanger DEFENSE, 1, TRUE statbuffchange 1, BattleScript_TickleEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleEnd printfromtable gStatDownStringIds waitmessage 64 BattleScript_TickleEnd: @ 81D8A78 goto BattleScript_MoveEnd BattleScript_CantLowerMultipleStats: @ 81D8A7D pause 32 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring BATTLE_TEXT_StatNoLower waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectCosmicPower: @ 81D8A91 attackcanceler attackstring ppreduce jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_CosmicPowerDoMoveAnim jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats BattleScript_CosmicPowerDoMoveAnim: @ 81D8AA6 attackanimation waitanimation setbyte sFIELD_1B, 0 playstatchangeanimation USER, 36, 0 setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerTrySpDef printfromtable gStatUpStringIds waitmessage 64 BattleScript_CosmicPowerTrySpDef: @ 81D8AD1 setstatchanger SP_DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerEnd printfromtable gStatUpStringIds waitmessage 64 BattleScript_CosmicPowerEnd: @ 81D8AF0 goto BattleScript_MoveEnd BattleScript_EffectSkyUppercut: @ 81D8AF5 orword gHitMarker, HITMARKER_IGNORE_ON_AIR goto BattleScript_EffectHit BattleScript_EffectBulkUp: @ 81D8B03 attackcanceler attackstring ppreduce jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_BulkUpDoMoveAnim jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_CantRaiseMultipleStats BattleScript_BulkUpDoMoveAnim: @ 81D8B18 attackanimation waitanimation setbyte sFIELD_1B, 0 playstatchangeanimation USER, 6, 0 setstatchanger ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpTryDef printfromtable gStatUpStringIds waitmessage 64 BattleScript_BulkUpTryDef: @ 81D8B43 setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpEnd printfromtable gStatUpStringIds waitmessage 64 BattleScript_BulkUpEnd: @ 81D8B62 goto BattleScript_MoveEnd BattleScript_EffectCalmMind: @ 81D8B67 attackcanceler attackstring ppreduce jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_CalmMindDoMoveAnim jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats BattleScript_CalmMindDoMoveAnim: @ 81D8B7C attackanimation waitanimation setbyte sFIELD_1B, 0 playstatchangeanimation USER, 48, 0 setstatchanger SP_ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindTrySpDef printfromtable gStatUpStringIds waitmessage 64 BattleScript_CalmMindTrySpDef: @ 81D8BA7 setstatchanger SP_DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindEnd printfromtable gStatUpStringIds waitmessage 64 BattleScript_CalmMindEnd: @ 81D8BC6 goto BattleScript_MoveEnd BattleScript_CantRaiseMultipleStats: @ 81D8BCB pause 32 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring BATTLE_TEXT_StatNoHigher waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectDragonDance: @ 81D8BDF attackcanceler attackstring ppreduce jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_DragonDanceDoMoveAnim jumpifstat USER, EQUAL, SPEED, 12, BattleScript_CantRaiseMultipleStats BattleScript_DragonDanceDoMoveAnim: @ 81D8BF4 attackanimation waitanimation setbyte sFIELD_1B, 0 playstatchangeanimation USER, 10, 0 setstatchanger ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceTrySpeed printfromtable gStatUpStringIds waitmessage 64 BattleScript_DragonDanceTrySpeed: @ 81D8C1F setstatchanger SPEED, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceEnd jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceEnd printfromtable gStatUpStringIds waitmessage 64 BattleScript_DragonDanceEnd: @ 81D8C3E goto BattleScript_MoveEnd BattleScript_EffectCamouflage: @ 81D8C43 attackcanceler attackstring ppreduce settypetoterrain BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 goto BattleScript_MoveEnd BattleScript_FaintAttacker:: @ 81D8C58 playfaintcry USER pause 64 dofaintanimation USER cleareffectsonfaint USER printstring BATTLE_TEXT_AttackingFainted return BattleScript_FaintTarget:: @ 81D8C65 playfaintcry TARGET pause 64 dofaintanimation TARGET cleareffectsonfaint TARGET printstring BATTLE_TEXT_DefendingFainted return BattleScript_GiveExp:: @ 81D8C72 setbyte sGIVEEXP_STATE, 0 getexp TARGET end2 BattleScript_HandleFaintedMon:: @ 81D8C7B atk24 BattleScript_1D8D87 jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonTryChooseAnother printstring BATTLE_TEXT_UseNext setbyte gBattleCommunication, 0 yesnobox jumpifbyte EQUAL, gUnknown_02024D1F, 0, BattleScript_FaintedMonTryChooseAnother jumpifplayerran BattleScript_FaintedMonEnd printstring BATTLE_TEXT_CantEscape BattleScript_FaintedMonTryChooseAnother: @ 81D8CC2 openpartyscreen 3, BattleScript_FaintedMonEnd switchhandleorder 3, 2 jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother jumpifbattletype BATTLE_TYPE_LINK, BattleScript_FaintedMonChooseAnother jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_FaintedMonChooseAnother jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother jumpifbyte EQUAL, sBATTLE_STYLE, 1, BattleScript_FaintedMonChooseAnother jumpifcantswitch USER, BattleScript_FaintedMonChooseAnother printstring BATTLE_TEXT_WillSwitch setbyte gBattleCommunication, 0 yesnobox jumpifbyte EQUAL, gUnknown_02024D1F, 1, BattleScript_FaintedMonChooseAnother setatktoplayer0 openpartyscreen 129, BattleScript_FaintedMonChooseAnother switchhandleorder USER, 2 jumpifbyte EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother atknameinbuff1 resetintrimidatetracebits USER hpthresholds2 USER printstring 2 switchoutabilities USER waitstate returnatktoball waitstate drawpartystatussummary 1 getswitchedmondata USER switchindataupdate USER hpthresholds USER printstring 3 atk62 1 switchinanim USER, 0 waitstate switchineffects USER resetsentmonsvalue BattleScript_FaintedMonChooseAnother: @ 81D8D66 drawpartystatussummary 3 getswitchedmondata 3 switchindataupdate 3 hpthresholds 3 printstring 3 atk62 3 switchinanim 3, 0 waitstate switchineffects 3 jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd cancelallactions BattleScript_FaintedMonEnd: @ 81D8D86 end2 BattleScript_1D8D87: @ 81D8D87 openpartyscreen 5, BattleScript_1D8D8D BattleScript_1D8D8D: @ 81D8D8D switchhandleorder 3, 0 openpartyscreen 6, BattleScript_1D8DBD switchhandleorder 3, 0 BattleScript_1D8D99: @ 81D8D99 switchhandleorder 3, 2 drawpartystatussummary 3 getswitchedmondata 3 switchindataupdate 3 hpthresholds 3 printstring 3 atk62 3 switchinanim 3, 0 waitstate switchineffects 5 jumpifbytenotequal gBank1, gBattlersCount, BattleScript_1D8D99 BattleScript_1D8DBD: @ 81D8DBD end2 BattleScript_LocalTrainerBattleWon:: @ 81D8DBE printstring BATTLE_TEXT_PlayerDefeatedTrainer2 trainerslidein 1 waitstate printstring BATTLE_TEXT_UnknownString getmoneyreward printstring BATTLE_TEXT_WinningPrize waitmessage 64 BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8DCE givepaydaymoney pickup end2 BattleScript_LocalBattleLost:: @ 81D8DD1 jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_LocalBattleLostEnd jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd jumpifhalfword EQUAL, gTrainerBattleOpponent, SECRET_BASE_OPPONENT, BattleScript_LocalBattleLostEnd printstring BATTLE_TEXT_OutOfUsablePoke waitmessage 64 printstring BATTLE_TEXT_WhitedOut waitmessage 64 BattleScript_LocalBattleLostEnd: @ 81D8E01 end2 BattleScript_LinkBattleWonOrLost:: @ 81D8E02 printstring 5 waitmessage 64 atk57 waitmessage 64 end2 gUnknown_081D8E0D:: @ 81D8E0D printstring BATTLE_TEXT_PlayerDefeatedTrainer2 trainerslidein 1 waitstate end2 BattleScript_SmokeBallEscape:: @ 81D8E14 playanimation USER, B_ANIM_SMOKEBALL_ESCAPE, NULL printstring BATTLE_TEXT_FledUsingItem waitmessage 64 end2 BattleScript_RanAwayUsingMonAbility:: @ 81D8E22 printstring BATTLE_TEXT_FledUsingOther waitmessage 64 end2 BattleScript_GotAwaySafely:: @ 81D8E29 printstring BATTLE_TEXT_GotAwaySafely waitmessage 64 end2 BattleScript_WildMonFled:: @ 81D8E30 printstring BATTLE_TEXT_FledWild waitmessage 64 end2 BattleScript_PrintCantRunFromTrainer:: @ 81D8E37 printstring BATTLE_TEXT_NoRunning end2 BattleScript_PrintFailedToRunString:: @ 81D8E3B printfromtable gNoEscapeStringIds waitmessage 64 end2 BattleScript_PrintCantEscapeFromBattle:: @ 81D8E44 printselectionstringfromtable gNoEscapeStringIds endselectionscript BattleScript_PrintFullBox:: @ 81D8E4A printselectionstring BATTLE_TEXT_BoxFull endselectionscript BattleScript_ActionSwitch:: @ 81D8E4E hpthresholds2 USER printstring 2 setbyte sDMG_MULTIPLIER, 2 jumpifbyte COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit setmultihit 1 goto BattleScript_PursuitSwitchDmgLoop BattleScript_PursuitSwitchDmgSetMultihit: @ 81D8E6B setmultihit 2 BattleScript_PursuitSwitchDmgLoop: @ 81D8E6D jumpifnopursuitswitchdmg BattleScript_DoSwitchOut atk5f trysetdestinybondtohappen call BattleScript_PursuitDmgOnSwitchOut atk5f BattleScript_DoSwitchOut: @ 81D8E7A decrementmultihit BattleScript_PursuitSwitchDmgLoop switchoutabilities USER waitstate returnatktoball waitstate drawpartystatussummary 1 switchhandleorder USER, 1 getswitchedmondata USER switchindataupdate USER hpthresholds USER printstring 3 atk62 1 switchinanim USER, 0 waitstate switchineffects USER setbyte sMOVEEND_STATE, 4 moveend 1, 0 setbyte sMOVEEND_STATE, 15 moveend 1, 0 end2 BattleScript_PursuitDmgOnSwitchOut: @ 81D8EAD pause 32 attackstring ppreduce critcalc damagecalc typecalc adjustnormaldamage attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 tryfaintmon TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 3 moveend 2, 6 various TARGET, 4 jumpifbyte EQUAL, gBattleCommunication, 0, BattleScript_PursuitDmgOnSwitchOutRet setbyte sGIVEEXP_STATE, 0 getexp TARGET BattleScript_PursuitDmgOnSwitchOutRet: @ 81D8EEE return BattleScript_Pausex20:: @ 81D8EEF pause 32 return BattleScript_LevelUp:: @ 81D8EF3 fanfare MUS_LEVEL_UP printstring BATTLE_TEXT_GrewLevel setbyte sLVLBOX_STATE, 0 drawlvlupbox handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 1 goto BattleScript_AskToLearnMove BattleScript_TryLearnMoveLoop: @ 81D8F0F handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 0 BattleScript_AskToLearnMove: @ 81D8F19 buffermovetolearn printstring BATTLE_TEXT_TryingToLearnMove printstring BATTLE_TEXT_CantLearnMore printstring BATTLE_TEXT_DeleteMove waitstate setbyte sLEARNMOVE_STATE, 0 yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove printstring BATTLE_TEXT_StopLearning waitstate setbyte sLEARNMOVE_STATE, 0 yesnoboxstoplearningmove BattleScript_AskToLearnMove printstring BATTLE_TEXT_DidNotLearn goto BattleScript_TryLearnMoveLoop BattleScript_ForgotAndLearnedNewMove: @ 81D8F46 printstring BATTLE_TEXT_MoveForget123 printstring BATTLE_TEXT_DeletedMove printstring BATTLE_TEXT_MoveForgetAnd BattleScript_LearnedNewMove: @ 81D8F4F buffermovetolearn fanfare MUS_LEVEL_UP printstring BATTLE_TEXT_LearnedMove waitmessage 64 updatechoicemoveonlvlup USER goto BattleScript_TryLearnMoveLoop BattleScript_LearnMoveReturn: @ 81D8F61 return BattleScript_RainContinuesOrEnds:: @ 81D8F62 printfromtable gRainContinuesStringIds waitmessage 64 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_RainContinuesOrEndsEnd playanimation USER, B_ANIM_RAIN_CONTINUES, NULL BattleScript_RainContinuesOrEndsEnd: @ 81D8F7C end2 BattleScript_DamagingWeatherContinues:: @ 81D8F7D printfromtable gSandStormHailContinuesStringIds waitmessage 64 playanimation2 USER, sANIM_ARG1, NULL setbyte gBattleCommunication, 0 BattleScript_DamagingWeatherLoop: @ 81D8F95 copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1 weatherdamage jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_DamagingWeatherLoopIncrement printfromtable gSandStormHailDmgStringIds waitmessage 64 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE effectivenesssound hitanimation USER healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL atk24 BattleScript_DamagingWeatherLoopIncrement BattleScript_DamagingWeatherLoopIncrement: @ 81D8FD6 jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_DamagingWeatherContinuesEnd addbyte gBattleCommunication, 1 jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop BattleScript_DamagingWeatherContinuesEnd: @ 81D8FF5 bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE end2 BattleScript_SandStormHailEnds:: @ 81D8FFF printfromtable gSandStormHailEndStringIds waitmessage 64 end2 BattleScript_SunlightContinues:: @ 81D9008 printstring BATTLE_TEXT_SunStrong waitmessage 64 playanimation USER, B_ANIM_SUN_CONTINUES, NULL end2 BattleScript_SunlightFaded:: @ 81D9016 printstring BATTLE_TEXT_SunFaded waitmessage 64 end2 BattleScript_OverworldWeatherStarts:: @ 81D901D printfromtable gWeatherContinuesStringIds waitmessage 64 playanimation2 USER, sANIM_ARG1, NULL end3 BattleScript_SideStatusWoreOff:: @ 81D9030 printstring BATTLE_TEXT_WoreOff waitmessage 64 end2 BattleScript_SafeguardProtected: @ 81D9037 pause 32 printstring BATTLE_TEXT_SafeguardActive waitmessage 64 end2 BattleScript_SafeguardEnds:: @ 81D9041 pause 32 printstring BATTLE_TEXT_SafeguardFaded waitmessage 64 end2 BattleScript_LeechSeedTurnDrain:: @ 81D904B playanimation USER, B_ANIM_LEECH_SEED_DRAIN, sANIM_ARG1 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER copyword gBattleMoveDamage, gHpDealt jumpifability USER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze manipulatedamage 0 setbyte cMULTISTRING_CHOOSER, 3 goto BattleScript_LeechSeedTurnPrintAndUpdateHp BattleScript_LeechSeedTurnPrintLiquidOoze: @ 81D907D setbyte cMULTISTRING_CHOOSER, 4 BattleScript_LeechSeedTurnPrintAndUpdateHp: @ 81D9083 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate TARGET datahpupdate TARGET printfromtable gLeechSeedStringIds waitmessage 64 tryfaintmon USER, FALSE, NULL tryfaintmon TARGET, FALSE, NULL end2 BattleScript_BideStoringEnergy:: @ 81D90A7 printstring BATTLE_TEXT_StoringEnergy waitmessage 64 goto BattleScript_MoveEnd BattleScript_BideAttack:: @ 81D90B2 printstring BATTLE_TEXT_UnleashedEnergy waitmessage 64 accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE copyword gBattleMoveDamage, sBIDE_DMG adjustsetdamage setbyte sANIM_TURN, 1 attackanimation waitanimation effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET resultmessage waitmessage 64 tryfaintmon TARGET, FALSE, NULL goto BattleScript_MoveEnd BattleScript_BideNoEnergyToAttack:: @ 81D90F1 printstring BATTLE_TEXT_UnleashedEnergy waitmessage 64 goto BattleScript_ButItFailed BattleScript_SuccessForceOut:: @ 81D90FC attackanimation waitanimation switchoutabilities TARGET returntoball TARGET waitstate jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut setbyte gBattleOutcome, 5 finishaction BattleScript_TrainerBattleForceOut: @ 81D9116 getswitchedmondata TARGET switchindataupdate TARGET switchinanim TARGET, 0 waitstate printstring BATTLE_TEXT_DraggedOut switchineffects TARGET goto BattleScript_MoveEnd BattleScript_MistProtected:: @ 81D9128 pause 32 printstring BATTLE_TEXT_MistProtect waitmessage 64 return BattleScript_RageIsBuilding:: @ 81D9132 printstring BATTLE_TEXT_RageBuilding waitmessage 64 return BattleScript_MoveUsedIsDisabled:: @ 81D9139 printstring BATTLE_TEXT_MoveIsDisabled waitmessage 64 goto BattleScript_MoveEnd BattleScript_MoveSelectionDisabledMove:: @ 81D9144 printselectionstring BATTLE_TEXT_MoveIsDisabled endselectionscript BattleScript_DisabledNoMore:: @ 81D9148 printstring BATTLE_TEXT_DisabledNoMore waitmessage 64 end2 BattleScript_EncoredNoMore:: @ 81D914F printstring BATTLE_TEXT_EncoreEnded waitmessage 64 end2 BattleScript_DestinyBondTakesLife:: @ 81D9156 printstring BATTLE_TEXT_DestinyBondTaken waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL return BattleScript_SpikesOnAttacker:: @ 81D9171 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER call BattleScript_PrintHurtBySpikes tryfaintmon USER, FALSE, NULL tryfaintmon USER, TRUE, BattleScript_SpikesOnAttackerFainted return BattleScript_SpikesOnAttackerFainted: @ 81D9192 setbyte sGIVEEXP_STATE, 0 getexp USER goto BattleScript_HandleFaintedMon BattleScript_SpikesOnTarget:: @ 81D919F orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate TARGET datahpupdate TARGET call BattleScript_PrintHurtBySpikes tryfaintmon TARGET, FALSE, NULL tryfaintmon TARGET, TRUE, BattleScript_SpikesOnTargetFainted return BattleScript_SpikesOnTargetFainted: @ 81D91C0 setbyte sGIVEEXP_STATE, 0 getexp TARGET goto BattleScript_HandleFaintedMon BattleScript_SpikesOngBank1:: @ 81D91CD orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate 3 datahpupdate 3 call BattleScript_PrintHurtBySpikes tryfaintmon GBANK_1, FALSE, NULL tryfaintmon GBANK_1, TRUE, BattleScript_SpikesOngBank1Fainted return BattleScript_SpikesOngBank1Fainted: @ 81D91EE setbyte sGIVEEXP_STATE, 0 getexp 3 goto BattleScript_HandleFaintedMon BattleScript_PrintHurtBySpikes: @ 81D91FB printstring BATTLE_TEXT_SpikesHurt waitmessage 64 return BattleScript_PerishSongHits:: @ 81D9202 printstring BATTLE_TEXT_PerishSongFell waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL end2 BattleScript_PerishSongTimerGoesDown:: @ 81D921D printstring BATTLE_TEXT_PerishSongFell waitmessage 64 end2 BattleScript_AllStatsUp:: @ 81D9224 jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_AllStatsUpAtk jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_AllStatsUpAtk jumpifstat USER, LESS_THAN, SPEED, 12, BattleScript_AllStatsUpAtk jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_AllStatsUpAtk jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_AllStatsUpRet BattleScript_AllStatsUpAtk: @ 81D9251 setbyte sFIELD_1B, 0 playstatchangeanimation USER, 62, 0 setstatchanger ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef printfromtable gStatUpStringIds waitmessage 64 BattleScript_AllStatsUpDef: @ 81D926F setstatchanger DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed printfromtable gStatUpStringIds waitmessage 64 BattleScript_AllStatsUpSpeed: @ 81D9283 setstatchanger SPEED, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk printfromtable gStatUpStringIds waitmessage 64 BattleScript_AllStatsUpSpAtk: @ 81D9297 setstatchanger SP_ATTACK, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef printfromtable gStatUpStringIds waitmessage 64 BattleScript_AllStatsUpSpDef: @ 81D92AB setstatchanger SP_DEFENSE, 1, FALSE statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet printfromtable gStatUpStringIds waitmessage 64 BattleScript_AllStatsUpRet: @ 81D92BF return BattleScript_RapidSpinAway:: @ 81D92C0 rapidspinfree return BattleScript_WrapFree:: @ 81D92C2 printstring BATTLE_TEXT_GotFreeFrom waitmessage 64 return BattleScript_LeechSeedFree:: @ 81D92C9 printstring BATTLE_TEXT_LeechShed waitmessage 64 return BattleScript_SpikesFree:: @ 81D92D0 printstring BATTLE_TEXT_SpikesBlownAway waitmessage 64 return BattleScript_MonTookFutureAttack:: @ 81D92D7 printstring BATTLE_TEXT_TookAttack waitmessage 64 jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_CheckDoomDesireMiss accuracycheck BattleScript_FutureAttackMiss, 248 goto BattleScript_FutureAttackAnimate BattleScript_CheckDoomDesireMiss: @ 81D92F4 accuracycheck BattleScript_FutureAttackMiss, 353 BattleScript_FutureAttackAnimate: @ 81D92FB adjustnormaldamage2 jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_FutureHitAnimDoomDesire playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, NULL goto BattleScript_DoFutureAttackHit BattleScript_FutureHitAnimDoomDesire: @ 81D9313 playanimation USER, B_ANIM_DOOM_DESIRE_HIT, NULL BattleScript_DoFutureAttackHit: @ 81D931A effectivenesssound hitanimation TARGET waitstate healthbarupdate TARGET datahpupdate TARGET resultmessage waitmessage 64 tryfaintmon TARGET, FALSE, NULL atk24 BattleScript_FutureAttackEnd BattleScript_FutureAttackEnd: @ 81D9332 setbyte sMOVEEND_STATE, 0 moveend 1, 0 setbyte sMOVEEND_STATE, 8 moveend 2, 14 setbyte gMoveResultFlags, 0 end2 BattleScript_FutureAttackMiss: @ 81D934B pause 32 setbyte gMoveResultFlags, 0 orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage waitmessage 64 setbyte gMoveResultFlags, 0 end2 BattleScript_NoMovesLeft:: @ 81D9365 printselectionstring BATTLE_TEXT_NoMovesLeft endselectionscript BattleScript_MoveSelectionNoPP:: @ 81D9369 printselectionstring BATTLE_TEXT_NoPP1 endselectionscript BattleScript_NoPPForMove:: @ 81D936D attackstring pause 32 printstring BATTLE_TEXT_NoPP2 waitmessage 64 goto BattleScript_MoveEnd BattleScript_MoveSelectionTormented:: @ 81D937C printselectionstring BATTLE_TEXT_TormentNoUse endselectionscript printstring BATTLE_TEXT_TormentNoUse waitmessage 64 goto BattleScript_MoveEnd BattleScript_MoveSelectionTaunted:: @ 81D938B printselectionstring BATTLE_TEXT_TauntNoUse endselectionscript BattleScript_MoveUsedIsTaunted:: @ 81D938F printstring BATTLE_TEXT_TauntNoUse waitmessage 64 goto BattleScript_MoveEnd BattleScript_WishComesTrue:: @ 81D939A trywish 1, BattleScript_WishButFullHp playanimation TARGET, B_ANIM_WISH_HEAL, NULL printstring BATTLE_TEXT_WishTrue waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_RegainedHealth waitmessage 64 end2 BattleScript_WishButFullHp: @ 81D93C1 printstring BATTLE_TEXT_WishTrue waitmessage 64 pause 32 printstring BATTLE_TEXT_HPFull waitmessage 64 end2 BattleScript_IngrainTurnHeal:: @ 81D93D1 playanimation USER, B_ANIM_INGRAIN_HEAL, NULL printstring BATTLE_TEXT_AbsorbNutrients waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER end2 BattleScript_PrintMonIsRooted: @ 81D93EC pause 32 printstring BATTLE_TEXT_AnchoredItself waitmessage 64 goto BattleScript_MoveEnd BattleScript_AtkDefDown:: @ 81D93FA setbyte sFIELD_1B, 0 playstatchangeanimation USER, 6, 13 playstatchangeanimation USER, 2, 9 setstatchanger ATTACK, 1, TRUE statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D9427 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D9427 printfromtable gStatDownStringIds waitmessage 64 BattleScript_1D9427: @ 81D9427 playstatchangeanimation USER, 4, 9 setstatchanger DEFENSE, 1, TRUE statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D944A jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D944A printfromtable gStatDownStringIds waitmessage 64 BattleScript_1D944A: @ 81D944A return BattleScript_KnockedOff:: @ 81D944B playanimation TARGET, B_ANIM_ITEM_KNOCKOFF, NULL printstring BATTLE_TEXT_KnockedOffItem waitmessage 64 return BattleScript_MoveUsedIsImprisoned:: @ 81D9459 printstring BATTLE_TEXT_SealedNoUse waitmessage 64 goto BattleScript_MoveEnd BattleScript_MoveSelectionImprisoned:: @ 81D9464 printselectionstring BATTLE_TEXT_SealedNoUse endselectionscript BattleScript_GrudgeTakesPp:: @ 81D9468 printstring BATTLE_TEXT_GrudgeLosePP waitmessage 64 return BattleScript_MagicCoatBounce:: @ 81D946F attackstring ppreduce pause 32 printstring BATTLE_TEXT_MagicCoatBounce waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 setmagiccoattarget USER return BattleScript_SnatchedMove:: @ 81D9487 attackstring ppreduce snatchsetbanks playanimation TARGET, B_ANIM_SNATCH_MOVE, NULL printstring BATTLE_TEXT_SnatchedMove waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 atk5f return BattleScript_EnduredMsg:: @ 81D94A2 printstring BATTLE_TEXT_EnduredHit waitmessage 64 return BattleScript_OneHitKOMsg:: @ 81D94A9 printstring BATTLE_TEXT_GrandSlam waitmessage 64 return BattleScript_SAtkDown2:: @ 81D94B0 setbyte sFIELD_1B, 0 playstatchangeanimation USER, 16, 11 setstatchanger SP_ATTACK, 2, TRUE statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D94D9 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D94D9 printfromtable gStatDownStringIds waitmessage 64 BattleScript_1D94D9: @ 81D94D9 return BattleScript_FocusPunchSetUp:: @ 81D94DA printstring BATTLE_TEXT_Terminator2 waitmessage 1 playanimation USER, B_ANIM_FOCUS_PUNCH_SET_UP, NULL printstring BATTLE_TEXT_TightenFocus waitmessage 64 end2 BattleScript_MoveUsedIsAsleep:: @ 81D94EE printstring BATTLE_TEXT_FastAsleep waitmessage 64 statusanimation USER goto BattleScript_MoveEnd BattleScript_MoveUsedWokeUp:: @ 81D94FB bicword gHitMarker, HITMARKER_x10 printfromtable gWokeUpStringIds waitmessage 64 updatestatusicon USER return BattleScript_MonWokeUpInUproar:: @ 81D950F printstring BATTLE_TEXT_UproarWoke waitmessage 64 updatestatusicon USER end2 BattleScript_PoisonTurnDmg:: @ 81D9518 printstring BATTLE_TEXT_PoisonHurt waitmessage 64 BattleScript_DoStatusTurnDmg: @ 81D951E statusanimation USER BattleScript_DoTurnDmg: @ 81D9520 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL atk24 BattleScript_DoTurnDmgEnd BattleScript_DoTurnDmgEnd: @ 81D9539 end2 BattleScript_BurnTurnDmg:: @ 81D953A printstring BATTLE_TEXT_BurnHurt waitmessage 64 goto BattleScript_DoStatusTurnDmg BattleScript_MoveUsedIsFrozen:: @ 81D9545 printstring BATTLE_TEXT_FrozenSolid waitmessage 64 statusanimation USER goto BattleScript_MoveEnd BattleScript_MoveUsedUnfroze:: @ 81D9552 printfromtable gGotDefrostedStringIds waitmessage 64 updatestatusicon USER return BattleScript_DefrostedViaFireMove:: @ 81D955D printstring BATTLE_TEXT_DefendingDefrosted waitmessage 64 updatestatusicon TARGET return BattleScript_MoveUsedIsParalyzed:: @ 81D9566 printstring BATTLE_TEXT_Paralyzed3 waitmessage 64 statusanimation USER goto BattleScript_MoveEnd BattleScript_MoveUsedFlinched:: @ 81D9573 printstring BATTLE_TEXT_Flinched waitmessage 64 goto BattleScript_MoveEnd BattleScript_PrintUproarOverTurns:: @ 81D957E printfromtable gUproarOverTurnStringIds waitmessage 64 end2 BattleScript_ThrashConfuses:: @ 81D9587 chosenstatus2animation USER, STATUS2_CONFUSION printstring BATTLE_TEXT_FatigueConfuse waitmessage 64 end2 BattleScript_MoveUsedIsConfused:: @ 81D9595 printstring BATTLE_TEXT_Confused waitmessage 64 status2animation USER, STATUS2_CONFUSION jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_MoveUsedIsConfusedRet BattleScript_DoSelfConfusionDmg: @ 81D95AC cancelmultiturnmoves USER adjustnormaldamage2 printstring BATTLE_TEXT_HurtItself waitmessage 64 effectivenesssound hitanimation USER waitstate orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER tryfaintmon USER, FALSE, NULL goto BattleScript_MoveEnd BattleScript_MoveUsedIsConfusedRet: @ 81D95D3 return BattleScript_MoveUsedIsConfusedNoMore:: @ 81D95D4 printstring BATTLE_TEXT_ConfusionSnapOut waitmessage 64 return BattleScript_PrintPayDayMoneyString:: @ 81D95DB printstring BATTLE_TEXT_PickedUpYen waitmessage 64 return BattleScript_WrapTurnDmg:: @ 81D95E2 playanimation USER, B_ANIM_TURN_TRAP, sANIM_ARG1 printstring BATTLE_TEXT_HurtBy waitmessage 64 goto BattleScript_DoTurnDmg BattleScript_WrapEnds:: @ 81D95F4 printstring BATTLE_TEXT_FreedFrom waitmessage 64 end2 BattleScript_MoveUsedIsInLove:: @ 81D95FB printstring BATTLE_TEXT_InLoveWith waitmessage 64 status2animation USER, STATUS2_INFATUATION return BattleScript_MoveUsedIsParalyzedCantAttack:: @ 81D9608 printstring BATTLE_TEXT_ImmobilizedBy waitmessage 64 goto BattleScript_MoveEnd BattleScript_NightmareTurnDmg:: @ 81D9613 printstring BATTLE_TEXT_NightmareLock waitmessage 64 status2animation USER, STATUS2_NIGHTMARE goto BattleScript_DoTurnDmg BattleScript_CurseTurnDmg:: @ 81D9624 printstring BATTLE_TEXT_CurseAfflict waitmessage 64 status2animation USER, STATUS2_CURSED goto BattleScript_DoTurnDmg BattleScript_TargetPRLZHeal:: @ 81D9635 printstring BATTLE_TEXT_ParalysisHealed waitmessage 64 updatestatusicon TARGET return BattleScript_MoveEffectSleep:: @ 81D963E statusanimation EFFECT_BANK printfromtable gFellAsleepStringIds waitmessage 64 BattleScript_UpdateEffectStatusIconRet: @ 81D9648 updatestatusicon EFFECT_BANK waitstate return BattleScript_YawnMakesAsleep:: @ 81D964C statusanimation EFFECT_BANK printstring BATTLE_TEXT_FellAsleep waitmessage 64 updatestatusicon EFFECT_BANK waitstate makevisible 2 end2 BattleScript_MoveEffectPoison:: @ 81D965A statusanimation EFFECT_BANK printfromtable gGotPoisonedStringIds waitmessage 64 goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectBurn:: @ 81D9669 statusanimation EFFECT_BANK printfromtable gGotBurnedStringIds waitmessage 64 goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectFreeze:: @ 81D9678 statusanimation EFFECT_BANK printfromtable gGotFrozenStringIds waitmessage 64 goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectParalysis:: @ 81D9687 statusanimation EFFECT_BANK printfromtable gGotParalyzedStringIds waitmessage 64 goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectUproar:: @ 81D9696 printstring BATTLE_TEXT_UproarCaused waitmessage 64 return BattleScript_MoveEffectToxic:: @ 81D969D statusanimation EFFECT_BANK printstring BATTLE_TEXT_BadlyPoisoned waitmessage 64 goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectPayDay:: @ 81D96AA printstring BATTLE_TEXT_CoinScatter waitmessage 64 return BattleScript_MoveEffectWrap:: @ 81D96B1 printfromtable gWrappedStringIds waitmessage 64 return BattleScript_MoveEffectConfusion:: @ 81D96BA chosenstatus2animation EFFECT_BANK, STATUS2_CONFUSION printstring BATTLE_TEXT_BecameConfused waitmessage 64 return BattleScript_MoveEffectRecoil33:: @ 81D96C8 jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33 jumpifability USER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End BattleScript_DoRecoil33: @ 81D96DB orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_HitRecoil waitmessage 64 tryfaintmon USER, FALSE, NULL BattleScript_Recoil33End: @ 81D96F5 return BattleScript_ItemSteal:: @ 81D96F6 playanimation TARGET, B_ANIM_ITEM_STEAL, NULL printstring BATTLE_TEXT_StoleSomething waitmessage 64 return BattleScript_DrizzleActivates:: @ 81D9704 pause 32 printstring BATTLE_TEXT_RainMade waitstate playanimation 7, B_ANIM_RAIN_CONTINUES, NULL call BattleScript_WeatherFormChanges end3 BattleScript_SpeedBoostActivates:: @ 81D9718 playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1 printstring BATTLE_TEXT_SpeedRisen waitmessage 64 end3 BattleScript_TraceActivates:: @ 81D9726 pause 32 printstring BATTLE_TEXT_Traced waitmessage 64 end3 BattleScript_RainDishActivates:: @ 81D9730 printstring BATTLE_TEXT_RestoredHPByItem waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER end3 BattleScript_SandstreamActivates:: @ 81D9744 pause 32 printstring BATTLE_TEXT_WhipSandstorm waitstate playanimation 7, B_ANIM_SANDSTORM_CONTINUES, NULL call BattleScript_WeatherFormChanges end3 BattleScript_ShedSkinActivates:: @ 81D9758 printstring BATTLE_TEXT_CuredProblem waitmessage 64 updatestatusicon USER end3 BattleScript_WeatherFormChanges: @ 81D9761 setbyte sBANK, 0 BattleScript_WeatherFormChangesLoop: @ 81D9767 trycastformdatachange addbyte sBANK, 1 jumpifbytenotequal sBANK, gBattlersCount, BattleScript_WeatherFormChangesLoop return BattleScript_CastformChange:: @ 81D977D call BattleScript_1D9783 end3 BattleScript_1D9783: @ 81D9783 docastformchangeanimation waitstate printstring BATTLE_TEXT_Transformed2 waitmessage 64 return gUnknown_081D978C:: @ 81D978C call BattleScript_1D9792 end3 BattleScript_1D9792: @ 81D9792 pause 32 gUnknown_081D9795:: @ 81D9795 setbyte gBattlerTarget, 0 setstatchanger ATTACK, 1, TRUE BattleScript_1D97A1: @ 81D97A1 trygetintimidatetarget BattleScript_1D97EF jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D97E4 jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_1D97F0 jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_1D97F0 jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_1D97F0 statbuffchange 33, BattleScript_1D97E4 jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D97E4 setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1 printstring BATTLE_TEXT_CutsAttack waitmessage 64 BattleScript_1D97E4: @ 81D97E4 addbyte gBattlerTarget, 1 goto BattleScript_1D97A1 BattleScript_1D97EF: @ 81D97EF return BattleScript_1D97F0: @ 81D97F0 pause 32 printstring BATTLE_TEXT_PreventedOther waitmessage 64 goto BattleScript_1D97E4 BattleScript_DroughtActivates:: @ 81D97FE pause 32 printstring BATTLE_TEXT_SunIntensified waitstate playanimation 7, B_ANIM_SUN_CONTINUES, NULL call BattleScript_WeatherFormChanges end3 BattleScript_TookAttack:: @ 81D9812 attackstring pause 32 printstring BATTLE_TEXT_TookAttack2 waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED return BattleScript_SturdyPreventsOHKO:: @ 81D9826 pause 32 printstring BATTLE_TEXT_ProtectedBy pause 64 goto BattleScript_MoveEnd BattleScript_DampStopsExplosion:: @ 81D9834 pause 32 printstring BATTLE_TEXT_PreventedBy pause 64 goto BattleScript_MoveEnd BattleScript_MoveHPDrain_PPLoss:: @ 81D9842 ppreduce BattleScript_MoveHPDrain:: @ 81D9843 attackstring pause 32 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_HPRestoredUsing waitmessage 64 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd BattleScript_MoveHPDrain_FullHP_PPLoss:: @ 81D9865 ppreduce BattleScript_MoveHPDrain_FullHP:: @ 81D9866 attackstring pause 32 printstring BATTLE_TEXT_MadeUseless waitmessage 64 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd BattleScript_FlashFireBoost_PPLoss:: @ 81D987B ppreduce BattleScript_FlashFireBoost:: @ 81D987C attackstring pause 32 printfromtable gFlashFireStringIds waitmessage 64 goto BattleScript_MoveEnd BattleScript_AbilityPreventsPhasingOut: @ 81D988D pause 32 printstring BATTLE_TEXT_AnchorsItself waitmessage 64 goto BattleScript_MoveEnd BattleScript_AbilityNoStatLoss:: @ 81D989B pause 32 printstring BATTLE_TEXT_PreventedStatLoss waitmessage 64 return BattleScript_BRNPrevention:: @ 81D98A5 pause 32 printfromtable gBRNPreventionStringIds waitmessage 64 return BattleScript_PRLZPrevention:: @ 81D98B1 pause 32 printfromtable gPRLZPreventionStringIds waitmessage 64 return BattleScript_PSNPrevention:: @ 81D98BD pause 32 printfromtable gPSNPreventionStringIds waitmessage 64 return BattleScript_ObliviousPreventsAttraction:: @ 81D98C9 pause 32 printstring BATTLE_TEXT_PreventedRomance waitmessage 64 goto BattleScript_MoveEnd BattleScript_FlinchPrevention:: @ 81D98D7 pause 32 printstring BATTLE_TEXT_PreventedFlinching waitmessage 64 goto BattleScript_MoveEnd BattleScript_OwnTempoPrevents: @ 81D98E5 pause 32 printstring BATTLE_TEXT_PreventedConfusion waitmessage 64 goto BattleScript_MoveEnd BattleScript_SoundproofProtected:: @ 81D98F3 attackstring ppreduce pause 32 printstring BATTLE_TEXT_BlocksOther waitmessage 64 goto BattleScript_MoveEnd BattleScript_AbilityNoSpecificStatLoss:: @ 81D9903 pause 32 printstring BATTLE_TEXT_PreventedLoss waitmessage 64 setbyte cMULTISTRING_CHOOSER, 3 return BattleScript_NoItemSteal:: @ 81D9913 pause 32 printstring BATTLE_TEXT_MadeIneffective waitmessage 64 goto BattleScript_MoveEnd BattleScript_ColorChangeActivates:: @ 81D9921 printstring BATTLE_TEXT_MadeType waitmessage 64 return BattleScript_RoughSkinActivates:: @ 81D9928 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_HurtOther waitmessage 64 tryfaintmon USER, FALSE, NULL return BattleScript_CuteCharmActivates:: @ 81D9943 status2animation USER, STATUS2_INFATUATION printstring BATTLE_TEXT_InfatuatedPoke waitmessage 64 return BattleScript_ApplySecondaryEffect:: @ 81D9950 waitstate seteffectsecondary return BattleScript_SynchronizeActivates:: @ 81D9953 waitstate seteffectprimary return BattleScript_AbilityCuredStatus:: @ 81D9956 printstring BATTLE_TEXT_CuredOfProblem waitmessage 64 updatestatusicon SCRIPTING_BANK return gUnknown_081D995F:: @ 81D995F printstring BATTLE_TEXT_IgnoredOrdersSLP waitmessage 64 setbyte sMOVEEND_STATE, 0 moveend 2, 16 end BattleScript_IgnoresAndUsesRandomMove:: @ 81D996F printstring BATTLE_TEXT_IgnoredOrders waitmessage 64 jumptorandomattack TARGET BattleScript_MoveUsedLoafingAround:: @ 81D9977 printfromtable gInobedientStringIds waitmessage 64 setbyte sMOVEEND_STATE, 0 moveend 2, 16 end BattleScript_IgnoresAndFallsAsleep:: @ 81D9989 printstring BATTLE_TEXT_BeganNap waitmessage 64 setmoveeffect EFFECT_SLEEP | AFFECTS_USER seteffectprimary setbyte sMOVEEND_STATE, 0 moveend 2, 16 end gUnknown_081D99A0:: @ 81D99A0 printstring BATTLE_TEXT_WontObey waitmessage 64 goto BattleScript_DoSelfConfusionDmg BattleScript_SubstituteFade:: @ 81D99AB playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, NULL printstring BATTLE_TEXT_SubFaded return BattleScript_BerryCurePrlzEnd2:: @ 81D99B6 call BattleScript_BerryCureParRet end2 BattleScript_BerryCureParRet:: @ 81D99BC playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredParalysis waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_BerryCurePsnEnd2:: @ 81D99CE call BattleScript_BerryCurePsnRet end2 BattleScript_BerryCurePsnRet:: @ 81D99D4 playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredPoison waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_BerryCureBrnEnd2:: @ 81D99E6 call BattleScript_BerryCureBrnRet end2 BattleScript_BerryCureBrnRet:: @ 81D99EC playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredBurn waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_BerryCureFrzEnd2:: @ 81D99FE call BattleScript_BerryCureFrzRet end2 BattleScript_BerryCureFrzRet:: @ 81D9A04 playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredFreeze waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_BerryCureSlpEnd2:: @ 81D9A16 call BattleScript_BerryCureSlpRet end2 BattleScript_BerryCureSlpRet:: @ 81D9A1C playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredSleep waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E call BattleScript_BerryCureConfusionRet end2 BattleScript_BerryCureConfusionRet:: @ 81D9A34 playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_CuredConfusion waitmessage 64 removeitem SCRIPTING_BANK return BattleScript_BerryCureChosenStatusEnd2:: @ 81D9A44 call BattleScript_BerryCureChosenStatusRet end2 BattleScript_BerryCureChosenStatusRet:: @ 81D9A4A playanimation 10, B_ANIM_ITEM_EFFECT, NULL printfromtable gBerryEffectStringIds waitmessage 64 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK return BattleScript_WhiteHerbEnd2:: @ 81D9A5E call BattleScript_WhiteHerbRet end2 BattleScript_WhiteHerbRet:: @ 81D9A64 playanimation 10, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_RestoredStatus waitmessage 64 removeitem SCRIPTING_BANK return BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74 playanimation USER, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER removeitem USER end2 BattleScript_BerryPPHealEnd2:: @ 81D9A91 playanimation USER, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_RestoredPP waitmessage 64 removeitem USER end2 BattleScript_ItemHealHP_End2:: @ 81D9AA1 call BattleScript_ItemHealHP_Ret end2 BattleScript_ItemHealHP_Ret:: @ 81D9AA7 playanimation USER, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_RestoredHPLittle waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER return BattleScript_MoveSelectionChoiceBanded:: @ 81D9AC2 printselectionstring BATTLE_TEXT_ChoiceBand endselectionscript BattleScript_HangedOnMsg:: @ 81D9AC6 playanimation TARGET, B_ANIM_HANGED_ON, NULL printstring BATTLE_TEXT_FocusSash waitmessage 64 return BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4 playanimation USER, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_UnknownString2 waitmessage 64 setmoveeffect EFFECT_CONFUSION | AFFECTS_USER seteffectprimary removeitem USER end2 BattleScript_BerryStatRaiseEnd2:: @ 81D9AFE playanimation USER, B_ANIM_ITEM_EFFECT, NULL statbuffchange AFFECTS_USER | 0x1, BattleScript_1D9B0B BattleScript_1D9B0B: @ 81D9B0B setbyte cMULTISTRING_CHOOSER, 0x4 call BattleScript_StatUp removeitem USER end2 BattleScript_BerryFocusEnergyEnd2:: @ 81D9B19 playanimation USER, B_ANIM_ITEM_EFFECT, NULL printstring BATTLE_TEXT_HustleUse waitmessage 64 removeitem USER end2 BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D9B29 printselectionstring BATTLE_TEXT_CantUseItems endselectionscript gUnknown_081D9B2D:: @ 81D9B2D printstring BATTLE_TEXT_Terminator2 return