Fixes Weak Armor and items not displaying stat change attributes (#7701)

This commit is contained in:
PhallenTree 2025-09-07 19:30:00 +01:00 committed by GitHub
parent c3dec7d030
commit 8486e0e045
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 228 additions and 289 deletions

View File

@ -477,7 +477,7 @@ BattleScript_EffectAttackUpUserAlly_TryAlly_:
jumpifblockedbysoundproof BS_ATTACKER_PARTNER, BattleScript_EffectAttackUpUserAlly_TryAllyBlocked
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectAttackUpUserAlly_End
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectAttackUpUserAlly_AllyString
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectAttackUpUserAlly_AllyString
pause B_WAIT_TIME_SHORTEST
printstring STRINGID_TARGETSTATWONTGOHIGHER
waitmessage B_WAIT_TIME_LONG
@ -1108,7 +1108,7 @@ BattleScript_StrengthSapAnimation:
attackanimation
waitanimation
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_StrengthSapHp
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_StrengthSapHp
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_StrengthSapHp
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
@ Drain HP without lowering a stat
@ -1137,7 +1137,7 @@ BattleScript_StrengthSapLiquidOoze:
goto BattleScript_MoveEnd
BattleScript_StrengthSapMustLower:
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_MoveEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_MoveEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_MoveEnd
goto BattleScript_StrengthSapAnimation
BattleScript_MoveEffectIncinerate::
@ -1184,19 +1184,19 @@ BattleScript_VCreateStatLoss::
BattleScript_VCreateStatAnim:
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_CERTAIN, BattleScript_VCreateTrySpDef, BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VCreateTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VCreateTrySpDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VCreateTrySpDef:
setstatchanger STAT_SPDEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_CERTAIN, BattleScript_VCreateTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VCreateTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VCreateTrySpeed
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VCreateTrySpeed:
setstatchanger STAT_SPEED, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_CERTAIN, BattleScript_VCreateStatLossRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VCreateStatLossRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VCreateStatLossRet
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VCreateStatLossRet:
@ -1298,14 +1298,14 @@ BattleScript_EffectMagneticFluxTryDef:
BattleScript_EffectMagneticFluxSkipAnim:
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMagneticFluxTrySpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectMagneticFluxTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectMagneticFluxTrySpDef
addbyte gBattleCommunication, 1
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectMagneticFluxTrySpDef:
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMagneticFluxLoop
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectMagneticFluxLoop
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectMagneticFluxLoop
addbyte gBattleCommunication, 1
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -1333,14 +1333,14 @@ BattleScript_EffectGearUpTryAtk:
BattleScript_EffectGearUpSkipAnim:
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectGearUpTrySpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectGearUpTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectGearUpTrySpAtk
addbyte gBattleCommunication, 1
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectGearUpTrySpAtk:
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectGearUpLoop
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectGearUpLoop
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectGearUpLoop
addbyte gBattleCommunication, 1
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -1396,8 +1396,8 @@ BattleScript_FlowerShieldLoop:
BattleScript_FlowerShieldLoop2:
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_FlowerShieldMoveTargetEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_FlowerShieldDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_EMPTY, BattleScript_FlowerShieldMoveTargetEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_FlowerShieldDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_FlowerShieldMoveTargetEnd
pause 21
goto BattleScript_FlowerShieldString
BattleScript_FlowerShieldDoAnim:
@ -1429,13 +1429,13 @@ BattleScript_RototillerCheckAffected:
jumpifnotrototilleraffected BattleScript_RototillerNoEffect
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_RototillerTrySpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_RototillerTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_RototillerTrySpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_RototillerTrySpAtk::
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_RototillerMoveTargetEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_RototillerMoveTargetEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_RototillerMoveTargetEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_RototillerMoveTargetEnd:
@ -1556,8 +1556,8 @@ BattleScript_DefogIfCanClearHazards:
BattleScript_DefogWorks:
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_DefogTryHazardsWithAnim
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_DefogDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_DefogTryHazardsWithAnim
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DefogDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_DefogTryHazardsWithAnim
pause B_WAIT_TIME_SHORT
goto BattleScript_DefogPrintString
BattleScript_DefogDoAnim::
@ -1593,7 +1593,7 @@ BattleScript_EffectAutotomize::
setstatchanger STAT_SPEED, 2, FALSE
attackcanceler
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_AutotomizeWeightLoss
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AutotomizeAttackAnim
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AutotomizeAttackAnim
pause B_WAIT_TIME_SHORT
goto BattleScript_AutotomizePrintString
BattleScript_AutotomizeAttackAnim::
@ -1638,8 +1638,8 @@ BattleScript_EffectToxicThread::
waitanimation
setstatchanger STAT_SPEED, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_ToxicThreadTryPsn
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_ToxicThreadDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_ToxicThreadTryPsn
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ToxicThreadDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_ToxicThreadTryPsn
pause B_WAIT_TIME_SHORT
goto BattleScript_ToxicThreadPrintString
BattleScript_ToxicThreadDoAnim::
@ -1665,19 +1665,19 @@ BattleScript_VenomDrenchDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_VenomDrenchTryLowerSpAtk, BIT_SPATK | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VenomDrenchTryLowerSpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VenomDrenchTryLowerSpAtk
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VenomDrenchTryLowerSpAtk::
setstatchanger STAT_SPATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_VenomDrenchTryLowerSpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VenomDrenchTryLowerSpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VenomDrenchTryLowerSpeed
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VenomDrenchTryLowerSpeed::
setstatchanger STAT_SPEED, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_VenomDrenchEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_VenomDrenchEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VenomDrenchEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VenomDrenchEnd::
@ -1693,13 +1693,13 @@ BattleScript_NobleRoarDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_NobleRoarTryLowerSpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_NobleRoarTryLowerSpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_NobleRoarTryLowerSpAtk
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_NobleRoarTryLowerSpAtk::
setstatchanger STAT_SPATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_NobleRoarEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_NobleRoarEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_NobleRoarEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_NobleRoarEnd::
@ -1717,31 +1717,31 @@ BattleScript_ShellSmashTryDef::
waitanimation
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_CERTAIN, BattleScript_ShellSmashTrySpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShellSmashTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShellSmashTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShellSmashTrySpDef:
setstatchanger STAT_SPDEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_CERTAIN, BattleScript_ShellSmashTryAttack
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShellSmashTryAttack
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShellSmashTryAttack
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShellSmashTryAttack:
setstatchanger STAT_ATK, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_ShellSmashTrySpAtk, BIT_SPATK | BIT_SPEED,
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShellSmashTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShellSmashTrySpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShellSmashTrySpAtk:
setstatchanger STAT_SPATK, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_ShellSmashTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShellSmashTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShellSmashTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShellSmashTrySpeed:
setstatchanger STAT_SPEED, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_ShellSmashEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShellSmashEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShellSmashEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShellSmashEnd:
@ -1767,7 +1767,7 @@ BattleScript_GrowthAtk2:
setstatchanger STAT_ATK, 2, FALSE
BattleScript_GrowthAtk:
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_GrowthTrySpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_GrowthTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_GrowthTrySpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_GrowthTrySpAtk::
@ -1778,7 +1778,7 @@ BattleScript_GrowthSpAtk2:
setstatchanger STAT_SPATK, 2, FALSE
BattleScript_GrowthSpAtk:
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_GrowthEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_GrowthEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_GrowthEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_GrowthEnd:
@ -1831,13 +1831,13 @@ BattleScript_ShiftGearSpeedBy1:
setstatchanger STAT_SPEED, 1, FALSE
BattleScript_ShiftGearDoSpeed:
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_ShiftGearTryAtk, BIT_ATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShiftGearTryAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShiftGearTryAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShiftGearTryAtk:
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_ShiftGearEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_ShiftGearEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_ShiftGearEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_ShiftGearEnd:
@ -1853,19 +1853,19 @@ BattleScript_CoilDoMoveAnim:
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CoilTryDef, BIT_DEF | BIT_ACC
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CoilTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CoilTryDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CoilTryDef:
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CoilTryAcc, BIT_ACC
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CoilTryAcc
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CoilTryAcc
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CoilTryAcc:
setstatchanger STAT_ACC, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CoilEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CoilEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CoilEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CoilEnd:
@ -1881,19 +1881,19 @@ BattleScript_QuiverDanceDoMoveAnim::
waitanimation
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_QuiverDanceTrySpDef, BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_QuiverDanceTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_QuiverDanceTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_QuiverDanceTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_QuiverDanceTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_QuiverDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_QuiverDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_QuiverDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_QuiverDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_QuiverDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_QuiverDanceEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_QuiverDanceEnd::
@ -1909,19 +1909,19 @@ BattleScript_VictoryDanceDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTryDef, BIT_DEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VictoryDanceTryDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceTryDef::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VictoryDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_VictoryDanceEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_VictoryDanceEnd::
@ -1936,13 +1936,13 @@ BattleScript_AttackSpAttackUpDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_AttackSpAttackUpTrySpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AttackSpAttackUpTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AttackSpAttackUpTrySpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AttackSpAttackUpTrySpAtk::
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_AttackSpAttackUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AttackSpAttackUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AttackSpAttackUpEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AttackSpAttackUpEnd:
@ -1957,13 +1957,13 @@ BattleScript_AttackAccUpDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_AttackAccUpTryAcc, BIT_ACC
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AttackAccUpTryAcc
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AttackAccUpTryAcc
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AttackAccUpTryAcc::
setstatchanger STAT_ACC, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_AttackAccUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AttackAccUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AttackAccUpEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AttackAccUpEnd:
@ -2423,7 +2423,7 @@ BattleScript_EffectCaptivate::
goto BattleScript_ButItFailed
BattleScript_CaptivateCheckAcc:
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
goto BattleScript_StatDownFromAttackString
goto BattleScript_EffectStatDownFromStatBuffChange
BattleScript_EffectHealBlock::
attackcanceler
@ -2670,7 +2670,7 @@ BattleScript_EffectStatUp::
attackcanceler
BattleScript_EffectStatUpAfterAtkCanceler::
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_StatUpEnd
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpAttackAnim
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_StatUpAttackAnim
pause B_WAIT_TIME_SHORT
goto BattleScript_StatUpPrintString
BattleScript_StatUpAttackAnim::
@ -2720,11 +2720,10 @@ BattleScript_EffectStatDown:
jumpifsubstituteblocks BattleScript_ButItFailed
BattleScript_EffectStatDownFromAccCheck:
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
BattleScript_StatDownFromAttackString:
BattleScript_EffectStatDownFromStatBuffChange:
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_StatDownEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_StatDownDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_StatDownEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_StatDownDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_StatDownEnd
pause B_WAIT_TIME_SHORT
goto BattleScript_StatDownPrintString
BattleScript_StatDownDoAnim::
@ -2744,7 +2743,7 @@ BattleScript_MirrorArmorReflect::
jumpifvolatile BS_ATTACKER, VOLATILE_SUBSTITUTE, BattleScript_MirrorArmorDoesntAffect
BattleScript_MirrorArmorReflectStatLoss:
statbuffchange BS_ATTACKER, STAT_CHANGE_MIRROR_ARMOR | STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_MirrorArmorReflectEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_MirrorArmorReflectPrintString
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_MirrorArmorReflectPrintString
goto BattleScript_MirrorArmorReflectWontFall
BattleScript_MirrorArmorReflectPrintString:
printfromtable gStatDownStringIds
@ -3100,19 +3099,19 @@ BattleScript_GeomancyDoMoveAnim::
waitanimation
setstatchanger STAT_SPATK, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_GeomancyTrySpDef, BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_GeomancyTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_GeomancyTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_GeomancyTrySpDef::
setstatchanger STAT_SPDEF, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_GeomancyTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_GeomancyTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_GeomancyTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_GeomancyTrySpeed::
setstatchanger STAT_SPEED, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_GeomancyEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_GeomancyEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_GeomancyEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_GeomancyEnd::
@ -3555,7 +3554,7 @@ BattleScript_EffectSwagger::
waitanimation
setstatchanger STAT_ATK, 2, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_SwaggerTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_SwaggerTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_SwaggerTryConfuse
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_SwaggerTryConfuse:
@ -3856,7 +3855,7 @@ BattleScript_EffectDefenseCurl::
setvolatile BS_TARGET, VOLATILE_DEFENSE_CURL
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_DefenseCurlDoStatUpAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpPrintString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_StatUpPrintString
attackanimation
waitanimation
BattleScript_DefenseCurlDoStatUpAnim::
@ -3939,13 +3938,13 @@ BattleScript_EffectStockpile::
BattleScript_EffectStockpileDef:
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectStockpileSpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectStockpileSpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectStockpileSpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectStockpileSpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectStockpileEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectStockpileEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectStockpileEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectStockpileEnd:
@ -4039,7 +4038,7 @@ BattleScript_EffectFlatter::
waitanimation
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_FlatterTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_FlatterTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_FlatterTryConfuse
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_FlatterTryConfuse::
@ -4081,15 +4080,15 @@ BattleScript_EffectMemento::
jumpifsubstituteblocks BattleScript_EffectMementoPrintNoEffect
setstatchanger STAT_ATK, 2, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk, BIT_SPATK
@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTrySpAtk
@ Greater than B_MSG_DEFENDER_STAT_CHANGED is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_CHANGED, BattleScript_EffectMementoTrySpAtk
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectMementoTrySpAtk:
setstatchanger STAT_SPATK, 2, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTryFaint
@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTryFaint
@ Greater than B_MSG_DEFENDER_STAT_CHANGED is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_CHANGED, BattleScript_EffectMementoTryFaint
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectMementoTryFaint:
@ -4138,7 +4137,7 @@ BattleScript_EffectCharge::
.if B_CHARGE_SPDEF_RAISE >= GEN_5
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectChargeString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectChargeString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectChargeString
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectChargeString:
@ -4374,13 +4373,13 @@ BattleScript_TickleDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_TickleTryLowerDef, BIT_DEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleTryLowerDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_TickleTryLowerDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_TickleTryLowerDef::
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_TickleEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_TickleEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_TickleEnd::
@ -4402,13 +4401,13 @@ BattleScript_CosmicPowerDoMoveAnim::
waitanimation
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CosmicPowerTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CosmicPowerTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CosmicPowerEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CosmicPowerEnd::
@ -4423,13 +4422,13 @@ BattleScript_BulkUpDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpTryDef, BIT_DEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_BulkUpTryDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_BulkUpTryDef::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_BulkUpEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_BulkUpEnd::
@ -4446,13 +4445,13 @@ BattleScript_CalmMindDoMoveAnim::
BattleScript_CalmMindStatRaise::
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindTrySpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CalmMindTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CalmMindTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CalmMindEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CalmMindEnd::
@ -4475,13 +4474,13 @@ BattleScript_DragonDanceDoMoveAnim::
waitanimation
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DragonDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DragonDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DragonDanceEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DragonDanceEnd::
@ -5149,13 +5148,13 @@ BattleScript_WeaknessPolicyAtk:
waitanimation
setstatchanger STAT_ATK, 2, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_WeaknessPolicySpAtk, BIT_SPATK
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_WeaknessPolicySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_WeaknessPolicySpAtk
printstring STRINGID_USINGITEMSTATOFPKMNROSE
waitmessage B_WAIT_TIME_LONG
BattleScript_WeaknessPolicySpAtk:
setstatchanger STAT_SPATK, 2, FALSE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_WeaknessPolicyRemoveItem
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_WeaknessPolicyRemoveItem
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_WeaknessPolicyRemoveItem
printstring STRINGID_USINGITEMSTATOFPKMNROSE
waitmessage B_WAIT_TIME_LONG
BattleScript_WeaknessPolicyRemoveItem:
@ -5166,7 +5165,7 @@ BattleScript_WeaknessPolicyEnd:
BattleScript_TargetItemStatRaise::
copybyte sBATTLER, gBattlerTarget
statbuffchange BS_TARGET, STAT_CHANGE_ONLY_CHECKING, BattleScript_TargetItemStatRaiseRemoveItemRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_TargetItemStatRaiseRemoveItemRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_TargetItemStatRaiseRemoveItemRet
playanimation BS_TARGET, B_ANIM_HELD_ITEM_EFFECT
waitanimation
statbuffchange BS_TARGET, 0, BattleScript_TargetItemStatRaiseRemoveItemRet
@ -5179,7 +5178,7 @@ BattleScript_TargetItemStatRaiseRemoveItemRet:
BattleScript_AttackerItemStatRaise::
copybyte sBATTLER, gBattlerAttacker
statbuffchange BS_ATTACKER, STAT_CHANGE_ONLY_CHECKING, BattleScript_AttackerItemStatRaiseRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AttackerItemStatRaiseRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AttackerItemStatRaiseRet
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
waitanimation
statbuffchange BS_ATTACKER, 0, BattleScript_AttackerItemStatRaiseRet
@ -5339,7 +5338,7 @@ BattleScript_StickyWebOnSwitchIn::
waitmessage B_WAIT_TIME_LONG
jumpifability BS_TARGET, ABILITY_MIRROR_ARMOR, BattleScript_MirrorArmorReflectStickyWeb
statbuffchange BS_TARGET, STAT_CHANGE_CHECK_PREVENTION | STAT_CHANGE_ALLOW_PTR, BattleScript_StickyWebOnSwitchInEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_StickyWebOnSwitchInEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_StickyWebOnSwitchInEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_StickyWebOnSwitchInEnd:
@ -5771,7 +5770,7 @@ BattleScript_PrintMonIsRootedRet::
BattleScript_AtkDefDown::
setstatchanger STAT_ATK, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_AtkDefDownTryDef, BIT_DEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_AtkDefDownTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_AtkDefDownTryDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AtkDefDownTryDef:
@ -5785,13 +5784,13 @@ BattleScript_AtkDefDownRet:
BattleScript_DefSpDefDown::
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_DefSpDefDownTrySpDef, BIT_SPDEF
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_DefSpDefDownTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DefSpDefDownTrySpDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DefSpDefDownTrySpDef::
setstatchanger STAT_SPDEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_DefSpDefDownRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_DefSpDefDownRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DefSpDefDownRet
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DefSpDefDownRet::
@ -5803,13 +5802,13 @@ BattleScript_DefDownSpeedUp::
BattleScript_DefDownSpeedUpTryDef::
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_CERTAIN, BattleScript_DefDownSpeedUpTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DefDownSpeedUpTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DefDownSpeedUpTrySpeed
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DefDownSpeedUpTrySpeed:
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_CERTAIN, BattleScript_DefDownSpeedUpRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DefDownSpeedUpRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_DefDownSpeedUpRet
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DefDownSpeedUpRet::
@ -6091,7 +6090,7 @@ BattleScript_CottonDownLoop:
setstatchanger STAT_SPEED, 1, TRUE
jumpifbyteequal gBattlerTarget, gEffectBattler, BattleScript_CottonDownLoopIncrement
statbuffchange BS_TARGET, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_CottonDownLoopIncrement
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_CottonDownTargetSpeedCantGoLower
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CottonDownTargetSpeedCantGoLower
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_CottonDownLoopIncrement
@ -6251,7 +6250,7 @@ BattleScript_MoveUsedFlinchedEnd:
BattleScript_TryActivateSteadFast:
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_MoveUsedFlinchedEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_MoveUsedFlinchedEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_MoveUsedFlinchedEnd
copybyte gBattlerAbility, gBattlerAttacker
call BattleScript_AbilityPopUp
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_MoveUsedFlinchedEnd
@ -6571,14 +6570,6 @@ BattleScript_AbilityPopUpOverwriteThenNormal:
setbyte sFIXED_ABILITY_POPUP, FALSE
return
BattleScript_SpeedBoostActivates::
call BattleScript_AbilityPopUp
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_SpeedBoostActivatesEnd
printstring STRINGID_PKMNRAISEDSPEED
waitmessage B_WAIT_TIME_LONG
BattleScript_SpeedBoostActivatesEnd:
end3
@ Can't compare directly to a value, have to compare to value at pointer
sZero:
.byte 0
@ -6587,14 +6578,14 @@ BattleScript_MoodyActivates::
call BattleScript_AbilityPopUp
jumpifbyteequal sSTATCHANGER, sZero, BattleScript_MoodyLower
statbuffchange BS_ATTACKER, STAT_CHANGE_CERTAIN | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_MoodyLower
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_ROSE, BattleScript_MoodyLower
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_CHANGED, BattleScript_MoodyLower
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_MoodyLower:
jumpifbyteequal sSAVED_STAT_CHANGER, sZero, BattleScript_MoodyEnd
copybyte sSTATCHANGER, sSAVED_STAT_CHANGER
statbuffchange BS_ATTACKER, STAT_CHANGE_CERTAIN | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_MoodyEnd
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_MoodyEnd
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_CHANGED, BattleScript_MoodyEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_MoodyEnd:
@ -6803,8 +6794,7 @@ BattleScript_IntimidateEffect:
copybyte sBATTLER, gBattlerAttacker
setstatchanger STAT_ATK, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateLoopIncrement
jumpifability BS_TARGET, ABILITY_CONTRARY, BattleScript_IntimidateContrary
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_IntimidateWontDecrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_IntimidateWontDecrease
printstring STRINGID_PKMNCUTSATTACKWITH
BattleScript_IntimidateEffect_WaitString:
waitmessage B_WAIT_TIME_LONG
@ -6834,10 +6824,6 @@ BattleScript_IntimidateWontDecrease:
printstring STRINGID_STATSWONTDECREASE
goto BattleScript_IntimidateEffect_WaitString
BattleScript_IntimidateContrary:
printfromtable gStatUpStringIds
goto BattleScript_IntimidateEffect_WaitString
BattleScript_IntimidateInReverse::
copybyte sBATTLER, gBattlerTarget
call BattleScript_AbilityPopUpTarget
@ -6860,8 +6846,7 @@ BattleScript_SupersweetSyrupEffect:
copybyte sBATTLER, gBattlerAttacker
setstatchanger STAT_EVASION, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_SupersweetSyrupLoopIncrement
jumpifability BS_TARGET, ABILITY_CONTRARY, BattleScript_SupersweetSyrupContrary
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_SupersweetSyrupWontDecrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_SupersweetSyrupWontDecrease
printfromtable gStatDownStringIds
BattleScript_SupersweetSyrupEffect_WaitString:
waitmessage B_WAIT_TIME_LONG
@ -6885,10 +6870,6 @@ BattleScript_SupersweetSyrupWontDecrease:
printstring STRINGID_STATSWONTDECREASE
goto BattleScript_SupersweetSyrupEffect_WaitString
BattleScript_SupersweetSyrupContrary:
printfromtable gStatUpStringIds
goto BattleScript_SupersweetSyrupEffect_WaitString
BattleScript_DroughtActivates::
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUp
@ -6981,31 +6962,31 @@ BattleScript_CommanderActivates::
BattleScript_CommanderAtkIncrease:
setstatchanger STAT_ATK, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderDefIncrease, BIT_DEF | BIT_SPATK | BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderDefIncrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CommanderDefIncrease
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CommanderDefIncrease:
setstatchanger STAT_DEF, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpAtkIncrease, BIT_SPATK | BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpAtkIncrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CommanderSpAtkIncrease
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CommanderSpAtkIncrease:
setstatchanger STAT_SPATK, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpDefIncrease, BIT_SPDEF | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpDefIncrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CommanderSpDefIncrease
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CommanderSpDefIncrease:
setstatchanger STAT_SPDEF, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpeedIncrease, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpeedIncrease
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CommanderSpeedIncrease
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CommanderSpeedIncrease:
setstatchanger STAT_SPEED, 2, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_CommanderEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CommanderEnd:
@ -7290,7 +7271,7 @@ BattleScript_AbilityNoSpecificStatLoss::
call BattleScript_AbilityPopUp
printstring STRINGID_PKMNSXPREVENTSYLOSS
waitmessage B_WAIT_TIME_LONG
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY
setmoveresultflags MOVE_RESULT_NO_EFFECT
return
@ -7377,7 +7358,7 @@ BattleScript_BattlerAbilityStatRaiseOnSwitchIn::
call BattleScript_AbilityPopUpScripting
statbuffchange BS_SCRIPTING, STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_CERTAIN, BattleScript_BattlerAbilityStatRaiseOnSwitchInRet
waitanimation
printstring STRINGID_BATTLERABILITYRAISEDSTAT
printstring STRINGID_SCRIPTINGABILITYSTATRAISE
waitmessage B_WAIT_TIME_LONG
BattleScript_BattlerAbilityStatRaiseOnSwitchInRet:
end3
@ -7398,8 +7379,8 @@ BattleScript_WeakArmorActivates::
call BattleScript_AbilityPopUp
setstatchanger STAT_DEF, 1, TRUE
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_WeakArmorActivatesSpeed
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_WeakArmorDefPrintString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_WeakArmorActivatesSpeed
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_WeakArmorDefPrintString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_WeakArmorActivatesSpeed
pause B_WAIT_TIME_SHORTEST
printfromtable gStatDownStringIds
clearmoveresultflags MOVE_RESULT_MISSED @ Set by statbuffchange when stat can't be decreased
@ -7415,8 +7396,8 @@ BattleScript_WeakArmorActivatesSpeed:
setstatchanger STAT_SPEED, 1, FALSE
.endif
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_WeakArmorActivatesEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_WeakArmorSpeedPrintString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_EMPTY, BattleScript_WeakArmorActivatesEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_WeakArmorSpeedPrintString
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGE_EMPTY, BattleScript_WeakArmorActivatesEnd
pause B_WAIT_TIME_SHORTEST
printstring STRINGID_TARGETSTATWONTGOHIGHER
clearmoveresultflags MOVE_RESULT_MISSED
@ -7449,7 +7430,7 @@ BattleScript_AttackerAbilityStatRaise_End:
BattleScript_FellStingerRaisesStat::
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_FellStingerRaisesAtkEnd
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_ROSE, BattleScript_FellStingerRaisesAtkEnd
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_CHANGED, BattleScript_FellStingerRaisesAtkEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_FellStingerRaisesAtkEnd:
@ -7604,19 +7585,19 @@ BattleScript_EffectBattleBondStatIncrease::
call BattleScript_AbilityPopUp
setstatchanger STAT_ATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectBattleBondStatIncreaseTrySpAtk, BIT_SPATK | BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectBattleBondStatIncreaseTrySpAtk
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectBattleBondStatIncreaseTrySpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectBattleBondStatIncreaseTrySpAtk:
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectBattleBondStatIncreaseTrySpeed, BIT_SPEED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectBattleBondStatIncreaseTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectBattleBondStatIncreaseTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectBattleBondStatIncreaseTrySpeed:
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_EffectBattleBondStatIncreaseRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectBattleBondStatIncreaseRet
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_EffectBattleBondStatIncreaseRet
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectBattleBondStatIncreaseRet:
@ -8016,7 +7997,7 @@ BattleScript_ConsumableStatRaiseRet_Anim:
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_ConsumableStatRaiseRet_End
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_ConsumableStatRaiseRet_End
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGED_ITEM
call BattleScript_StatUp
removeitem BS_SCRIPTING
BattleScript_ConsumableStatRaiseRet_End:
@ -8343,7 +8324,7 @@ BattleScript_RecoverHPZMove::
BattleScript_StatUpZMove::
statbuffchange BS_ATTACKER, STAT_CHANGE_ALLOW_PTR, BattleScript_StatUpZMoveEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpZMoveEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_StatUpZMoveEnd
printstring STRINGID_ZMOVESTATUP
waitmessage B_WAIT_TIME_LONG
printfromtable gStatUpStringIds
@ -8665,7 +8646,7 @@ BattleScript_EffectRaiseStatAllies::
BattleScript_RaiseSideStatsLoop:
jumpifabsent BS_TARGET, BattleScript_RaiseSideStatsIncrement
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_RaiseSideStatsIncrement
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_RaiseSideStatsIncrement
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_RaiseSideStatsIncrement
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_RaiseSideStatsIncrement:
@ -8681,7 +8662,7 @@ BattleScript_EffectLowerStatFoes::
BattleScript_LowerSideStatsLoop:
jumpifabsent BS_TARGET, BattleScript_LowerSideStatsIncrement
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_LowerSideStatsIncrement
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_LowerSideStatsIncrement
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_CHANGE, BattleScript_LowerSideStatsIncrement
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_LowerSideStatsIncrement:
@ -9008,7 +8989,7 @@ BattleScript_BerserkGeneRet::
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR | STAT_CHANGE_ONLY_CHECKING, BattleScript_BerserkGeneRet_TryConfuse
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
statbuffchange BS_TARGET, STAT_CHANGE_ALLOW_PTR, BattleScript_BerserkGeneRet_TryConfuse
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_CHANGED_ITEM
call BattleScript_StatUp
BattleScript_BerserkGeneRet_TryConfuse:
jumpifability BS_ATTACKER, ABILITY_OWN_TEMPO, BattleScript_BerserkGeneRet_OwnTempoPrevents

View File

@ -334,5 +334,6 @@ extern const u8 gText_BattleTourney[];
extern const u16 gMissStringIds[];
extern const u16 gStatUpStringIds[];
extern const u16 gStatDownStringIds[];
#endif // GUARD_BATTLE_MESSAGE_H

View File

@ -167,7 +167,6 @@ extern const u8 BattleScript_DoRecoil33[];
extern const u8 BattleScript_Recoil33End[];
extern const u8 BattleScript_ItemSteal[];
extern const u8 BattleScript_DrizzleActivates[];
extern const u8 BattleScript_SpeedBoostActivates[];
extern const u8 BattleScript_TraceActivates[];
extern const u8 BattleScript_RainDishActivates[];
extern const u8 BattleScript_SandstreamActivates[];

View File

@ -333,7 +333,6 @@ bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes);
void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast);
bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind);
bool32 TryRoomService(u32 battler);
void BufferStatChange(u32 battler, u8 statId, enum StringID stringId);
bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 checkTarget);
u16 GetUsedHeldItem(u32 battler);
bool32 PickupHasValidTarget(u32 battler);

View File

@ -191,7 +191,6 @@ enum StringID
STRINGID_PKMNWAITSFORTARGET,
STRINGID_PKMNSNATCHEDMOVE,
STRINGID_PKMNMADEITRAIN,
STRINGID_PKMNRAISEDSPEED,
STRINGID_PKMNPROTECTEDBY,
STRINGID_PKMNPREVENTSUSAGE,
STRINGID_PKMNRESTOREDHPUSING,
@ -317,6 +316,7 @@ enum StringID
STRINGID_SOOTHINGAROMA,
STRINGID_ITEMSCANTBEUSEDNOW,
STRINGID_USINGITEMSTATOFPKMNROSE,
STRINGID_USINGITEMSTATOFPKMNFELL,
STRINGID_PKMNUSEDXTOGETPUMPED,
STRINGID_PKMNSXMADEYUSELESS,
STRINGID_PKMNTRAPPEDBYSANDTOMB,
@ -407,10 +407,8 @@ enum StringID
STRINGID_FELLSTRAIGHTDOWN,
STRINGID_TARGETCHANGEDTYPE,
STRINGID_PKMNACQUIREDSIMPLE,
STRINGID_EMPTYSTRING5,
STRINGID_KINDOFFER,
STRINGID_RESETSTARGETSSTATLEVELS,
STRINGID_EMPTYSTRING6,
STRINGID_ALLYSWITCHPOSITION,
STRINGID_RESTORETARGETSHEALTH,
STRINGID_TOOKPJMNINTOTHESKY,
@ -541,10 +539,8 @@ enum StringID
STRINGID_COMATOSEENTERS,
STRINGID_SCREENCLEANERENTERS,
STRINGID_FETCHEDPOKEBALL,
STRINGID_BATTLERABILITYRAISEDSTAT,
STRINGID_ASANDSTORMKICKEDUP,
STRINGID_PKMNSWILLPERISHIN3TURNS,
STRINGID_ABILITYRAISEDSTATDRASTICALLY,
STRINGID_AURAFLAREDTOLIFE,
STRINGID_ASONEENTERS,
STRINGID_CURIOUSMEDICINEENTERS,
@ -729,33 +725,24 @@ enum StringID
// They are assigned to the MULTISTRING_CHOOSER byte of gBattleCommunication
// and read when e.g. the command printfromtable is used.
// gStatUpStringIds
enum StatUpStringID
// gStatUpStringIds and gStatDownStringIds
enum StatChangedStringID
{
B_MSG_ATTACKER_STAT_ROSE,
B_MSG_DEFENDER_STAT_ROSE,
B_MSG_STAT_WONT_INCREASE,
B_MSG_STAT_ROSE_EMPTY,
B_MSG_STAT_ROSE_ITEM,
B_MSG_ATTACKER_STAT_CHANGED,
B_MSG_DEFENDER_STAT_CHANGED,
B_MSG_STAT_WONT_CHANGE,
B_MSG_STAT_CHANGE_EMPTY,
B_MSG_STAT_CHANGED_ITEM,
B_MSG_USED_DIRE_HIT,
};
// gStatDownStringIds
enum StatDownStringID
{
B_MSG_ATTACKER_STAT_FELL = 0,
B_MSG_DEFENDER_STAT_FELL = 1,
B_MSG_STAT_WONT_DECREASE,
B_MSG_STAT_FELL_EMPTY,
};
// gMissStringIds
enum MissStringID
{
B_MSG_MISSED,
B_MSG_PROTECTED,
B_MSG_AVOIDED_ATK,
// Ability-related messages need to below this comment
// Ability-related messages need to be below this comment
B_MSG_AVOIDED_DMG,
B_MSG_GROUND_MISS,
};

View File

@ -67,7 +67,7 @@ const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1} is preventing switching
const u8 gText_StatSharply[] = _("sharply ");
const u8 gText_StatRose[] = _("rose!");
const u8 gText_StatFell[] = _("fell!");
const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}");
const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}rose!");
static const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_FLEE}You got away safely!\p");
static const u8 sText_PlayerDefeatedLinkTrainer[] = _("You defeated {B_LINK_OPPONENT1_NAME}!");
static const u8 sText_TwoLinkTrainersDefeated[] = _("You defeated {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!");
@ -350,7 +350,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNWAITSFORTARGET] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} waits for a target to make a move!"),
[STRINGID_PKMNSNATCHEDMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} snatched {B_SCR_NAME_WITH_PREFIX2}'s move!"),
[STRINGID_PKMNMADEITRAIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} made it rain!"), //not in gen 5+, ability popup
[STRINGID_PKMNRAISEDSPEED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} raised its Speed!"), //not in gen 5+, ability popup
[STRINGID_PKMNPROTECTEDBY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was protected by {B_DEF_ABILITY}!"), //not in gen 5+, ability popup
[STRINGID_PKMNPREVENTSUSAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents {B_ATK_NAME_WITH_PREFIX2} from using {B_CURRENT_MOVE}!"), //I don't see this in SV text
[STRINGID_PKMNRESTOREDHPUSING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} restored HP using its {B_DEF_ABILITY}!"), //not in gen 5+, ability popup
@ -367,10 +366,10 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_STATROSE] = gText_StatRose,
[STRINGID_STATHARSHLY] = COMPOUND_STRING("harshly "),
[STRINGID_STATFELL] = gText_StatFell,
[STRINGID_ATTACKERSSTATROSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"),
[STRINGID_ATTACKERSSTATROSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}rose!"),
[STRINGID_DEFENDERSSTATROSE] = gText_DefendersStatRose,
[STRINGID_ATTACKERSSTATFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"),
[STRINGID_DEFENDERSSTATFELL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"),
[STRINGID_ATTACKERSSTATFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}fell!"),
[STRINGID_DEFENDERSSTATFELL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}fell!"),
[STRINGID_CRITICALHIT] = COMPOUND_STRING("A critical hit!"),
[STRINGID_ONEHITKO] = COMPOUND_STRING("It's a one-hit KO!"),
[STRINGID_123POOF] = COMPOUND_STRING("One…{PAUSE 10}two…{PAUSE 10}and…{PAUSE 10}{PAUSE 20}{PLAY_SE SE_BALL_BOUNCE_1}ta-da!\p"),
@ -475,7 +474,8 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PLAYERDEFEATEDTRAINER1] = sText_PlayerDefeatedLinkTrainerTrainer1,
[STRINGID_SOOTHINGAROMA] = COMPOUND_STRING("A soothing aroma wafted through the area!"),
[STRINGID_ITEMSCANTBEUSEDNOW] = COMPOUND_STRING("Items can't be used now.{PAUSE 64}"), //not in gen 5+, i think
[STRINGID_USINGITEMSTATOFPKMNROSE] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}"), //todo: update this, will require code changes
[STRINGID_USINGITEMSTATOFPKMNROSE] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}rose!"), //todo: update this, will require code changes
[STRINGID_USINGITEMSTATOFPKMNFELL] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}fell!"),
[STRINGID_PKMNUSEDXTOGETPUMPED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used the {B_LAST_ITEM} to get pumped!"),
[STRINGID_PKMNSXMADEYUSELESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} useless!"), //not in gen 5+, ability popup
[STRINGID_PKMNTRAPPEDBYSANDTOMB] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became trapped by the quicksand!"),
@ -566,10 +566,8 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_FELLSTRAIGHTDOWN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell straight down!"),
[STRINGID_TARGETCHANGEDTYPE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"),
[STRINGID_PKMNACQUIREDSIMPLE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} acquired Simple!"), //shouldn't directly use the name
[STRINGID_EMPTYSTRING5] = sText_EmptyString4,
[STRINGID_KINDOFFER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the kind offer!"),
[STRINGID_RESETSTARGETSSTATLEVELS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stat changes were removed!"),
[STRINGID_EMPTYSTRING6] = sText_EmptyString4,
[STRINGID_ALLYSWITCHPOSITION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} and {B_SCR_NAME_WITH_PREFIX2} switched places!"),
[STRINGID_RESTORETARGETSHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored!"),
[STRINGID_TOOKPJMNINTOTHESKY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX2} into the sky!"),
@ -594,9 +592,9 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_MISTYTERRAINENDS] = COMPOUND_STRING("The mist disappeared from the battlefield."),
[STRINGID_PSYCHICTERRAINENDS] = COMPOUND_STRING("The weirdness disappeared from the battlefield!"),
[STRINGID_GRASSYTERRAINENDS] = COMPOUND_STRING("The grass disappeared from the battlefield."),
[STRINGID_TARGETABILITYSTATRAISE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised its {B_BUFF1}!"),
[STRINGID_TARGETABILITYSTATRAISE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} {B_BUFF2}raised its {B_BUFF1}!"),
[STRINGID_TARGETSSTATWASMAXEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed its {B_BUFF1}!"),
[STRINGID_ATTACKERABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} raised its {B_BUFF1}!"),
[STRINGID_ATTACKERABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} {B_BUFF2}raised its {B_BUFF1}!"),
[STRINGID_POISONHEALHPUP] = COMPOUND_STRING("The poisoning healed {B_ATK_NAME_WITH_PREFIX2} a little bit!"), //don't think this message is displayed anymore
[STRINGID_BADDREAMSDMG] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is tormented!"),
[STRINGID_MOLDBREAKERENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} breaks the mold!"),
@ -626,7 +624,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_LUNARDANCECAMETRUE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in mystical moonlight!"),
[STRINGID_CUSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"),
[STRINGID_ATTACKERACQUIREDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} acquired {B_ATK_ABILITY}!"),
[STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} lowered its {B_BUFF1}!"),
[STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} {B_BUFF2}lowered its {B_BUFF1}!"),
[STRINGID_TARGETSTATWONTGOHIGHER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"),
[STRINGID_PKMNMOVEBOUNCEDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was bounced back by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"),
[STRINGID_IMPOSTERTRANSFORM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into {B_DEF_NAME_WITH_PREFIX2} using {B_LAST_ABILITY}!"),
@ -685,7 +683,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_ATTACKERCUREDTARGETSTATUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured {B_DEF_NAME_WITH_PREFIX2}'s problem!"),
[STRINGID_ATTACKERLOSTFIRETYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} burned itself out!"),
[STRINGID_HEALERCURE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} cured {B_SCR_NAME_WITH_PREFIX2}'s problem!"),
[STRINGID_SCRIPTINGABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} raised its {B_BUFF1}!"),
[STRINGID_SCRIPTINGABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} {B_BUFF2}raised its {B_BUFF1}!"),
[STRINGID_RECEIVERABILITYTAKEOVER] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} was taken over!"),
[STRINGID_PKNMABSORBINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is absorbing power!"),
[STRINGID_NOONEWILLBEABLETORUNAWAY] = COMPOUND_STRING("No one will be able to run away during the next turn!"),
@ -701,10 +699,8 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_COMATOSEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is drowsing!"),
[STRINGID_SCREENCLEANERENTERS] = COMPOUND_STRING("All screens on the field were cleansed!"),
[STRINGID_FETCHEDPOKEBALL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} found a {B_LAST_ITEM}!"),
[STRINGID_BATTLERABILITYRAISEDSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ABILITY} raised its {B_BUFF1}!"),
[STRINGID_ASANDSTORMKICKEDUP] = COMPOUND_STRING("A sandstorm kicked up!"),
[STRINGID_PKMNSWILLPERISHIN3TURNS] = COMPOUND_STRING("Both Pokémon will perish in three turns!"), //don't think this message is displayed anymore
[STRINGID_ABILITYRAISEDSTATDRASTICALLY] = COMPOUND_STRING("{B_DEF_ABILITY} raised {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1} drastically!"),
[STRINGID_AURAFLAREDTOLIFE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!"),
[STRINGID_ASONEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} has two Abilities!"),
[STRINGID_CURIOUSMEDICINEENTERS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s stat changes were removed!"),
@ -1103,20 +1099,21 @@ const u16 gUproarAwakeStringIds[] =
const u16 gStatUpStringIds[] =
{
[B_MSG_ATTACKER_STAT_ROSE] = STRINGID_ATTACKERSSTATROSE,
[B_MSG_DEFENDER_STAT_ROSE] = STRINGID_DEFENDERSSTATROSE,
[B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE,
[B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3,
[B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
[B_MSG_ATTACKER_STAT_CHANGED] = STRINGID_ATTACKERSSTATROSE,
[B_MSG_DEFENDER_STAT_CHANGED] = STRINGID_DEFENDERSSTATROSE,
[B_MSG_STAT_WONT_CHANGE] = STRINGID_STATSWONTINCREASE,
[B_MSG_STAT_CHANGE_EMPTY] = STRINGID_EMPTYSTRING3,
[B_MSG_STAT_CHANGED_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
};
const u16 gStatDownStringIds[] =
{
[B_MSG_ATTACKER_STAT_FELL] = STRINGID_ATTACKERSSTATFELL,
[B_MSG_DEFENDER_STAT_FELL] = STRINGID_DEFENDERSSTATFELL,
[B_MSG_STAT_WONT_DECREASE] = STRINGID_STATSWONTDECREASE,
[B_MSG_STAT_FELL_EMPTY] = STRINGID_EMPTYSTRING3,
[B_MSG_ATTACKER_STAT_CHANGED] = STRINGID_ATTACKERSSTATFELL,
[B_MSG_DEFENDER_STAT_CHANGED] = STRINGID_DEFENDERSSTATFELL,
[B_MSG_STAT_WONT_CHANGE] = STRINGID_STATSWONTDECREASE,
[B_MSG_STAT_CHANGE_EMPTY] = STRINGID_EMPTYSTRING3,
[B_MSG_STAT_CHANGED_ITEM] = STRINGID_USINGITEMSTATOFPKMNFELL,
};
// Index copied from move's index in sTrappingMoves

View File

@ -10169,37 +10169,32 @@ static u32 ChangeStatBuffs(u32 battler, s8 statValue, u32 statId, union StatChan
statValue = -1;
else if (gBattleMons[battler].statStages[statId] == 2 && statValue < -2)
statValue = -2;
gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN;
index = 1;
if (statValue == -2)
{
gBattleTextBuff2[1] = B_BUFF_STRING;
gBattleTextBuff2[2] = STRINGID_STATHARSHLY;
gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8;
index = 4;
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATHARSHLY);
}
else if (statValue <= -3)
{
gBattleTextBuff2[1] = B_BUFF_STRING;
gBattleTextBuff2[2] = STRINGID_SEVERELY & 0xFF;
gBattleTextBuff2[3] = STRINGID_SEVERELY >> 8;
index = 4;
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_SEVERELY);
}
else
{
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_EMPTYSTRING3);
}
gBattleTextBuff2[index++] = B_BUFF_STRING;
gBattleTextBuff2[index++] = STRINGID_STATFELL;
gBattleTextBuff2[index++] = STRINGID_STATFELL >> 8;
gBattleTextBuff2[index] = B_BUFF_EOS;
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); // B_MSG_ATTACKER_STAT_FELL or B_MSG_DEFENDER_STAT_FELL
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); // B_MSG_ATTACKER_STAT_CHANGED or B_MSG_DEFENDER_STAT_CHANGED
if (gBattleMons[battler].statStages[statId] == MIN_STAT_STAGE)
{
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_DECREASE;
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_CHANGE;
gBattleScripting.statChanger |= STAT_BUFF_NEGATIVE;
}
else if (!flags.onlyChecking)
{
gProtectStructs[battler].tryEjectPack = TRUE;
gProtectStructs[battler].lashOutAffected = TRUE;
gBattleScripting.statChanger |= STAT_BUFF_NEGATIVE;
}
}
}
@ -10210,32 +10205,26 @@ static u32 ChangeStatBuffs(u32 battler, s8 statValue, u32 statId, union StatChan
statValue = 1;
else if (gBattleMons[battler].statStages[statId] == 10 && statValue > 2)
statValue = 2;
gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN;
index = 1;
if (statValue == 2)
{
gBattleTextBuff2[1] = B_BUFF_STRING;
gBattleTextBuff2[2] = STRINGID_STATSHARPLY;
gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8;
index = 4;
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATSHARPLY);
}
else if (statValue >= 3)
{
gBattleTextBuff2[1] = B_BUFF_STRING;
gBattleTextBuff2[2] = STRINGID_DRASTICALLY & 0xFF;
gBattleTextBuff2[3] = STRINGID_DRASTICALLY >> 8;
index = 4;
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_DRASTICALLY);
}
else
{
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_EMPTYSTRING3);
}
gBattleTextBuff2[index++] = B_BUFF_STRING;
gBattleTextBuff2[index++] = STRINGID_STATROSE;
gBattleTextBuff2[index++] = STRINGID_STATROSE >> 8;
gBattleTextBuff2[index] = B_BUFF_EOS;
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); // B_MSG_ATTACKER_STAT_ROSE or B_MSG_DEFENDER_STAT_ROSE
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); // B_MSG_ATTACKER_STAT_CHANGED or B_MSG_DEFENDER_STAT_CHANGED
if (gBattleMons[battler].statStages[statId] == MAX_STAT_STAGE)
{
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_INCREASE;
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_CHANGE;
gBattleScripting.statChanger &= ~STAT_BUFF_NEGATIVE;
}
else if (!flags.onlyChecking)
{
@ -10246,6 +10235,7 @@ static u32 ChangeStatBuffs(u32 battler, s8 statValue, u32 statId, union StatChan
statIncrease = statValue;
gProtectStructs[battler].statRaised = TRUE;
gBattleScripting.statChanger &= ~STAT_BUFF_NEGATIVE;
if (statIncrease)
{
@ -10275,7 +10265,7 @@ static u32 ChangeStatBuffs(u32 battler, s8 statValue, u32 statId, union StatChan
}
}
if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE) // same as B_MSG_STAT_WONT_DECREASE
if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_CHANGE) // at max or min
{
if (!flags.allowPtr)
return STAT_CHANGE_DIDNT_WORK;

View File

@ -1185,19 +1185,54 @@ void PrepareStringBattle(enum StringID stringId, u32 battler)
// Support for Contrary ability.
// If a move attempted to raise stat - print "won't increase".
// If a move attempted to lower stat - print "won't decrease".
if (stringId == STRINGID_STATSWONTDECREASE && !(gBattleScripting.statChanger & STAT_BUFF_NEGATIVE))
stringId = STRINGID_STATSWONTINCREASE;
else if (stringId == STRINGID_STATSWONTINCREASE && gBattleScripting.statChanger & STAT_BUFF_NEGATIVE)
stringId = STRINGID_STATSWONTDECREASE;
switch (stringId)
{
case STRINGID_ATTACKERSSTATROSE:
case STRINGID_DEFENDERSSTATROSE:
case STRINGID_STATSWONTINCREASE:
case STRINGID_USINGITEMSTATOFPKMNROSE:
if (gBattleScripting.statChanger & STAT_BUFF_NEGATIVE)
stringId = gStatDownStringIds[gBattleCommunication[MULTISTRING_CHOOSER]];
break;
case STRINGID_ATTACKERSSTATFELL:
case STRINGID_DEFENDERSSTATFELL:
case STRINGID_STATSWONTDECREASE:
case STRINGID_USINGITEMSTATOFPKMNFELL:
if (!(gBattleScripting.statChanger & STAT_BUFF_NEGATIVE))
stringId = gStatUpStringIds[gBattleCommunication[MULTISTRING_CHOOSER]];
break;
case STRINGID_STATSWONTINCREASE2:
if (battlerAbility == ABILITY_CONTRARY)
stringId = STRINGID_STATSWONTDECREASE2;
break;
case STRINGID_STATSWONTDECREASE2:
if (battlerAbility == ABILITY_CONTRARY)
stringId = STRINGID_STATSWONTINCREASE2;
break;
case STRINGID_PKMNCUTSATTACKWITH:
if (GetGenConfig(GEN_CONFIG_UPDATED_INTIMIDATE) >= GEN_8
&& targetAbility == ABILITY_RATTLED
&& CompareStat(gBattlerTarget, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN))
{
gBattlerAbility = gBattlerTarget;
BattleScriptCall(BattleScript_AbilityRaisesDefenderStat);
SET_STATCHANGER(STAT_SPEED, 1, FALSE);
}
else if (targetAbility == ABILITY_CONTRARY)
{
stringId = STRINGID_DEFENDERSSTATROSE;
}
break;
case STRINGID_ITDOESNTAFFECT:
case STRINGID_PKMNUNAFFECTED:
TryInitializeTrainerSlideEnemyMonUnaffected(gBattlerTarget);
break;
default:
break;
}
else if (stringId == STRINGID_STATSWONTDECREASE2 && battlerAbility == ABILITY_CONTRARY)
stringId = STRINGID_STATSWONTINCREASE2;
else if (stringId == STRINGID_STATSWONTINCREASE2 && battlerAbility == ABILITY_CONTRARY)
stringId = STRINGID_STATSWONTDECREASE2;
// Check Defiant and Competitive stat raise whenever a stat is lowered.
else if ((stringId == STRINGID_DEFENDERSSTATFELL || stringId == STRINGID_PKMNCUTSATTACKWITH)
&& ShouldDefiantCompetitiveActivate(gBattlerTarget, targetAbility))
if ((stringId == STRINGID_PKMNCUTSATTACKWITH || stringId == STRINGID_DEFENDERSSTATFELL)
&& ShouldDefiantCompetitiveActivate(gBattlerTarget, targetAbility))
{
gBattlerAbility = gBattlerTarget;
BattleScriptCall(BattleScript_AbilityRaisesDefenderStat);
@ -1206,18 +1241,6 @@ void PrepareStringBattle(enum StringID stringId, u32 battler)
else
SET_STATCHANGER(STAT_SPATK, 2, FALSE);
}
else if (GetGenConfig(GEN_CONFIG_UPDATED_INTIMIDATE) >= GEN_8
&& stringId == STRINGID_PKMNCUTSATTACKWITH
&& targetAbility == ABILITY_RATTLED
&& CompareStat(gBattlerTarget, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN))
{
gBattlerAbility = gBattlerTarget;
BattleScriptCall(BattleScript_AbilityRaisesDefenderStat);
SET_STATCHANGER(STAT_SPEED, 1, FALSE);
}
if ((stringId == STRINGID_ITDOESNTAFFECT || stringId == STRINGID_PKMNUNAFFECTED))
TryInitializeTrainerSlideEnemyMonUnaffected(gBattlerTarget);
BtlController_EmitPrintString(battler, B_COMM_TO_CONTROLLER, stringId);
MarkBattlerForControllerExec(battler);
@ -4415,8 +4438,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
case ABILITY_SPEED_BOOST:
if (CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN) && gDisableStructs[battler].isFirstTurn != 2)
{
SaveBattlerAttacker(gBattlerAttacker);
SET_STATCHANGER(STAT_SPEED, 1, FALSE);
BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates);
BattleScriptPushCursorAndCallback(BattleScript_AttackerAbilityStatRaiseEnd3);
gBattleScripting.battler = battler;
effect++;
}
@ -6046,7 +6070,6 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
{
if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId))
{
BufferStatChange(battler, statId, STRINGID_STATROSE);
gEffectBattler = gBattleScripting.battler = battler;
if (GetBattlerAbility(battler) == ABILITY_RIPEN)
SET_STATCHANGER(statId, 2, FALSE);
@ -6068,7 +6091,6 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCaseId caseID)
{
s32 stat;
enum StringID stringId;
for (stat = STAT_ATK; stat < NUM_STATS; stat++)
{
@ -6081,19 +6103,14 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa
u32 savedAttacker = gBattlerAttacker;
// MoodyCantRaiseStat requires that the battler is set to gBattlerAttacker
gBattlerAttacker = gBattleScripting.battler = battler;
stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantRaiseStat);
gBattleScripting.statChanger = 0;
if (battlerAbility != ABILITY_CONTRARY)
stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantRaiseStat);
else
stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantLowerStat);
gBattlerAttacker = savedAttacker;
PREPARE_STAT_BUFFER(gBattleTextBuff1, stat);
stringId = (battlerAbility == ABILITY_CONTRARY) ? STRINGID_STATFELL : STRINGID_STATROSE;
gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN;
gBattleTextBuff2[1] = B_BUFF_STRING;
gBattleTextBuff2[2] = STRINGID_STATSHARPLY;
gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8;
gBattleTextBuff2[4] = B_BUFF_STRING;
gBattleTextBuff2[5] = stringId;
gBattleTextBuff2[6] = stringId >> 8;
gBattleTextBuff2[7] = EOS;
gEffectBattler = battler;
if (battlerAbility == ABILITY_RIPEN)
SET_STATCHANGER(stat, 4, FALSE);
@ -6159,8 +6176,6 @@ static enum ItemEffect DamagedStatBoostBerryEffect(u32 battler, u8 statId, enum
&& IsBattlerTurnDamaged(battler)))
)
{
BufferStatChange(battler, statId, STRINGID_STATROSE);
gEffectBattler = battler;
if (GetBattlerAbility(battler) == ABILITY_RIPEN)
SET_STATCHANGER(statId, 2, FALSE);
@ -6180,7 +6195,6 @@ enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 item
{
if (gFieldStatuses & terrainFlag && CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN))
{
BufferStatChange(battler, statId, STRINGID_STATROSE);
gLastUsedItem = itemId; // For surge abilities
gEffectBattler = gBattleScripting.battler = battler;
SET_STATCHANGER(statId, 1, FALSE);
@ -6200,7 +6214,6 @@ static enum ItemEffect ConsumeBerserkGene(u32 battler, enum ItemCaseId caseID)
if (CanBeInfinitelyConfused(battler))
gBattleMons[battler].volatiles.infiniteConfusion = TRUE;
BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE);
gBattlerAttacker = gEffectBattler = battler;
SET_STATCHANGER(STAT_ATK, 2, FALSE);
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK;
@ -10868,36 +10881,10 @@ bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind)
return ret;
}
void BufferStatChange(u32 battler, u8 statId, enum StringID stringId)
{
bool32 hasContrary = (GetBattlerAbility(battler) == ABILITY_CONTRARY);
PREPARE_STAT_BUFFER(gBattleTextBuff1, statId);
if (stringId == STRINGID_STATFELL)
{
if (hasContrary)
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE)
else
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATFELL)
}
else if (stringId == STRINGID_STATROSE)
{
if (hasContrary)
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATFELL)
else
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE)
}
else
{
PREPARE_STRING_BUFFER(gBattleTextBuff2, stringId)
}
}
bool32 TryRoomService(u32 battler)
{
if (gFieldStatuses & STATUS_FIELD_TRICK_ROOM && CompareStat(battler, STAT_SPEED, MIN_STAT_STAGE, CMP_GREATER_THAN))
{
BufferStatChange(battler, STAT_SPEED, STRINGID_STATFELL);
gEffectBattler = gBattleScripting.battler = battler;
SET_STATCHANGER(STAT_SPEED, 1, TRUE);
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_SPEED;

View File

@ -29,13 +29,13 @@ SINGLE_BATTLE_TEST("Weak Armor lowers Defense by 1 and boosts Speed by 2 when hi
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor lowered its Defense!");
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
} else {
NONE_OF {
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor lowered its Defense!");
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
}
}
} THEN {
@ -69,7 +69,7 @@ SINGLE_BATTLE_TEST("Weak Armor does not trigger when brought in by Dragon Tail a
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor lowered its Defense!");
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
}
} THEN {
EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE);
@ -97,7 +97,7 @@ SINGLE_BATTLE_TEST("Weak Armor still boosts Speed if Defense can't go any lower"
}
MESSAGE("Slugma's Defense won't go any lower!");
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
} THEN {
EXPECT_EQ(player->statStages[STAT_DEF], MIN_STAT_STAGE);
EXPECT_EQ(player->statStages[STAT_SPEED], DEFAULT_STAT_STAGE + 2);
@ -122,7 +122,7 @@ SINGLE_BATTLE_TEST("Weak Armor still lowers Defense if Speed can't go any higher
MESSAGE("Slugma's Weak Armor lowered its Defense!");
NONE_OF {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
}
MESSAGE("Slugma's Speed won't go any higher!");
} THEN {
@ -147,12 +147,12 @@ SINGLE_BATTLE_TEST("Weak Armor doesn't interrupt multi hit moves if Defense can'
ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent);
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
MESSAGE("Magcargo's Weak Armor lowered its Defense!");
MESSAGE("Magcargo's Weak Armor raised its Speed!");
MESSAGE("Magcargo's Weak Armor sharply raised its Speed!");
}
ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent);
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
MESSAGE("Magcargo's Defense won't go any lower!");
MESSAGE("Magcargo's Weak Armor raised its Speed!");
MESSAGE("Magcargo's Weak Armor sharply raised its Speed!");
for (j = 0; j < 2; j++)
{
ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent);
@ -183,7 +183,7 @@ SINGLE_BATTLE_TEST("Weak Armor doesn't interrupt multi hit moves if Speed can't
ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent);
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
MESSAGE("Magcargo's Weak Armor lowered its Defense!");
MESSAGE("Magcargo's Weak Armor raised its Speed!");
MESSAGE("Magcargo's Weak Armor sharply raised its Speed!");
for (j = 0; j < 4; j++)
{
ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent);

View File

@ -143,7 +143,7 @@ SINGLE_BATTLE_TEST("White Herb wont have time to activate if it is knocked off o
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor lowered its Defense!");
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
if (move == MOVE_KNOCK_OFF) {
MESSAGE("The opposing Wobbuffet knocked off Slugma's White Herb!");
} else if (move == MOVE_THIEF) {
@ -171,7 +171,7 @@ SINGLE_BATTLE_TEST("White Herb wont have time to activate if Magician steals it"
ABILITY_POPUP(player, ABILITY_WEAK_ARMOR);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
MESSAGE("Slugma's Weak Armor lowered its Defense!");
MESSAGE("Slugma's Weak Armor raised its Speed!");
MESSAGE("Slugma's Weak Armor sharply raised its Speed!");
ABILITY_POPUP(opponent, ABILITY_MAGICIAN);
MESSAGE("The opposing Fennekin stole Slugma's White Herb!");
NONE_OF {

View File

@ -713,8 +713,6 @@ TEST("Battle strings fit on the battle message window")
case STRINGID_ATTACKERABILITYSTATRAISE:
case STRINGID_TARGETABILITYSTATLOWER:
case STRINGID_SCRIPTINGABILITYSTATRAISE:
case STRINGID_BATTLERABILITYRAISEDSTAT:
case STRINGID_ABILITYRAISEDSTATDRASTICALLY:
case STRINGID_STATWASHEIGHTENED:
StringCopy(gBattleTextBuff1, gStatNamesTable[longStatName]);
break;