diff options
Diffstat (limited to 'data/battle_scripts_1.s')
-rw-r--r-- | data/battle_scripts_1.s | 121 |
1 files changed, 60 insertions, 61 deletions
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 2125fc47e..d8f681686 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6,6 +6,7 @@ #include "constants/abilities.h" #include "constants/moves.h" #include "constants/songs.h" +#include "constants/game_stat.h" .include "asm/macros.inc" .include "asm/macros/battle_script.inc" .include "constants/constants.inc" @@ -399,19 +400,19 @@ BattleScript_EffectExplosion:: faintifabilitynotdamp setatkhptozero waitstate - jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_82D8B94 - call BattleScript_82D8BEA - goto BattleScript_82D8B96 -BattleScript_82D8B94:: + jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionDoAnimStartLoop + call BattleScript_PreserveMissedBitDoMoveAnim + goto BattleScript_ExplosionLoop +BattleScript_ExplosionDoAnimStartLoop: attackanimation waitanimation -BattleScript_82D8B96:: +BattleScript_ExplosionLoop: movevaluescleanup critcalc damagecalc typecalc adjustnormaldamage - accuracycheck BattleScript_82D8BCF, ACC_CURR_MOVE + accuracycheck BattleScript_ExplosionMissed, ACC_CURR_MOVE effectivenesssound hitanimation BS_TARGET waitstate @@ -424,20 +425,20 @@ BattleScript_82D8B96:: tryfaintmon BS_TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 0x0 moveend 0x2, 0x10 - jumpifnexttargetvalid BattleScript_82D8B96 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end -BattleScript_82D8BCF:: +BattleScript_ExplosionMissed: effectivenesssound resultmessage waitmessage 0x40 setbyte sMOVEEND_STATE, 0x0 moveend 0x2, 0x10 - jumpifnexttargetvalid BattleScript_82D8B96 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end -BattleScript_82D8BEA:: +BattleScript_PreserveMissedBitDoMoveAnim: bicbyte gMoveResultFlags, MOVE_RESULT_MISSED attackanimation waitanimation @@ -446,14 +447,14 @@ BattleScript_82D8BEA:: BattleScript_EffectDreamEater:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82D8C0E - jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_82D8C18 -BattleScript_82D8C0E:: + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_DreamEaterNoEffect + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_DreamEaterWorked +BattleScript_DreamEaterNoEffect: attackstring ppreduce waitmessage 0x40 goto BattleScript_WasntAffected -BattleScript_82D8C18:: +BattleScript_DreamEaterWorked: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -479,7 +480,7 @@ BattleScript_82D8C18:: jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd printstring STRINGID_PKMNDREAMEATEN waitmessage 0x40 -BattleScript_DreamEaterTryFaintEnd:: +BattleScript_DreamEaterTryFaintEnd: tryfaintmon BS_TARGET, FALSE, NULL goto BattleScript_MoveEnd @@ -606,9 +607,9 @@ BattleScript_EffectRampage:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D8DAE + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_EffectRampage2 ppreduce -BattleScript_82D8DAE:: +BattleScript_EffectRampage2: confuseifrepeatingattackends goto BattleScript_HitFromCritCalc @@ -922,7 +923,7 @@ BattleScript_EffectFocusEnergy:: BattleScript_EffectRecoil:: setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit - incrementgamestat 0x1B + incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit BattleScript_EffectConfuse:: @@ -1200,7 +1201,7 @@ BattleScript_EffectSplash:: ppreduce attackanimation waitanimation - incrementgamestat 0x1A + incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED waitmessage 0x40 goto BattleScript_MoveEnd @@ -1354,7 +1355,7 @@ BattleScript_SleepTalkUsingMove:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptorandomattack TRUE + jumptocalledmove TRUE BattleScript_EffectDestinyBond:: attackcanceler @@ -2297,8 +2298,7 @@ BattleScript_EffectSmellingsalt:: setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_SmellingsaltDoubleDmg goto BattleScript_EffectHit - -BattleScript_SmellingsaltDoubleDmg:: +BattleScript_SmellingsaltDoubleDmg: setbyte sDMG_MULTIPLIER, 0x2 goto BattleScript_EffectHit @@ -2400,7 +2400,7 @@ BattleScript_EffectAssist:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptorandomattack TRUE + jumptocalledmove TRUE BattleScript_EffectIngrain:: attackcanceler @@ -2593,7 +2593,7 @@ BattleScript_EffectSecretPower:: goto BattleScript_EffectHit BattleScript_EffectDoubleEdge:: - setmoveeffect MOVE_EFFECT_RECOIL_33_PARALYSIS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit BattleScript_EffectTeeterDance:: @@ -2969,7 +2969,7 @@ BattleScript_PayDayMoneyAndPickUpItems:: BattleScript_LocalBattleLost:: jumpifbattletype BATTLE_TYPE_DOME, BattleScript_CheckDomeDrew jumpifbattletype BATTLE_TYPE_FRONTIER, BattleScript_LocalBattleLostPrintTrainersWinText - jumpifbattletype BATTLE_TYPE_x4000000, BattleScript_LocalBattleLostPrintTrainersWinText + jumpifbattletype BATTLE_TYPE_TRAINER_HILL, BattleScript_LocalBattleLostPrintTrainersWinText jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_LocalBattleLostEnd BattleScript_LocalBattleLostPrintWhiteOut:: @@ -3050,12 +3050,12 @@ BattleScript_82DAA83:: BattleScript_FrontierTrainerBattleWon:: jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems - jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB + jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_FrontierTrainerBattleWon_TwoDefeated printstring STRINGID_PLAYERDEFEATEDTRAINER1 - goto BattleScript_82DAAAE -BattleScript_82DAAAB:: + goto BattleScript_FrontierTrainerBattleWon_LoseTexts +BattleScript_FrontierTrainerBattleWon_TwoDefeated: printstring STRINGID_TWOENEMIESDEFEATED -BattleScript_82DAAAE:: +BattleScript_FrontierTrainerBattleWon_LoseTexts: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1LOSETEXT @@ -3065,10 +3065,10 @@ BattleScript_82DAAAE:: trainerslidein BS_FAINTED waitstate printstring STRINGID_TRAINER2LOSETEXT -BattleScript_82DAACB:: - jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_82DAADA +BattleScript_82DAACB: + jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_FrontierTrainerBattleWon_End pickup -BattleScript_82DAADA:: +BattleScript_FrontierTrainerBattleWon_End: end2 BattleScript_SmokeBallEscape:: @@ -3172,7 +3172,7 @@ BattleScript_PursuitDmgOnSwitchOut:: jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet setbyte sGIVEEXP_STATE, 0x0 getexp BS_TARGET -BattleScript_PursuitDmgOnSwitchOutRet:: +BattleScript_PursuitDmgOnSwitchOutRet: return BattleScript_Pausex20:: @@ -3742,7 +3742,7 @@ BattleScript_SAtkDown2End:: BattleScript_FocusPunchSetUp:: printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 - playanimation BS_ATTACKER, B_ANIM_x14, NULL + playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL printstring STRINGID_PKMNTIGHTENINGFOCUS waitmessage 0x40 end2 @@ -3968,17 +3968,17 @@ BattleScript_MoveEffectConfusion:: waitmessage 0x40 return -BattleScript_MoveEffectRecoil33:: - jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33 - jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End -BattleScript_DoRecoil33:: +BattleScript_MoveEffectRecoil:: + jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil + jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd +BattleScript_DoRecoil:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL waitmessage 0x40 tryfaintmon BS_ATTACKER, FALSE, NULL -BattleScript_Recoil33End:: +BattleScript_RecoilEnd:: return BattleScript_ItemSteal:: @@ -4048,38 +4048,37 @@ BattleScript_82DB4AF:: waitmessage 0x40 return -BattleScript_82DB4B8:: - call BattleScript_82DB4BE +BattleScript_IntimidateActivatesEnd3:: + call BattleScript_PauseIntimidateActivates end3 -BattleScript_82DB4BE:: +BattleScript_PauseIntimidateActivates: pause 0x20 -BattleScript_82DB4C1:: +BattleScript_IntimidateActivates:: setbyte gBattlerTarget, 0x0 setstatchanger STAT_ATK, 1, TRUE -BattleScript_82DB4CD:: - trygetintimidatetarget BattleScript_82DB51B - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82DB510 - jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_82DB51C - jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_82DB51C - jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_82DB51C - statbuffchange 0x21, BattleScript_82DB510 - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DB510 +BattleScript_IntimidateActivatesLoop: + trygetintimidatetarget BattleScript_IntimidateActivatesReturn + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateActivatesLoopIncrement + jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented + statbuffchange 0x21, BattleScript_IntimidateActivatesLoopIncrement + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage 0x40 -BattleScript_82DB510:: +BattleScript_IntimidateActivatesLoopIncrement: addbyte gBattlerTarget, 0x1 - goto BattleScript_82DB4CD -BattleScript_82DB51B:: + goto BattleScript_IntimidateActivatesLoop +BattleScript_IntimidateActivatesReturn: return - -BattleScript_82DB51C:: +BattleScript_IntimidatePrevented: pause 0x20 printstring STRINGID_PREVENTEDFROMWORKING waitmessage 0x40 - goto BattleScript_82DB510 + goto BattleScript_IntimidateActivatesLoopIncrement BattleScript_DroughtActivates:: pause 0x20 @@ -4252,7 +4251,7 @@ BattleScript_AbilityCuredStatus:: updatestatusicon BS_SCRIPTING return -BattleScript_82DB695:: +BattleScript_IgnoresWhileAsleep:: printstring STRINGID_PKMNIGNORESASLEEP waitmessage 0x40 setbyte sMOVEEND_STATE, 0x0 @@ -4262,7 +4261,7 @@ BattleScript_82DB695:: BattleScript_IgnoresAndUsesRandomMove:: printstring STRINGID_PKMNIGNOREDORDERS waitmessage 0x40 - jumptorandomattack FALSE + jumptocalledmove FALSE BattleScript_MoveUsedLoafingAround:: jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7 @@ -4285,7 +4284,7 @@ BattleScript_IgnoresAndFallsAsleep:: moveend 0x2, 0x10 end -BattleScript_82DB6F0:: +BattleScript_IgnoresAndHitsItself:: printstring STRINGID_PKMNWONTOBEY waitmessage 0x40 goto BattleScript_DoSelfConfusionDmg @@ -4463,7 +4462,7 @@ BattleScript_ActionSelectionItemsCantBeUsed:: printselectionstring STRINGID_ITEMSCANTBEUSEDNOW endselectionscript -BattleScript_82DB87D:: +BattleScript_FlushMessageBox:: printstring STRINGID_EMPTYSTRING3 return |