From 76f4a8b195932b4fbac9945eca8d97ffbbc0f84b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 00:33:40 +0100 Subject: [PATCH] clean up and use names for printfromtable --- constants/battle_script_constants.inc | 2 +- data/battle_scripts_1.s | 314 ++++++++++++++------------ data/battle_scripts_2.s | 27 ++- include/battle.h | 2 +- include/battle_move_effects.h | 2 +- include/battle_scripts.h | 26 +-- src/battle_message.c | 278 +++++++++++++++++++---- src/battle_script_commands.c | 4 +- 8 files changed, 428 insertions(+), 227 deletions(-) diff --git a/constants/battle_script_constants.inc b/constants/battle_script_constants.inc index 106bffd03..07b7f24f8 100644 --- a/constants/battle_script_constants.inc +++ b/constants/battle_script_constants.inc @@ -141,7 +141,7 @@ .equiv sBIDE_DMG, gBattleScripting + 4 .equiv sMULTIHIT_STRING, gBattleScripting + 8 .equiv sDMG_MULTIPLIER, gBattleScripting + 0xE - .equiv sFIELD_F, gBattleScripting + 0xF + .equiv sTWOTURN_STRINGID, gBattleScripting + 0xF .equiv sANIM_ARG1, gBattleScripting + 0x10 .equiv sANIM_ARG2, gBattleScripting + 0x11 .equiv sTRIPLE_KICK_POWER, gBattleScripting + 0x12 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index eb598dbb6..bac2f77c5 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -20,17 +20,17 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectMirrorMove .4byte BattleScript_EffectAttackUp .4byte BattleScript_EffectDefenseUp - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectSpeedUp .4byte BattleScript_EffectSpecialAttackUp - .4byte BattleScript_EffectHit - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectSpecialDefenseUp + .4byte BattleScript_EffectAccuracyUp .4byte BattleScript_EffectEvasionUp - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectAlwaysHit .4byte BattleScript_EffectAttackDown .4byte BattleScript_EffectDefenseDown .4byte BattleScript_EffectSpeedDown - .4byte BattleScript_EffectHit - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectSpecialAttackDown + .4byte BattleScript_EffectSpecialDefenseDown .4byte BattleScript_EffectAccuracyDown .4byte BattleScript_EffectEvasionDown .4byte BattleScript_EffectHaze @@ -46,12 +46,12 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectLightScreen .4byte BattleScript_EffectTriAttack .4byte BattleScript_EffectRest - .4byte BattleScript_EffectOhko + .4byte BattleScript_EffectOHKO .4byte BattleScript_EffectRazorWind .4byte BattleScript_EffectSuperFang .4byte BattleScript_EffectDragonRage .4byte BattleScript_EffectTrap - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectHighCritical .4byte BattleScript_EffectDoubleHit .4byte BattleScript_EffectRecoilIfMiss .4byte BattleScript_EffectMist @@ -63,16 +63,16 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectSpeedUp2 .4byte BattleScript_EffectSpecialAttackUp2 .4byte BattleScript_EffectSpecialDefenseUp2 - .4byte BattleScript_EffectHit - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectAccuracyUp2 + .4byte BattleScript_EffectEvasionUp2 .4byte BattleScript_EffectTransform .4byte BattleScript_EffectAttackDown2 .4byte BattleScript_EffectDefenseDown2 .4byte BattleScript_EffectSpeedDown2 - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectSpecialAttackDown2 .4byte BattleScript_EffectSpecialDefenseDown2 - .4byte BattleScript_EffectHit - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectAccuracyDown2 + .4byte BattleScript_EffectEvasionDown2 .4byte BattleScript_EffectReflect .4byte BattleScript_EffectPoison .4byte BattleScript_EffectParalyze @@ -82,11 +82,11 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectSpecialAttackDownHit .4byte BattleScript_EffectSpecialDefenseDownHit .4byte BattleScript_EffectAccuracyDownHit - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectEvasionDownHit .4byte BattleScript_EffectSkyAttack .4byte BattleScript_EffectConfuseHit .4byte BattleScript_EffectTwineedle - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectVitalThrow .4byte BattleScript_EffectSubstitute .4byte BattleScript_EffectRecharge .4byte BattleScript_EffectRage @@ -104,52 +104,52 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectConversion2 .4byte BattleScript_EffectLockOn .4byte BattleScript_EffectSketch - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectUnused60//Thaw .4byte BattleScript_EffectSleepTalk .4byte BattleScript_EffectDestinyBond .4byte BattleScript_EffectFlail .4byte BattleScript_EffectSpite - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectFalseSwipe .4byte BattleScript_EffectHealBell - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectQuickAttack .4byte BattleScript_EffectTripleKick .4byte BattleScript_EffectThief .4byte BattleScript_EffectMeanLook .4byte BattleScript_EffectNightmare .4byte BattleScript_EffectMinimize .4byte BattleScript_EffectCurse - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectUnused6e .4byte BattleScript_EffectProtect .4byte BattleScript_EffectSpikes .4byte BattleScript_EffectForesight .4byte BattleScript_EffectPerishSong .4byte BattleScript_EffectSandstorm - .4byte BattleScript_EffectProtect + .4byte BattleScript_EffectEndure .4byte BattleScript_EffectRollout .4byte BattleScript_EffectSwagger .4byte BattleScript_EffectFuryCutter .4byte BattleScript_EffectAttract .4byte BattleScript_EffectReturn .4byte BattleScript_EffectPresent - .4byte BattleScript_EffectReturn + .4byte BattleScript_EffectFrustration .4byte BattleScript_EffectSafeguard .4byte BattleScript_EffectThawHit .4byte BattleScript_EffectMagnitude .4byte BattleScript_EffectBatonPass - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectPursuit .4byte BattleScript_EffectRapidSpin .4byte BattleScript_EffectSonicboom - .4byte BattleScript_EffectHit - .4byte BattleScript_EffectMorningSun - .4byte BattleScript_EffectMorningSun + .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_EffectHit + .4byte BattleScript_EffectUnused8d .4byte BattleScript_EffectBellyDrum .4byte BattleScript_EffectPsychUp .4byte BattleScript_EffectMirrorCoat @@ -163,7 +163,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectThunder .4byte BattleScript_EffectTeleport .4byte BattleScript_EffectBeatUp - .4byte BattleScript_EffectFly + .4byte BattleScript_EffectSemiInvulnerable .4byte BattleScript_EffectDefenseCurl .4byte BattleScript_EffectSoftboiled .4byte BattleScript_EffectFakeOut @@ -171,7 +171,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectStockpile .4byte BattleScript_EffectSpitUp .4byte BattleScript_EffectSwallow - .4byte BattleScript_EffectHit + .4byte BattleScript_EffectUnusedA3 .4byte BattleScript_EffectHail .4byte BattleScript_EffectTorment .4byte BattleScript_EffectFlatter @@ -208,7 +208,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectSecretPower .4byte BattleScript_EffectDoubleEdge .4byte BattleScript_EffectTeeterDance - .4byte BattleScript_EffectBurnHit + .4byte BattleScript_EffectBlazeKick .4byte BattleScript_EffectMudSport .4byte BattleScript_EffectPoisonFang .4byte BattleScript_EffectWeatherBall @@ -217,12 +217,34 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectCosmicPower .4byte BattleScript_EffectSkyUppercut .4byte BattleScript_EffectBulkUp - .4byte BattleScript_EffectPoisonHit - .4byte BattleScript_EffectMudSport + .4byte BattleScript_EffectPoisonTail + .4byte BattleScript_EffectWaterSport .4byte BattleScript_EffectCalmMind .4byte BattleScript_EffectDragonDance .4byte BattleScript_EffectCamouflage +BattleScript_EffectSpeedUp:: +BattleScript_EffectSpecialDefenseUp:: +BattleScript_EffectAccuracyUp:: +BattleScript_EffectAlwaysHit:: +BattleScript_EffectSpecialAttackDown:: +BattleScript_EffectSpecialDefenseDown:: +BattleScript_EffectHighCritical:: +BattleScript_EffectAccuracyUp2:: +BattleScript_EffectEvasionUp2:: +BattleScript_EffectSpecialAttackDown2:: +BattleScript_EffectAccuracyDown2:: +BattleScript_EffectEvasionDown2:: +BattleScript_EffectEvasionDownHit:: +BattleScript_EffectVitalThrow:: +BattleScript_EffectUnused60:: +BattleScript_EffectFalseSwipe:: +BattleScript_EffectQuickAttack:: +BattleScript_EffectUnused6e:: +BattleScript_EffectPursuit:: +BattleScript_EffectUnused83:: +BattleScript_EffectUnused8d:: +BattleScript_EffectUnusedA3:: BattleScript_EffectHit:: jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_HitFromAtkCanceler jumpifstatus3 TARGET, STATUS3_UNDERWATER, 0x1, BattleScript_HitFromAtkCanceler @@ -303,11 +325,12 @@ BattleScript_82D8AC1:: BattleScript_82D8ACF:: pause 0x20 - printfromtable 0x85CC896 + printfromtable gUproarAwakeStringIds waitmessage 0x40 goto BattleScript_MoveEnd BattleScript_EffectPoisonHit:: +BattleScript_EffectPoisonTail:: setmoveeffect EFFECT_POISON goto BattleScript_EffectHit @@ -336,7 +359,6 @@ BattleScript_EffectAbsorb:: jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_82D8B26 setbyte cMULTISTRING_CHOOSER, 0x0 goto BattleScript_82D8B2E - BattleScript_82D8B26:: manipulatedamage ATK80_DMG_CHANGE_SIGN setbyte cMULTISTRING_CHOOSER, 0x1 @@ -344,7 +366,7 @@ BattleScript_82D8B2E:: healthbarupdate ATTACKER datahpupdate ATTACKER jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8B45 - printfromtable 0x85CC8FC + printfromtable gLeechSeedDrainStringIds waitmessage 0x40 BattleScript_82D8B45:: tryfaintmon ATTACKER, FALSE, NULL @@ -352,6 +374,7 @@ BattleScript_82D8B45:: goto BattleScript_MoveEnd BattleScript_EffectBurnHit:: +BattleScript_EffectBlazeKick:: setmoveeffect EFFECT_BURN goto BattleScript_EffectHit @@ -499,14 +522,14 @@ BattleScript_82D8CBF:: setgraphicalstatchangevalues playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1 BattleScript_82D8CC7:: - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82D8CCF:: goto BattleScript_MoveEnd BattleScript_StatUp:: playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 return @@ -546,14 +569,14 @@ BattleScript_82D8D4E:: setgraphicalstatchangevalues playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1 BattleScript_82D8D58:: - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82D8D60:: goto BattleScript_MoveEnd BattleScript_StatDown:: playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 return @@ -742,7 +765,7 @@ BattleScript_EffectRest:: jumpifcantmakeasleep BattleScript_82D8FC6 trysetrest BattleScript_AlreadyAtFullHp pause 0x20 - printfromtable 0x85CC882 + printfromtable gRestUsedStringIds waitmessage 0x40 updatestatusicon ATTACKER waitstate @@ -750,7 +773,7 @@ BattleScript_EffectRest:: BattleScript_82D8FC6:: pause 0x40 - printfromtable 0x85CC896 + printfromtable gUproarAwakeStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -761,28 +784,27 @@ BattleScript_82D8FD6:: waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectOhko:: +BattleScript_EffectOHKO:: attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON typecalc jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation - tryKO BattleScript_82D9008 + tryKO BattleScript_KOFail trysetdestinybondtohappen goto BattleScript_HitFromAtkAnimation - -BattleScript_82D9008:: +BattleScript_KOFail:: pause 0x40 - printfromtable 0x85CC8F4 + printfromtable gKOFailedStringIds waitmessage 0x40 goto BattleScript_MoveEnd BattleScript_EffectRazorWind:: jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040 jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040 - setbyte sFIELD_F, 0x0 - call BattleScript_82D906F + setbyte sTWOTURN_STRINGID, 0x0 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_82D9040:: @@ -795,7 +817,7 @@ BattleScript_82D9040:: setmoveeffect EFFECT_FLINCH goto BattleScript_HitFromAccCheck -BattleScript_82D906F:: +BattleScriptFirstChargingTurn:: attackcanceler printstring STRINGID_EMPTYSTRING3 ppreduce @@ -804,8 +826,8 @@ BattleScript_82D906F:: orword gHitMarker, HITMARKER_x8000000 setmoveeffect EFFECT_CHARGING | AFFECTS_USER seteffectprimary - copybyte cMULTISTRING_CHOOSER, sFIELD_F - printfromtable 0x85CC8B0 + copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID + printfromtable gFirstTurnOfTwoStringIds waitmessage 0x40 return @@ -882,7 +904,7 @@ BattleScript_EffectMist:: setmist attackanimation waitanimation - printfromtable 0x85CC8CC + printfromtable gMistUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -894,7 +916,7 @@ BattleScript_EffectFocusEnergy:: setfocusenergy attackanimation waitanimation - printfromtable 0x85CC8D0 + printfromtable gFocusEnergyUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -955,7 +977,7 @@ BattleScript_EffectTransform:: transformdataexecution attackanimation waitanimation - printfromtable 0x85CC8D4 + printfromtable gTransformUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -983,7 +1005,7 @@ BattleScript_EffectReflect:: BattleScript_82D928C:: attackanimation waitanimation - printfromtable 0x85CC86C + printfromtable gReflectLightScreenSafeguardStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -1065,12 +1087,11 @@ BattleScript_EffectAccuracyDownHit:: setmoveeffect EFFECT_ACC_MINUS_1 goto BattleScript_EffectHit - BattleScript_EffectSkyAttack:: jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040 jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040 - setbyte sFIELD_F, 0x3 - call BattleScript_82D906F + setbyte sTWOTURN_STRINGID, 0x3 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_EffectConfuseHit:: @@ -1097,14 +1118,13 @@ BattleScript_EffectSubstitute:: jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D942B pause 0x20 goto BattleScript_82D9431 - BattleScript_82D942B:: attackanimation waitanimation healthbarupdate ATTACKER datahpupdate ATTACKER BattleScript_82D9431:: - printfromtable 0x85CC8D8 + printfromtable gSubsituteUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -1172,7 +1192,7 @@ BattleScript_82D94E5:: setseeded attackanimation waitanimation - printfromtable 0x85CC878 + printfromtable gLeechSeedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -1376,7 +1396,7 @@ BattleScript_EffectHealBell:: waitstate attackanimation waitanimation - printfromtable 0x85CC904 + printfromtable gPartyStatusHealStringIds waitmessage 0x40 jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_82D96FE jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D96ED @@ -1509,17 +1529,17 @@ BattleScript_82D9892:: waitanimation setstatchanger SPEED, 1, TRUE statbuffchange 0x41, BattleScript_82D98B8 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82D98B8:: setstatchanger ATK, 1, FALSE statbuffchange 0x41, BattleScript_82D98CC - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82D98CC:: setstatchanger DEF, 1, FALSE statbuffchange 0x41, BattleScript_82D98E0 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82D98E0:: goto BattleScript_MoveEnd @@ -1546,13 +1566,14 @@ BattleScript_82D98F6:: goto BattleScript_MoveEnd BattleScript_EffectProtect:: +BattleScript_EffectEndure:: attackcanceler attackstring ppreduce setprotectlike attackanimation waitanimation - printfromtable 0x85CC866 + printfromtable gProtectLikeUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -1634,7 +1655,7 @@ BattleScript_EffectSwagger:: jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9A1E setgraphicalstatchangevalues playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82D9A1E:: jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611 @@ -1670,6 +1691,7 @@ BattleScript_EffectAttract:: goto BattleScript_MoveEnd BattleScript_EffectReturn:: +BattleScript_EffectFrustration:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE happinesstodamagecalculation @@ -1743,6 +1765,8 @@ BattleScript_EffectSonicboom:: goto BattleScript_HitFromAtkAnimation BattleScript_EffectMorningSun:: +BattleScript_EffectSynthesis:: +BattleScript_EffectMoonlight:: attackcanceler attackstring ppreduce @@ -1761,7 +1785,7 @@ BattleScript_EffectRainDance:: BattleScript_82D9B41:: attackanimation waitanimation - printfromtable 0x85CC848 + printfromtable gMoveWeatherChangeStringIds waitmessage 0x40 call BattleScript_82DB48D goto BattleScript_MoveEnd @@ -1823,14 +1847,14 @@ BattleScript_EffectMirrorCoat:: BattleScript_EffectSkullBash:: jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040 jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040 - setbyte sFIELD_F, 0x2 - call BattleScript_82D906F + setbyte sTWOTURN_STRINGID, 0x2 + call BattleScriptFirstChargingTurn setstatchanger DEF, 1, FALSE statbuffchange 0x41, BattleScript_82D9C16 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9C16 setgraphicalstatchangevalues playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82D9C16:: goto BattleScript_MoveEnd @@ -1901,7 +1925,7 @@ BattleScript_EffectFutureSight:: trysetfutureattack BattleScript_ButItFailed attackanimation waitanimation - printfromtable 0x85CC90E + printfromtable gFutureMoveUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -1923,8 +1947,8 @@ BattleScript_EffectSolarbeam:: BattleScript_82D9D28:: jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040 jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040 - setbyte sFIELD_F, 0x1 - call BattleScript_82D906F + setbyte sTWOTURN_STRINGID, 0x1 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd BattleScript_82D9D50:: @@ -1988,31 +2012,31 @@ BattleScript_BeatUpAttack:: BattleScript_BeatUpEnd:: end -BattleScript_EffectFly:: - jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9E79 - jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9E79 - jumpifhalfword EQUAL, gCurrentMove, MOVE_FLY, BattleScript_82D9E68 - jumpifhalfword EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_82D9E5D - jumpifhalfword EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9E52 - setbyte sFIELD_F, 0x5 - goto BattleScript_82D9E6E +BattleScript_EffectSemiInvulnerable:: + jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable + jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable + jumpifhalfword EQUAL, gCurrentMove, MOVE_FLY, BattleScript_FirstTurnFly + jumpifhalfword EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_FirstTurnDive + jumpifhalfword EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_FirstTurnBounce + setbyte sTWOTURN_STRINGID, 0x5 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_82D9E52:: - setbyte sFIELD_F, 0x7 - goto BattleScript_82D9E6E +BattleScript_FirstTurnBounce:: + setbyte sTWOTURN_STRINGID, 0x7 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_82D9E5D:: - setbyte sFIELD_F, 0x6 - goto BattleScript_82D9E6E +BattleScript_FirstTurnDive:: + setbyte sTWOTURN_STRINGID, 0x6 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_82D9E68:: - setbyte sFIELD_F, 0x4 -BattleScript_82D9E6E:: - call BattleScript_82D906F +BattleScript_FirstTurnFly:: + setbyte sTWOTURN_STRINGID, 0x4 +BattleScript_FirstTurnSemiInvulnerable:: + call BattleScriptFirstChargingTurn setsemiinvulnerablebit goto BattleScript_MoveEnd -BattleScript_82D9E79:: +BattleScript_SecondTurnSemiInvulnerable:: attackcanceler setmoveeffect EFFECT_CHARGING setbyte sANIM_TURN, 0x1 @@ -2021,11 +2045,11 @@ BattleScript_82D9E79:: jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9EA3 setmoveeffect EFFECT_PARALYSIS BattleScript_82D9EA3:: - accuracycheck BattleScript_82D9EB0, ACC_CURR_MOVE + accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE clearsemiinvulnerablebit goto BattleScript_HitFromAtkString -BattleScript_82D9EB0:: +BattleScript_SemiInvulnerableMiss:: clearsemiinvulnerablebit goto BattleScript_PrintMoveMissed @@ -2105,7 +2129,7 @@ BattleScript_EffectStockpile:: stockpile attackanimation waitanimation - printfromtable 0x85CC88A + printfromtable gStockpileUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -2144,7 +2168,7 @@ BattleScript_EffectSwallow:: BattleScript_SwallowFail:: pause 0x20 - printfromtable 0x85CC892 + printfromtable gSwallowFailStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -2181,7 +2205,7 @@ BattleScript_EffectFlatter:: jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA03A setgraphicalstatchangevalues playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA03A:: jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611 @@ -2236,14 +2260,14 @@ BattleScript_EffectMemento:: setstatchanger ATK, 2, TRUE statbuffchange 0x1, BattleScript_82DA119 jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA119 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DA119:: playstatchangeanimation TARGET, 0x10, 0x3 setstatchanger SPATK, 2, TRUE statbuffchange 0x1, BattleScript_82DA13C jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA13C - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DA13C:: tryfaintmon ATTACKER, FALSE, NULL @@ -2358,7 +2382,7 @@ BattleScript_EffectTrick:: waitanimation printstring STRINGID_PKMNSWITCHEDITEMS waitmessage 0x40 - printfromtable 0x85CC970 + printfromtable gItemSwapStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -2647,13 +2671,14 @@ BattleScript_82DA520:: goto BattleScript_82DA4C7 BattleScript_EffectMudSport:: +BattleScript_EffectWaterSport:: attackcanceler attackstring ppreduce settypebasedhalvers BattleScript_ButItFailed attackanimation waitanimation - printfromtable 0x85CC900 + printfromtable gSportsUsedStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -2685,14 +2710,14 @@ BattleScript_82DA571:: setstatchanger ATK, 1, TRUE statbuffchange 0x1, BattleScript_82DA5A7 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5A7 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DA5A7:: playstatchangeanimation TARGET, 0x4, 0x1 setstatchanger DEF, 1, TRUE statbuffchange 0x1, BattleScript_82DA5CA jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5CA - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DA5CA:: goto BattleScript_MoveEnd @@ -2718,13 +2743,13 @@ BattleScript_82DA5F8:: setstatchanger DEF, 1, FALSE statbuffchange 0x41, BattleScript_82DA623 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA623 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA623:: setstatchanger SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_82DA642 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA642 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA642:: goto BattleScript_MoveEnd @@ -2747,13 +2772,13 @@ BattleScript_82DA66A:: setstatchanger ATK, 1, FALSE statbuffchange 0x41, BattleScript_82DA695 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA695 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA695:: setstatchanger DEF, 1, FALSE statbuffchange 0x41, BattleScript_82DA6B4 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6B4 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA6B4:: goto BattleScript_MoveEnd @@ -2772,13 +2797,13 @@ BattleScript_82DA6CE:: setstatchanger SPATK, 1, FALSE statbuffchange 0x41, BattleScript_82DA6F9 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6F9 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA6F9:: setstatchanger SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_82DA718 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA718 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA718:: goto BattleScript_MoveEnd @@ -2804,13 +2829,13 @@ BattleScript_82DA746:: setstatchanger ATK, 1, FALSE statbuffchange 0x41, BattleScript_82DA771 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA771 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA771:: setstatchanger SPEED, 1, FALSE statbuffchange 0x41, BattleScript_82DA790 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA790 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DA790:: goto BattleScript_MoveEnd @@ -3091,12 +3116,12 @@ BattleScript_82DAAFE:: end2 BattleScript_PrintFailedToRunString:: - printfromtable 0x85CC83E + printfromtable gNoEscapeStringIds waitmessage 0x40 end2 BattleScript_82DAB0B:: - printselectionstringfromtable 0x85CC83E + printselectionstringfromtable gNoEscapeStringIds endselectionscript BattleScript_82DAB11:: @@ -3181,7 +3206,6 @@ BattleScript_LevelUp:: drawlvlupbox handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, TRUE goto BattleScript_AskToLearnMove - BattleScript_TryLearnMoveLoop:: handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, FALSE BattleScript_AskToLearnMove:: @@ -3198,7 +3222,6 @@ BattleScript_AskToLearnMove:: yesnoboxstoplearningmove BattleScript_AskToLearnMove printstring STRINGID_DIDNOTLEARNMOVE goto BattleScript_TryLearnMoveLoop - BattleScript_ForgotAndLearnedNewMove:: printstring STRINGID_123POOF printstring STRINGID_PKMNFORGOTMOVE @@ -3210,12 +3233,11 @@ BattleScript_LearnedNewMove:: waitmessage 0x40 various ATTACKER, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP goto BattleScript_TryLearnMoveLoop - BattleScript_LearnMoveReturn:: return BattleScript_82DAC2C:: - printfromtable 0x85CC860 + printfromtable gRainContinuesStringIds waitmessage 0x40 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DAC46 playanimation ATTACKER, ANIM_RAIN_CONTINUES, NULL @@ -3223,7 +3245,7 @@ BattleScript_82DAC46:: end2 BattleScript_82DAC47:: - printfromtable 0x85CC854 + printfromtable gSandStormHailContinuesStringIds waitmessage 0x40 playanimation2 ATTACKER, sANIM_ARG1, NULL setbyte gBattleCommunication, 0x0 @@ -3231,7 +3253,7 @@ BattleScript_82DAC5F:: copyarraywithindex gBankAttacker, gBanksByTurnOrder, gBattleCommunication, 0x1 weatherdamage jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_82DACA0 - printfromtable 0x85CC858 + printfromtable gSandStormHailDmgStringIds waitmessage 0x40 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE effectivenesssound @@ -3249,7 +3271,7 @@ BattleScript_82DACBF:: end2 BattleScript_82DACC9:: - printfromtable 0x85CC85C + printfromtable gSandStormHailEndStringIds waitmessage 0x40 end2 @@ -3265,7 +3287,7 @@ BattleScript_82DACE0:: end2 BattleScript_82DACE7:: - printfromtable 0x85CC91A + printfromtable gWeatherContinuesStringIds waitmessage 0x40 playanimation2 ATTACKER, sANIM_ARG1, NULL end3 @@ -3304,7 +3326,7 @@ BattleScript_82DAD4D:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate TARGET datahpupdate TARGET - printfromtable 0x85CC878 + printfromtable gLeechSeedStringIds waitmessage 0x40 tryfaintmon ATTACKER, FALSE, NULL tryfaintmon TARGET, FALSE, NULL @@ -3490,27 +3512,27 @@ BattleScript_82DAF54:: playstatchangeanimation ATTACKER, 0x3E, 0x0 setstatchanger ATK, 1, FALSE statbuffchange 0x41, BattleScript_82DAF72 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DAF72:: setstatchanger DEF, 1, FALSE statbuffchange 0x41, BattleScript_82DAF86 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DAF86:: setstatchanger SPEED, 1, FALSE statbuffchange 0x41, BattleScript_82DAF9A - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DAF9A:: setstatchanger SPATK, 1, FALSE statbuffchange 0x41, BattleScript_82DAFAE - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DAFAE:: setstatchanger SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_82DAFC2 - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_82DAFC2:: return @@ -3662,14 +3684,14 @@ BattleScript_AtkDefDown:: setstatchanger ATK, 1, TRUE statbuffchange 0xC1, BattleScript_82DB144 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DB144:: playstatchangeanimation ATTACKER, 0x4, 0x9 setstatchanger DEF, 1, TRUE statbuffchange 0xC1, BattleScript_82DB167 jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167 - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DB167:: return @@ -3735,7 +3757,7 @@ BattleScript_SAtkDown2:: setstatchanger SPATK, 2, TRUE statbuffchange 0xC1, BattleScript_82DB1FE jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB1FE - printfromtable 0x85CC8A8 + printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DB1FE:: return @@ -3756,7 +3778,7 @@ BattleScript_MoveUsedIsAsleep:: BattleScript_MoveUsedWokeUp:: bicword gHitMarker, HITMARKER_x10 - printfromtable 0x85CC88E + printfromtable gWokeUpStringIds waitmessage 0x40 updatestatusicon ATTACKER return @@ -3793,7 +3815,7 @@ BattleScript_MoveUsedIsFrozen:: goto BattleScript_MoveEnd BattleScript_MoveUsedUnfroze:: - printfromtable 0x85CC8F0 + printfromtable gGotDefrostedStringIds waitmessage 0x40 updatestatusicon ATTACKER return @@ -3817,7 +3839,7 @@ BattleScript_MoveUsedFlinched:: goto BattleScript_MoveEnd BattleScript_82DB2A6:: - printfromtable 0x85CC886 + printfromtable gUproarOvetTurnStringIds waitmessage 0x40 end2 @@ -3903,7 +3925,7 @@ BattleScript_TargetPRLZHeal:: BattleScript_MoveEffectSleep:: statusanimation EFFECT_BANK - printfromtable 0x85CC8E4 + printfromtable gFellAsleepStringIds waitmessage 0x40 BattleScript_82DB374:: updatestatusicon EFFECT_BANK @@ -3921,25 +3943,25 @@ BattleScript_YawnMakesAsleep:: BattleScript_MoveEffectPoison:: statusanimation EFFECT_BANK - printfromtable 0x85CC8DC + printfromtable gGotPoisonedStringIds waitmessage 0x40 goto BattleScript_82DB374 BattleScript_MoveEffectBurn:: statusanimation EFFECT_BANK - printfromtable 0x85CC8E8 + printfromtable gGotBurnedStringIds waitmessage 0x40 goto BattleScript_82DB374 BattleScript_MoveEffectFreeze:: statusanimation EFFECT_BANK - printfromtable 0x85CC8EC + printfromtable gGotFrozenStringIds waitmessage 0x40 goto BattleScript_82DB374 BattleScript_MoveEffectParalysis:: statusanimation EFFECT_BANK - printfromtable 0x85CC8E0 + printfromtable gGotParalyzedStringIds waitmessage 0x40 goto BattleScript_82DB374 @@ -3960,7 +3982,7 @@ BattleScript_MoveEffectPayDay:: return BattleScript_MoveEffectWrap:: - printfromtable 0x85CC8C0 + printfromtable gWrappedStringIds waitmessage 0x40 return @@ -4139,7 +4161,7 @@ BattleScript_FlashFireBoost_PPLoss:: BattleScript_FlashFireBoost:: attackstring pause 0x20 - printfromtable 0x85CC976 + printfromtable gFlashFireStringIds waitmessage 0x40 goto BattleScript_MoveEnd @@ -4157,19 +4179,19 @@ BattleScript_AbilityNoStatLoss:: BattleScript_BRNPrevention:: pause 0x20 - printfromtable 0x85CC95E + printfromtable gBRNPreventionStringIds waitmessage 0x40 return BattleScript_PRLZPrevention:: pause 0x20 - printfromtable 0x85CC964 + printfromtable gPRLZPreventionStringIds waitmessage 0x40 return BattleScript_PSNPrevention:: pause 0x20 - printfromtable 0x85CC96A + printfromtable gPSNPreventionStringIds waitmessage 0x40 return @@ -4272,7 +4294,7 @@ BattleScript_MoveUsedLoafingAround:: various ATTACKER, 0x18 setbyte cMULTISTRING_CHOOSER, 0x4 BattleScript_82DB6C7:: - printfromtable 0x85CC93A + printfromtable gInobedientStringIds waitmessage 0x40 setbyte sMOVEEND_STATE, 0x0 moveend 0x2, 0x10 @@ -4374,7 +4396,7 @@ BattleScript_BerryCureChosenStatusEnd2:: BattleScript_BerryCureChosenStatusRet:: playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL - printfromtable 0x85CC95A + printfromtable gBerryEffectStringIds waitmessage 0x40 updatestatusicon SCRIPTING_BANK removeitem SCRIPTING_BANK @@ -4474,7 +4496,7 @@ BattleScript_82DB881:: BattleScript_82DB887:: various ATTACKER, 0x8 jumpifbyte NOT_EQUAL, gBattleCommunication, 0x1, BattleScript_82DB89D - printfromtable 0x85CCF0A + printfromtable gStringIds_85CCF0A waitmessage 0x40 BattleScript_82DB89D:: addbyte gBattleCommunication + 1, 0x1 diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 6f6ea084b..8b2af14aa 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -38,9 +38,9 @@ gBattlescriptsForRunningByItem:: @ 82DBD54 .align 2 gBattlescriptsForSafariActions:: @ 82DBD58 - .4byte BattleScript_82DBEBD - .4byte BattleScript_82DBEC4 - .4byte BattleScript_82DBECD + .4byte BattleScript_ActionWatchesCarefully + .4byte BattleScript_ActionGetNear + .4byte BattleScript_ActionThrowPokeblock .4byte BattleScript_82DBEE3 BattleScript_82DBD68:: @@ -73,10 +73,9 @@ BattleScript_82DBDA5:: setbyte gBattleCommunication, 0x0 trygivecaughtmonnick BattleScript_82DBDC2 givecaughtmon - printfromtable 0x85CC97A + printfromtable gCaughtMonStringIds waitmessage 0x40 goto BattleScript_82DBDC3 - BattleScript_82DBDC2:: givecaughtmon BattleScript_82DBDC3:: @@ -89,7 +88,7 @@ BattleScript_WallyBallThrow:: finishturn BattleScript_ShakeBallThrow:: - printfromtable 0x85CC912 + printfromtable gBallEscapeStringIds waitmessage 0x40 jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_82DBE01 jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_82DBE01 @@ -136,7 +135,7 @@ BattleScript_82DBE4B:: printstring STRINGID_TRAINER1USEDITEM waitmessage 0x40 useitemonopponent - printfromtable 0x85CC94E + printfromtable gTrainerItemCuredStatusStringIds waitmessage 0x40 updatestatusicon ATTACKER setbyte sMOVEEND_STATE, 0xF @@ -150,7 +149,7 @@ BattleScript_82DBE6F:: printstring STRINGID_TRAINER1USEDITEM waitmessage 0x40 useitemonopponent - printfromtable 0x85CC89C + printfromtable gStatUpStringIds waitmessage 0x40 setbyte sMOVEEND_STATE, 0xF moveend 0x1, 0x0 @@ -163,7 +162,7 @@ BattleScript_82DBE91:: printstring STRINGID_TRAINER1USEDITEM waitmessage 0x40 useitemonopponent - printfromtable 0x85CC8CC + printfromtable gMistUsedStringIds waitmessage 0x40 setbyte sMOVEEND_STATE, 0xF moveend 0x1, 0x0 @@ -174,21 +173,21 @@ BattleScript_RunByUsingItem:: setbyte gBattleOutcome, RAN finishturn -BattleScript_82DBEBD:: +BattleScript_ActionWatchesCarefully:: printstring STRINGID_PKMNWATCHINGCAREFULLY waitmessage 0x40 end2 -BattleScript_82DBEC4:: - printfromtable 0x85CC944 +BattleScript_ActionGetNear:: + printfromtable gSafariGetNearStringIds waitmessage 0x40 end2 -BattleScript_82DBECD:: +BattleScript_ActionThrowPokeblock:: printstring STRINGID_THREWPOKEBLOCKATPKMN waitmessage 0x40 playanimation ATTACKER, ANIM_x4, NULL - printfromtable 0x85CC948 + printfromtable gSafariPokeblockResultStringIds waitmessage 0x40 end2 diff --git a/include/battle.h b/include/battle.h index ada5282dc..5e37ef77c 100644 --- a/include/battle.h +++ b/include/battle.h @@ -846,7 +846,7 @@ struct BattleScripting s32 bideDmg; u8 multihitString[6]; u8 dmgMultiplier; - u8 field_F; + u8 twoTurnsMoveStringId; u8 animArg1; u8 animArg2; u8 tripleKickPower; diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h index 003913380..23c19ded7 100644 --- a/include/battle_move_effects.h +++ b/include/battle_move_effects.h @@ -158,7 +158,7 @@ enum EFFECT_THUNDER, EFFECT_TELEPORT, EFFECT_BEAT_UP, - EFFECT_FLY, + EFFECT_SEMI_INVULNERABLE, EFFECT_DEFENSE_CURL, EFFECT_SOFTBOILED, EFFECT_FAKE_OUT, diff --git a/include/battle_scripts.h b/include/battle_scripts.h index b04a82673..85e1488d7 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -78,11 +78,11 @@ extern const u8 BattleScript_EffectTriAttack[]; extern const u8 BattleScript_EffectRest[]; extern const u8 BattleScript_82D8FC6[]; extern const u8 BattleScript_82D8FD6[]; -extern const u8 BattleScript_EffectOhko[]; -extern const u8 BattleScript_82D9008[]; +extern const u8 BattleScript_EffectOHKO[]; +extern const u8 BattleScript_KOFail[]; extern const u8 BattleScript_EffectRazorWind[]; extern const u8 BattleScript_82D9040[]; -extern const u8 BattleScript_82D906F[]; +extern const u8 BattleScriptFirstChargingTurn[]; extern const u8 BattleScript_EffectSuperFang[]; extern const u8 BattleScript_EffectDragonRage[]; extern const u8 BattleScript_EffectTrap[]; @@ -228,14 +228,14 @@ extern const u8 BattleScript_EffectBeatUp[]; extern const u8 BattleScript_BeatUpLoop[]; extern const u8 BattleScript_BeatUpAttack[]; extern const u8 BattleScript_BeatUpEnd[]; -extern const u8 BattleScript_EffectFly[]; -extern const u8 BattleScript_82D9E52[]; -extern const u8 BattleScript_82D9E5D[]; -extern const u8 BattleScript_82D9E68[]; -extern const u8 BattleScript_82D9E6E[]; -extern const u8 BattleScript_82D9E79[]; +extern const u8 BattleScript_EffectSemiInvulnerable[]; +extern const u8 BattleScript_FirstTurnBounce[]; +extern const u8 BattleScript_FirstTurnDive[]; +extern const u8 BattleScript_FirstTurnFly[]; +extern const u8 BattleScript_FirstTurnSemiInvulnerable[]; +extern const u8 BattleScript_SecondTurnSemiInvulnerable[]; extern const u8 BattleScript_82D9EA3[]; -extern const u8 BattleScript_82D9EB0[]; +extern const u8 BattleScript_SemiInvulnerableMiss[]; extern const u8 BattleScript_EffectDefenseCurl[]; extern const u8 BattleScript_82D9ED3[]; extern const u8 BattleScript_EffectSoftboiled[]; @@ -632,9 +632,9 @@ extern const u8 BattleScript_82DBE4B[]; extern const u8 BattleScript_82DBE6F[]; extern const u8 BattleScript_82DBE91[]; extern const u8 BattleScript_RunByUsingItem[]; -extern const u8 BattleScript_82DBEBD[]; -extern const u8 BattleScript_82DBEC4[]; -extern const u8 BattleScript_82DBECD[]; +extern const u8 BattleScript_ActionWatchesCarefully[]; +extern const u8 BattleScript_ActionGetNear[]; +extern const u8 BattleScript_ActionThrowPokeblock[]; extern const u8 BattleScript_82DBEE3[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/src/battle_message.c b/src/battle_message.c index 9c37cf646..04eb5f655 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -932,58 +932,237 @@ const u16 gSandStormHailDmgStringIds[] = STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL }; -// todo once battlescripts are dumped -const u16 gTooLazyToSplitThemStringIds[] = +const u16 gSandStormHailEndStringIds[] = { - STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, - STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, - STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, - STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, - STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, + STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED +}; + +const u16 gRainContinuesStringIds[] = +{ + STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED +}; + +const u16 gProtectLikeUsedStringIds[] = +{ + STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED +}; + +const u16 gReflectLightScreenSafeguardStringIds[] = +{ + STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE, + STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL +}; + +const u16 gLeechSeedStringIds[] = +{ + STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR, - STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, - STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW, - STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, - STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, - STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, - STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, - STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND, - STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, - STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, - STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, - STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, - STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED, - STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO, - STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE, - STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED, - STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, - STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN, - STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY, - STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE, - STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED, - STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, - STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY, - STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, - STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING, +}; + +const u16 gRestUsedStringIds[] = +{ + STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY +}; + +const u16 gUproarOvetTurnStringIds[] = +{ + STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN +}; + +const u16 gStockpileUsedStringIds[] = +{ + STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, +}; + +const u16 gWokeUpStringIds[] = +{ + STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR +}; + +const u16 gSwallowFailStringIds[] = +{ + STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL +}; + +const u16 gUproarAwakeStringIds[] = +{ + STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING +}; + +const u16 gStatUpStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE, + STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED +}; + +const u16 gStatDownStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3 +}; + +const u16 gFirstTurnOfTwoStringIds[] = +{ + STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, + STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP +}; + +const u16 gWrappedStringIds[] = +{ + STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX, + STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB +}; + +const u16 gMistUsedStringIds[] = +{ + STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED +}; + +const u16 gFocusEnergyUsedStringIds[] = +{ + STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED +}; + +const u16 gTransformUsedStringIds[] = +{ + STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED +}; + +const u16 gSubsituteUsedStringIds[] = +{ + STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE +}; + +const u16 gGotPoisonedStringIds[] = +{ + STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY +}; + +const u16 gGotParalyzedStringIds[] = +{ + STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY +}; + +const u16 gFellAsleepStringIds[] = +{ + STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, +}; + +const u16 gGotBurnedStringIds[] = +{ + STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY +}; + +const u16 gGotFrozenStringIds[] = +{ + STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY +}; + +const u16 gGotDefrostedStringIds[] = +{ + STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY +}; + +const u16 gKOFailedStringIds[] = +{ + STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED +}; + +const u16 gAttractUsedStringIds[] = +{ + STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY +}; + +const u16 gLeechSeedDrainStringIds[] = +{ + STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE +}; + +const u16 gSportsUsedStringIds[] = +{ + STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED +}; + +const u16 gPartyStatusHealStringIds[] = +{ + STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, + // interesting how there are four instances of the same string + STRINGID_SOOTHINGAROMA +}; + +const u16 gFutureMoveUsedStringIds[] = +{ + STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY +}; + +const u16 gBallEscapeStringIds[] = +{ + STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE +}; + +const u16 gWeatherContinuesStringIds[] = +{ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING, - STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE, - STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER, - STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, + STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING +}; + +const u16 gInobedientStringIds[] = +{ + STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, + STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER +}; + +const u16 gSafariGetNearStringIds[] = +{ + STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER +}; + +const u16 gSafariPokeblockResultStringIds[] = +{ + STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX +}; + +const u16 gTrainerItemCuredStatusStringIds[] = +{ STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT, - STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT, - STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX, - STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH, - STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, - STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, + STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT +}; + +const u16 gBerryEffectStringIds[] = +{ + STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS +}; + +const u16 gBRNPreventionStringIds[] = +{ + STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPRLZPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPSNPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gItemSwapStringIds[] = +{ + STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ +}; + +const u16 gFlashFireStringIds[] = +{ + STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE +}; + +const u16 gCaughtMonStringIds[] = +{ + STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, }; const u16 gTrappingMoves[] = @@ -1102,9 +1281,10 @@ const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!"); const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!"); -const u16 gUnknown_085CCF0A[] = +const u16 gStringIds_85CCF0A[] = { - 0x016E, 0x016F, 0x0170, 0x0171 + STRINGID_GLINTAPPEARSINEYE, STRINGID_PKMNGETTINGINTOPOSITION, + STRINGID_PKMNBEGANGROWLINGDEEPLY, STRINGID_PKMNEAGERFORMORE }; const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!"); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e0a61a612..ded0629f2 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8783,7 +8783,7 @@ static bool8 IsTwoTurnsMove(u16 move) || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) return TRUE; else @@ -8810,7 +8810,7 @@ static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a chargi || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) { if ((gHitMarker & HITMARKER_x8000000))