add more battlescript macros

This commit is contained in:
DizzyEggg
2017-11-25 21:32:17 +01:00
parent fe658cc2fd
commit 847bfa1540
2 changed files with 39 additions and 29 deletions
+16
View File
@@ -1237,3 +1237,19 @@
setbyte \dst + 2, (\value >> 16) & 0xFF setbyte \dst + 2, (\value >> 16) & 0xFF
setbyte \dst + 3, (\value >> 24) & 0xFF setbyte \dst + 3, (\value >> 24) & 0xFF
.endm .endm
.macro copybyte dst, src
copyarray \dst, \src, 0x1
.endm
.macro copyword dst, src
copyarray \dst, \src, 0x4
.endm
.macro jumpifbytenotequal byte1, byte2, jumpptr
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
.endm
.macro jumpifbyteequal byte1, byte2, jumpptr
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
.endm
+23 -29
View File
@@ -614,7 +614,7 @@ BattleScript_82D8DFD::
jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8E74 jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8E74
BattleScript_82D8E1F:: BattleScript_82D8E1F::
movevaluescleanup movevaluescleanup
copyarray cEFFECT_CHOOSER, sFIELD_16, 0x1 copybyte cEFFECT_CHOOSER, sFIELD_16
critcalc critcalc
damagecalc damagecalc
typecalc typecalc
@@ -714,7 +714,7 @@ BattleScript_AlreadyPoisoned::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82D8F63:: BattleScript_82D8F63::
copyarray gEffectBank, gBankTarget, 0x1 copybyte gEffectBank, gBankTarget
setbyte cMULTISTRING_CHOOSER, 0x0 setbyte cMULTISTRING_CHOOSER, 0x0
call BattleScript_PSNPrevention call BattleScript_PSNPrevention
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
@@ -804,7 +804,7 @@ BattleScript_82D906F::
orword gHitMarker, HITMARKER_x8000000 orword gHitMarker, HITMARKER_x8000000
setmoveeffect EFFECT_CHARGING | AFFECTS_USER setmoveeffect EFFECT_CHARGING | AFFECTS_USER
seteffectprimary seteffectprimary
copyarray cMULTISTRING_CHOOSER, sFIELD_F, 0x1 copybyte cMULTISTRING_CHOOSER, sFIELD_F
printfromtable 0x85CC8B0 printfromtable 0x85CC8B0
waitmessage 0x40 waitmessage 0x40
return return
@@ -1036,7 +1036,7 @@ BattleScript_82D9351::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82D9362:: BattleScript_82D9362::
copyarray gEffectBank, gBankTarget, 0x1 copybyte gEffectBank, gBankTarget
setbyte cMULTISTRING_CHOOSER, 0x0 setbyte cMULTISTRING_CHOOSER, 0x0
call BattleScript_PRLZPrevention call BattleScript_PRLZPrevention
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
@@ -1254,7 +1254,7 @@ BattleScript_EffectPainSplit::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate ATTACKER healthbarupdate ATTACKER
datahpupdate ATTACKER datahpupdate ATTACKER
copyarray gBattleMoveDamage, sPAINSPLIT_HP, 0x4 copyword gBattleMoveDamage, sPAINSPLIT_HP
healthbarupdate TARGET healthbarupdate TARGET
datahpupdate TARGET datahpupdate TARGET
printstring STRINGID_SHAREDPAIN printstring STRINGID_SHAREDPAIN
@@ -1503,7 +1503,7 @@ BattleScript_EffectCurse::
jumpifstat ATTACKER, NOT_EQUAL, ATK, 0xC, BattleScript_82D9892 jumpifstat ATTACKER, NOT_EQUAL, ATK, 0xC, BattleScript_82D9892
jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_ButItFailed jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_ButItFailed
BattleScript_82D9892:: BattleScript_82D9892::
copyarray gBankTarget, gBankAttacker, 0x1 copybyte gBankTarget, gBankAttacker
setbyte sANIM_TURN, 0x1 setbyte sANIM_TURN, 0x1
attackanimation attackanimation
waitanimation waitanimation
@@ -1525,7 +1525,7 @@ BattleScript_82D98E0::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82D98E5:: BattleScript_82D98E5::
jumpifarraynotequal gBankAttacker, gBankTarget, 0x1, BattleScript_82D98F6 jumpifbytenotequal gBankAttacker, gBankTarget, BattleScript_82D98F6
various ATTACKER, VARIOUS_GET_MOVE_TARGET various ATTACKER, VARIOUS_GET_MOVE_TARGET
BattleScript_82D98F6:: BattleScript_82D98F6::
attackcanceler attackcanceler
@@ -1593,7 +1593,7 @@ BattleScript_PerishSongLoop::
jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected
BattleScript_PerishSongLoopIncrement:: BattleScript_PerishSongLoopIncrement::
addbyte sBANK, 0x1 addbyte sBANK, 0x1
jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_PerishSongLoop jumpifbytenotequal sBANK, gNoOfAllBanks, BattleScript_PerishSongLoop
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_PerishSongNotAffected:: BattleScript_PerishSongNotAffected::
@@ -1682,6 +1682,7 @@ BattleScript_EffectPresent::
ppreduce ppreduce
typecalc typecalc
presentdamagecalculation presentdamagecalculation
BattleScript_EffectSafeguard:: BattleScript_EffectSafeguard::
attackcanceler attackcanceler
attackstring attackstring
@@ -1984,7 +1985,6 @@ BattleScript_BeatUpAttack::
setbyte sMOVEEND_STATE, 0x0 setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10 moveend 0x2, 0x10
goto BattleScript_BeatUpLoop goto BattleScript_BeatUpLoop
BattleScript_BeatUpEnd:: BattleScript_BeatUpEnd::
end end
@@ -2208,7 +2208,7 @@ BattleScript_EffectWillOWisp::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82DA0A1:: BattleScript_82DA0A1::
copyarray gEffectBank, gBankTarget, 0x1 copybyte gEffectBank, gBankTarget
setbyte cMULTISTRING_CHOOSER, 0x0 setbyte cMULTISTRING_CHOOSER, 0x0
call BattleScript_BRNPrevention call BattleScript_BRNPrevention
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
@@ -2485,7 +2485,7 @@ BattleScript_EffectYawn::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82DA378:: BattleScript_82DA378::
copyarray sBANK, sFIELD_15, 0x1 copybyte sBANK, sFIELD_15
BattleScript_82DA382:: BattleScript_82DA382::
pause 0x20 pause 0x20
printstring STRINGID_PKMNSXMADEITINEFFECTIVE printstring STRINGID_PKMNSXMADEITINEFFECTIVE
@@ -2501,12 +2501,12 @@ BattleScript_EffectEndeavor::
attackstring attackstring
ppreduce ppreduce
setdamagetohealthdifference BattleScript_ButItFailed setdamagetohealthdifference BattleScript_ButItFailed
copyarray gHpDealt, gBattleMoveDamage, 0x4 copyword gHpDealt, gBattleMoveDamage
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
typecalc typecalc
jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
copyarray gBattleMoveDamage, gHpDealt, 0x4 copyword gBattleMoveDamage, gHpDealt
adjustsetdamage adjustsetdamage
goto BattleScript_HitFromAtkAnimation goto BattleScript_HitFromAtkAnimation
@@ -2514,9 +2514,6 @@ BattleScript_EffectEruption::
scaledamagebyhealthratio scaledamagebyhealthratio
goto BattleScript_EffectHit goto BattleScript_EffectHit
BattleScript_EffectSkillSwap:: BattleScript_EffectSkillSwap::
attackcanceler attackcanceler
attackstring attackstring
@@ -2563,7 +2560,6 @@ BattleScript_EffectGrudge::
waitmessage 0x40 waitmessage 0x40
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_EffectSnatch:: BattleScript_EffectSnatch::
attackcanceler attackcanceler
trysetsnatch BattleScript_ButItFailedAtkStringPpReduce trysetsnatch BattleScript_ButItFailedAtkStringPpReduce
@@ -2600,7 +2596,7 @@ BattleScript_EffectTeeterDance::
BattleScript_82DA47B:: BattleScript_82DA47B::
movevaluescleanup movevaluescleanup
setmoveeffect EFFECT_CONFUSION setmoveeffect EFFECT_CONFUSION
jumpifarrayequal gBankAttacker, gBankTarget, 0x1, BattleScript_82DA4D0 jumpifbyteequal gBankAttacker, gBankTarget, BattleScript_82DA4D0
jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DA4E5 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DA4E5
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA501 jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA501
jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82DA50F jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82DA50F
@@ -2617,7 +2613,7 @@ BattleScript_82DA4C7::
moveend 0x2, 0x10 moveend 0x2, 0x10
BattleScript_82DA4D0:: BattleScript_82DA4D0::
addbyte gBankTarget, 0x1 addbyte gBankTarget, 0x1
jumpifarraynotequal gBankTarget, gNoOfAllBanks, 0x1, BattleScript_82DA47B jumpifbytenotequal gBankTarget, gNoOfAllBanks, BattleScript_82DA47B
end end
BattleScript_82DA4E5:: BattleScript_82DA4E5::
@@ -2665,7 +2661,6 @@ BattleScript_EffectPoisonFang::
setmoveeffect EFFECT_TOXIC setmoveeffect EFFECT_TOXIC
goto BattleScript_EffectHit goto BattleScript_EffectHit
BattleScript_EffectWeatherBall:: BattleScript_EffectWeatherBall::
setweatherballtype setweatherballtype
goto BattleScript_EffectHit goto BattleScript_EffectHit
@@ -2702,7 +2697,6 @@ BattleScript_82DA5A7::
BattleScript_82DA5CA:: BattleScript_82DA5CA::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_82DA5CF:: BattleScript_82DA5CF::
pause 0x20 pause 0x20
orbyte gBattleMoveFlags, MOVESTATUS_FAILED orbyte gBattleMoveFlags, MOVESTATUS_FAILED
@@ -2934,7 +2928,7 @@ BattleScript_82DA908::
switchinanim GBANK_1, 0x0 switchinanim GBANK_1, 0x0
waitstate waitstate
switchineffects 5 switchineffects 5
jumpifarraynotequal gBank1, gNoOfAllBanks, 0x1, BattleScript_82DA908 jumpifbytenotequal gBank1, gNoOfAllBanks, BattleScript_82DA908
BattleScript_82DA92C:: BattleScript_82DA92C::
end2 end2
@@ -2969,7 +2963,7 @@ BattleScript_LocalBattleLost::
jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA9C9 jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA9C9
jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x4000000, BattleScript_82DA9C9 jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x4000000, BattleScript_82DA9C9
jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_82DA9BD jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_82DA9BD
jumpifhalfword EQUAL, 0x2038BCA, 0x400, BattleScript_82DA9BD jumpifhalfword EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_82DA9BD
BattleScript_82DA9B1:: BattleScript_82DA9B1::
printstring STRINGID_PLAYERWHITEOUT printstring STRINGID_PLAYERWHITEOUT
waitmessage 0x40 waitmessage 0x40
@@ -3249,7 +3243,7 @@ BattleScript_82DAC5F::
BattleScript_82DACA0:: BattleScript_82DACA0::
jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DACBF jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DACBF
addbyte gBattleCommunication, 0x1 addbyte gBattleCommunication, 0x1
jumpifarraynotequal gBattleCommunication, gNoOfAllBanks, 0x1, BattleScript_82DAC5F jumpifbytenotequal gBattleCommunication, gNoOfAllBanks, BattleScript_82DAC5F
BattleScript_82DACBF:: BattleScript_82DACBF::
bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
end2 end2
@@ -3298,7 +3292,7 @@ BattleScript_LeechSeedTurnDrain::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate ATTACKER healthbarupdate ATTACKER
datahpupdate ATTACKER datahpupdate ATTACKER
copyarray gBattleMoveDamage, gHpDealt, 0x4 copyword gBattleMoveDamage, gHpDealt
jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_82DAD47 jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_82DAD47
manipulatedamage ATK80_DMG_CHANGE_SIGN manipulatedamage ATK80_DMG_CHANGE_SIGN
setbyte cMULTISTRING_CHOOSER, 0x3 setbyte cMULTISTRING_CHOOSER, 0x3
@@ -3330,7 +3324,7 @@ BattleScript_BideAttack::
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
typecalc typecalc
bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
copyarray gBattleMoveDamage, sBIDE_DMG, 0x4 copyword gBattleMoveDamage, sBIDE_DMG
adjustsetdamage adjustsetdamage
setbyte sANIM_TURN, 0x1 setbyte sANIM_TURN, 0x1
attackanimation attackanimation
@@ -3528,7 +3522,7 @@ BattleScript_RapidSpinAway::
BattleScript_WrapFree:: BattleScript_WrapFree::
printstring STRINGID_PKMNGOTFREE printstring STRINGID_PKMNGOTFREE
waitmessage 0x40 waitmessage 0x40
copyarray gBankTarget, sBANK, 0x1 copybyte gBankTarget, sBANK
return return
BattleScript_LeechSeedFree:: BattleScript_LeechSeedFree::
@@ -4042,7 +4036,7 @@ BattleScript_82DB48D::
BattleScript_82DB493:: BattleScript_82DB493::
trycastformdatachange trycastformdatachange
addbyte sBANK, 0x1 addbyte sBANK, 0x1
jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_82DB493 jumpifbytenotequal sBANK, gNoOfAllBanks, BattleScript_82DB493
return return
BattleScript_CastformChange:: BattleScript_CastformChange::
@@ -4484,7 +4478,7 @@ BattleScript_82DB887::
waitmessage 0x40 waitmessage 0x40
BattleScript_82DB89D:: BattleScript_82DB89D::
addbyte gBattleCommunication + 1, 0x1 addbyte gBattleCommunication + 1, 0x1
jumpifarraynotequal gBattleCommunication + 1, gNoOfAllBanks, 0x1, BattleScript_82DB887 jumpifbytenotequal gBattleCommunication + 1, gNoOfAllBanks, BattleScript_82DB887
setbyte gBattleCommunication, 0x0 setbyte gBattleCommunication, 0x0
setbyte gBattleCommunication + 1, 0x0 setbyte gBattleCommunication + 1, 0x0
end2 end2