Fixes incorrect ending for some scripts (#7691)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
This commit is contained in:
Alex 2025-09-10 22:16:47 +02:00 committed by GitHub
parent 827dd4a67c
commit ffd71b5337
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 88 additions and 120 deletions

View File

@ -1585,7 +1585,7 @@ BattleScript_MoveEffectFlameBurst::
healthbarupdate BS_SCRIPTING
datahpupdate BS_SCRIPTING
tryfaintmon BS_SCRIPTING
goto BattleScript_MoveEnd
return
BattleScript_EffectPowerTrick::
attackcanceler
@ -1673,7 +1673,7 @@ BattleScript_DefogDoAnim::
BattleScript_DefogPrintString::
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DefogTryHazards::
BattleScript_DefogTryHazards:
copybyte gEffectBattler, gBattlerAttacker
trydefog TRUE, NULL
copybyte gBattlerAttacker, gEffectBattler
@ -1683,6 +1683,12 @@ BattleScript_DefogTryHazardsWithAnim:
waitanimation
goto BattleScript_DefogTryHazards
BattleScript_MoveEffectDefog::
saveattacker
trydefog TRUE, NULL
restoreattacker
return
BattleScript_EffectCopycat::
attackcanceler
attackstring
@ -2604,8 +2610,11 @@ BattleScript_EffectMiracleEye::
ppreduce
setvolatile BS_TARGET, VOLATILE_MIRACLE_EYE
goto BattleScript_IdentifiedFoe
BattleScript_EffectGravity::
call BattleScript_EffectGravityInternal
goto BattleScript_MoveEnd
BattleScript_EffectGravityInternal:
attackcanceler
attackstring
ppreduce
@ -2631,7 +2640,7 @@ BattleScript_GravityLoopEnd:
moveendcase MOVEEND_TARGET_VISIBLE
jumpifnexttargetvalid BattleScript_GravityLoop
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectRoost::
attackcanceler
@ -3354,11 +3363,15 @@ BattleScript_EffectReflect::
BattleScript_PrintReflectLightScreenSafeguardString::
attackanimation
waitanimation
BattleScript_EffectAuroraVeilSuccess::
printfromtable gReflectLightScreenSafeguardStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_MoveEffectAuroraVeil::
printfromtable gReflectLightScreenSafeguardStringIds
waitmessage B_WAIT_TIME_LONG
return
BattleScript_VoltAbsorbHeal:
copybyte gBattlerAbility, gBattlerTarget
tryhealquarterhealth BS_TARGET, BattleScript_MonMadeMoveUseless @ Check if max hp
@ -3739,13 +3752,13 @@ BattleScript_EffectSpite::
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
@ TODO: Simplfy script
BattleScript_EffectHealBell::
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
BattleScript_EffectHealBell_FromHeal::
healpartystatus
waitstate
printfromtable gPartyStatusHealStringIds
@ -3765,6 +3778,15 @@ BattleScript_PartyHealEnd::
waitstate
goto BattleScript_MoveEnd
BattleScript_MoveEffectAromatherapy::
healpartystatus
waitstate
printfromtable gPartyStatusHealStringIds
waitmessage B_WAIT_TIME_LONG
updatestatusicon BS_ATTACKER_WITH_PARTNER
waitstate
return
BattleScript_EffectMeanLook::
attackcanceler
attackstring
@ -4770,8 +4792,8 @@ BattleScript_BrickBreakDoHit::
waitmessage B_WAIT_TIME_LONG
resultmessage
waitmessage B_WAIT_TIME_LONG
setadditionaleffects
tryfaintmon BS_TARGET
setadditionaleffects
goto BattleScript_MoveEnd
BattleScript_EffectYawn::
@ -4783,11 +4805,15 @@ BattleScript_EffectYawn::
setyawn BattleScript_ButItFailed
attackanimation
waitanimation
BattleScript_EffectYawnSuccess::
printstring STRINGID_PKMNWASMADEDROWSY
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_MoveEffectYawnSide::
printstring STRINGID_PKMNWASMADEDROWSY
waitmessage B_WAIT_TIME_LONG
return
BattleScript_PrintAbilityMadeIneffective::
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUp
@ -7831,7 +7857,7 @@ BattleScript_FlinchPrevention::
call BattleScript_AbilityPopUp
printstring STRINGID_PKMNSXPREVENTSFLINCHING
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
return
BattleScript_OwnTempoPrevents::
pause B_WAIT_TIME_SHORT
@ -9260,26 +9286,7 @@ BattleScript_TargetAbilityStatRaiseRet_End:
BattleScript_EffectMaxMove::
attackcanceler
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
attackstring
ppreduce
critcalc
damagecalc
adjustdamage
attackanimation
waitanimation
effectivenesssound
hitanimation BS_TARGET
waitstate
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage B_WAIT_TIME_LONG
resultmessage
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_TARGET
setadditionaleffects
moveendall
end
goto BattleScript_HitFromAtkString
BattleScript_EffectRaiseStatAllies::
savetarget
@ -9295,7 +9302,7 @@ BattleScript_RaiseSideStatsIncrement:
setallytonexttarget BattleScript_RaiseSideStatsLoop
BattleScript_RaiseSideStatsEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectLowerStatFoes::
savetarget
@ -9311,26 +9318,26 @@ BattleScript_LowerSideStatsIncrement:
setallytonexttarget BattleScript_LowerSideStatsLoop
BattleScript_LowerSideStatsEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectSetWeather::
playanimation 0, B_ANIM_MAX_SET_WEATHER
printfromtable gMoveWeatherChangeStringIds
waitmessage B_WAIT_TIME_LONG
call BattleScript_ActivateWeatherAbilities
goto BattleScript_MoveEnd
return
BattleScript_EffectSetTerrain::
printfromtable gTerrainStringIds
waitmessage B_WAIT_TIME_LONG
playanimation BS_ATTACKER, B_ANIM_RESTORE_BG
call BattleScript_ActivateTerrainEffects
goto BattleScript_MoveEnd
return
BattleScript_DamageNonTypesStarts::
printfromtable gDamageNonTypesStartStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
return
BattleScript_DamageNonTypesContinues::
printfromtable gDamageNonTypesDmgStringIds
@ -9343,7 +9350,7 @@ BattleScript_EffectTryReducePP::
tryspiteppreduce BattleScript_MoveEnd
printstring STRINGID_PKMNREDUCEDPP
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
return
BattleScript_EffectParalyzeSide::
savetarget
@ -9351,18 +9358,12 @@ BattleScript_EffectParalyzeSide::
BattleScript_ParalyzeSideLoop:
jumpifabsent BS_TARGET, BattleScript_ParalyzeSideIncrement
trysetparalysis BattleScript_ParalyzeSideIncrement
statusanimation BS_TARGET
updatestatusicon BS_TARGET
printfromtable gStatusConditionsStringIds
waitmessage B_WAIT_TIME_LONG
updatestatusicon BS_EFFECT_BATTLER
waitstate
BattleScript_ParalyzeSideIncrement:
jumpifbytenotequal gBattlerTarget, sBATTLER, BattleScript_ParalyzeSideEnd
setallytonexttarget BattleScript_ParalyzeSideLoop
BattleScript_ParalyzeSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectPoisonSide::
savetarget
@ -9370,18 +9371,12 @@ BattleScript_EffectPoisonSide::
BattleScript_PoisonSideLoop:
jumpifabsent BS_TARGET, BattleScript_PoisonSideIncrement
trysetpoison BattleScript_PoisonSideIncrement
statusanimation BS_TARGET
updatestatusicon BS_TARGET
printfromtable gStatusConditionsStringIds
waitmessage B_WAIT_TIME_LONG
updatestatusicon BS_EFFECT_BATTLER
waitstate
BattleScript_PoisonSideIncrement:
jumpifbytenotequal gBattlerTarget, sBATTLER, BattleScript_PoisonSideEnd
setallytonexttarget BattleScript_PoisonSideLoop
BattleScript_PoisonSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectPoisonParalyzeSide::
savetarget
@ -9389,18 +9384,12 @@ BattleScript_EffectPoisonParalyzeSide::
BattleScript_PoisonParalyzeSideLoop:
jumpifabsent BS_TARGET, BattleScript_PoisonParalyzeSideIncrement
trysetpoisonparalysis BattleScript_PoisonParalyzeSideIncrement
statusanimation BS_TARGET
updatestatusicon BS_TARGET
printfromtable gStatusConditionsStringIds
waitmessage B_WAIT_TIME_LONG
updatestatusicon BS_EFFECT_BATTLER
waitstate
BattleScript_PoisonParalyzeSideIncrement:
jumpifbytenotequal gBattlerTarget, sBATTLER, BattleScript_PoisonParalyzeSideEnd
setallytonexttarget BattleScript_PoisonParalyzeSideLoop
BattleScript_PoisonParalyzeSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectEffectSporeSide::
savetarget
@ -9408,18 +9397,12 @@ BattleScript_EffectEffectSporeSide::
BattleScript_EffectSporeSideLoop:
jumpifabsent BS_TARGET, BattleScript_EffectSporeSideIncrement
tryseteffectspore BattleScript_EffectSporeSideIncrement
statusanimation BS_TARGET
updatestatusicon BS_TARGET
printfromtable gStatusConditionsStringIds
waitmessage B_WAIT_TIME_LONG
updatestatusicon BS_EFFECT_BATTLER
waitstate
BattleScript_EffectSporeSideIncrement:
jumpifbytenotequal gBattlerTarget, sBATTLER, BattleScript_EffectSporeSideEnd
setallytonexttarget BattleScript_EffectSporeSideLoop
BattleScript_EffectSporeSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectConfuseSide::
savetarget
@ -9437,11 +9420,11 @@ BattleScript_ConfuseSideIncrement:
BattleScript_ConfuseSideEnd:
restoretarget
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_PrintCoinsScattered @ Gold Rush
goto BattleScript_MoveEnd
return
BattleScript_PrintCoinsScattered:
printstring STRINGID_COINSSCATTERED
goto BattleScript_MoveEnd
return
BattleScript_EffectInfatuateSide::
savetarget
@ -9458,7 +9441,7 @@ BattleScript_InfatuateSideIncrement:
setallytonexttarget BattleScript_InfatuateSideLoop
BattleScript_InfatuateSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectTormentSide::
savetarget
@ -9474,7 +9457,7 @@ BattleScript_TormentSideIncrement:
setallytonexttarget BattleScript_TormentSideLoop
BattleScript_TormentSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_TormentEnds::
printstring STRINGID_TORMENTEDNOMORE
@ -9495,7 +9478,7 @@ BattleScript_MeanLookSideIncrement:
setallytonexttarget BattleScript_MeanLookSideLoop
BattleScript_MeanLookSideEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectRaiseCritAlliesAnim::
savetarget
@ -9511,7 +9494,7 @@ BattleScript_RaiseCritAlliesIncrement:
setallytonexttarget BattleScript_RaiseCritAlliesLoop
BattleScript_RaiseCritAlliesEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectHealOneSixthAllies::
jumpifteamhealthy BattleScript_MoveEnd
@ -9530,7 +9513,7 @@ BattleScript_HealOneSixthAlliesIncrement:
setallytonexttarget BattleScript_HealOneSixthAlliesLoop
BattleScript_HealOneSixthAlliesEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectRecycleBerriesAllies::
savetarget
@ -9547,13 +9530,13 @@ BattleScript_RecycleBerriesAlliesIncrement:
setallytonexttarget BattleScript_RecycleBerriesAlliesLoop
BattleScript_RecycleBerriesAlliesEnd:
restoretarget
goto BattleScript_MoveEnd
return
BattleScript_EffectSteelsurge::
setsteelsurge BattleScript_MoveEnd
printfromtable gDmgHazardsStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
return
@@@ END MAX MOVES @@@

View File

@ -552,10 +552,10 @@ extern const u8 BattleScript_EffectStonesurge[];
extern const u8 BattleScript_EffectSteelsurge[];
extern const u8 BattleScript_DamageNonTypesStarts[];
extern const u8 BattleScript_DamageNonTypesContinues[];
extern const u8 BattleScript_DefogTryHazards[];
extern const u8 BattleScript_EffectAuroraVeilSuccess[];
extern const u8 BattleScript_MoveEffectDefog[];
extern const u8 BattleScript_MoveEffectAuroraVeil[];
extern const u8 BattleScript_EffectGravitySuccess[];
extern const u8 BattleScript_EffectYawnSuccess[];
extern const u8 BattleScript_MoveEffectYawnSide[];
extern const u8 BattleScript_EffectTryReducePP[];
extern const u8 BattleScript_EffectParalyzeSide[];
extern const u8 BattleScript_EffectPoisonSide[];
@ -650,7 +650,7 @@ extern const u8 BattleScript_EffectSleepTalk[];
extern const u8 BattleScript_EffectDestinyBond[];
extern const u8 BattleScript_EffectSpite[];
extern const u8 BattleScript_EffectHealBell[];
extern const u8 BattleScript_EffectHealBell_FromHeal[];
extern const u8 BattleScript_MoveEffectAromatherapy[];
extern const u8 BattleScript_EffectMeanLook[];
extern const u8 BattleScript_EffectNightmare[];
extern const u8 BattleScript_EffectMinimize[];

View File

@ -2897,7 +2897,7 @@ static inline bool32 TrySetLightScreen(u32 battler)
return FALSE;
}
static void SetNonVolatileStatusCondition(u32 effectBattler, enum MoveEffect effect, enum StatusTrigger trigger)
static void SetNonVolatileStatus(u32 effectBattler, enum MoveEffect effect, enum StatusTrigger trigger)
{
gEffectBattler = effectBattler;
@ -3041,7 +3041,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
battlerAbility,
gBattleScripting.moveEffect,
CHECK_TRIGGER))
SetNonVolatileStatusCondition(gEffectBattler, gBattleScripting.moveEffect, TRIGGER_ON_MOVE);
SetNonVolatileStatus(gEffectBattler, gBattleScripting.moveEffect, TRIGGER_ON_MOVE);
break;
case MOVE_EFFECT_CONFUSION:
if (!CanBeConfused(gEffectBattler)
@ -3079,6 +3079,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
gLastUsedAbility = ABILITY_INNER_FOCUS;
gBattlerAbility = gEffectBattler;
RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS);
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_FlinchPrevention;
}
else
@ -3390,6 +3391,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
gBattleStruct->moveDamage[i] = gBattleMons[i].maxHP / 16;
if (gBattleStruct->moveDamage[i] == 0)
gBattleStruct->moveDamage[i] = 1;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_MoveEffectFlameBurst;
}
break;
@ -3896,7 +3898,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
|| gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)
{
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_DefogTryHazards;
gBattlescriptCurrInstr = BattleScript_MoveEffectDefog;
}
break;
case MOVE_EFFECT_AURORA_VEIL:
@ -3909,7 +3911,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
gSideTimers[GetBattlerSide(gBattlerAttacker)].auroraVeilTimer = gBattleTurnCounter + 5;
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_SAFEGUARD;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_EffectAuroraVeilSuccess;
gBattlescriptCurrInstr = BattleScript_MoveEffectAuroraVeil;
}
break;
case MOVE_EFFECT_GRAVITY:
@ -3955,7 +3957,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
{
gBattleMons[gBattlerTarget].volatiles.yawn = 2;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_EffectYawnSuccess;
gBattlescriptCurrInstr = BattleScript_MoveEffectYawnSide;
}
break;
}
@ -4021,7 +4023,7 @@ void SetMoveEffect(u32 battler, u32 effectBattler, bool32 primary, bool32 certai
break;
case MOVE_EFFECT_AROMATHERAPY:
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_EffectHealBell_FromHeal;
gBattlescriptCurrInstr = BattleScript_MoveEffectAromatherapy;
break;
case MOVE_EFFECT_RECYCLE_BERRIES:
if (RandomPercentage(RNG_G_MAX_REPLENISH, 50))
@ -14521,13 +14523,13 @@ static void Cmd_setnonvolatilestatus(void)
if (gBattleScripting.moveEffect >= MOVE_EFFECT_CONFUSION)
SetMoveEffect(gBattleScripting.battler, gEffectBattler, FALSE, FALSE);
else
SetNonVolatileStatusCondition(gEffectBattler, gBattleScripting.moveEffect, TRIGGER_ON_ABILITY);
SetNonVolatileStatus(gEffectBattler, gBattleScripting.moveEffect, TRIGGER_ON_ABILITY);
break;
case TRIGGER_ON_MOVE:
SetNonVolatileStatusCondition(gBattlerTarget, GetMoveNonVolatileStatus(gCurrentMove), TRIGGER_ON_MOVE);
SetNonVolatileStatus(gBattlerTarget, GetMoveNonVolatileStatus(gCurrentMove), TRIGGER_ON_MOVE);
break;
case TRIGGER_ON_PROTECT:
SetNonVolatileStatusCondition(gBattlerAttacker, gBattleScripting.moveEffect, TRIGGER_ON_PROTECT);
SetNonVolatileStatus(gBattlerAttacker, gBattleScripting.moveEffect, TRIGGER_ON_PROTECT);
break;
}
}
@ -16334,12 +16336,8 @@ static void TrySetParalysis(const u8 *nextInstr, const u8 *failInstr)
{
if (CanBeParalyzed(gBattlerAttacker, gBattlerTarget, GetBattlerAbility(gBattlerTarget)))
{
gBattleMons[gBattlerTarget].status1 |= STATUS1_PARALYSIS;
gBattleCommunication[MULTISTRING_CHOOSER] = 3;
gEffectBattler = gBattlerTarget;
BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1);
MarkBattlerForControllerExec(gBattlerTarget);
gBattlescriptCurrInstr = nextInstr;
gBattlescriptCurrInstr = nextInstr - 1;
SetNonVolatileStatus(gBattlerTarget, MOVE_EFFECT_PARALYSIS, TRIGGER_ON_MOVE);
}
else
{
@ -16351,12 +16349,8 @@ static void TrySetPoison(const u8 *nextInstr, const u8 *failInstr)
{
if (CanBePoisoned(gBattlerAttacker, gBattlerTarget, GetBattlerAbility(gBattlerAttacker), GetBattlerAbility(gBattlerTarget)))
{
gBattleMons[gBattlerTarget].status1 |= STATUS1_POISON;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
gEffectBattler = gBattlerTarget;
BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1);
MarkBattlerForControllerExec(gBattlerTarget);
gBattlescriptCurrInstr = nextInstr;
gBattlescriptCurrInstr = nextInstr - 1;
SetNonVolatileStatus(gBattlerTarget, MOVE_EFFECT_POISON, TRIGGER_ON_MOVE);
}
else
{
@ -16368,17 +16362,8 @@ static void TrySetSleep(const u8 *nextInstr, const u8 *failInstr)
{
if (CanBeSlept(gBattlerAttacker, gBattlerTarget, GetBattlerAbility(gBattlerTarget), BLOCKED_BY_SLEEP_CLAUSE))
{
if (B_SLEEP_TURNS >= GEN_5)
gBattleMons[gBattlerTarget].status1 |= STATUS1_SLEEP_TURN((Random() % 3) + 2);
else
gBattleMons[gBattlerTarget].status1 |= STATUS1_SLEEP_TURN((Random() % 4) + 3);
TryActivateSleepClause(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]);
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
gEffectBattler = gBattlerTarget;
BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1);
MarkBattlerForControllerExec(gBattlerTarget);
gBattlescriptCurrInstr = nextInstr;
gBattlescriptCurrInstr = nextInstr - 1;
SetNonVolatileStatus(gBattlerTarget, MOVE_EFFECT_SLEEP, TRIGGER_ON_MOVE);
}
else
{

View File

@ -1018,11 +1018,11 @@ DOUBLE_BATTLE_TEST("Dynamax: G-Max Volt Crash paralyzes both opponents")
} SCENE {
MESSAGE("Pikachu used G-Max Volt Crash!");
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, opponentLeft);
STATUS_ICON(opponentLeft, paralysis: TRUE);
MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentLeft, paralysis: TRUE);
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, opponentRight);
STATUS_ICON(opponentRight, paralysis: TRUE);
MESSAGE("The opposing Wynaut is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentRight, paralysis: TRUE);
}
}
@ -1048,22 +1048,22 @@ DOUBLE_BATTLE_TEST("Dynamax: G-Max Stun Shock paralyzes or poisons both opponent
// opponent left
ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentLeft);
if (statusAnim == B_ANIM_STATUS_PSN) {
STATUS_ICON(opponentLeft, poison: TRUE);
MESSAGE("The opposing Wobbuffet was poisoned!");
STATUS_ICON(opponentLeft, poison: TRUE);
}
else {
STATUS_ICON(opponentLeft, paralysis: TRUE);
MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentLeft, paralysis: TRUE);
}
// opponent right
ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentRight);
if (statusAnim == B_ANIM_STATUS_PSN) {
STATUS_ICON(opponentRight, poison: TRUE);
MESSAGE("The opposing Wynaut was poisoned!");
STATUS_ICON(opponentRight, poison: TRUE);
}
else {
STATUS_ICON(opponentRight, paralysis: TRUE);
MESSAGE("The opposing Wynaut is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentRight, paralysis: TRUE);
}
}
}
@ -1118,30 +1118,30 @@ DOUBLE_BATTLE_TEST("Dynamax: G-Max Befuddle paralyzes, poisons, or sleeps both o
// opponent left
ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentLeft);
if (statusAnim == B_ANIM_STATUS_PSN) {
STATUS_ICON(opponentLeft, poison: TRUE);
MESSAGE("The opposing Wobbuffet was poisoned!");
STATUS_ICON(opponentLeft, poison: TRUE);
}
else if (statusAnim == B_ANIM_STATUS_PRZ) {
STATUS_ICON(opponentLeft, paralysis: TRUE);
MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentLeft, paralysis: TRUE);
}
else {
STATUS_ICON(opponentLeft, sleep: TRUE);
MESSAGE("The opposing Wobbuffet fell asleep!");
STATUS_ICON(opponentLeft, sleep: TRUE);
}
// opponent right
ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentRight);
if (statusAnim == B_ANIM_STATUS_PSN) {
STATUS_ICON(opponentRight, poison: TRUE);
MESSAGE("The opposing Wobbuffet was poisoned!");
STATUS_ICON(opponentRight, poison: TRUE);
}
else if (statusAnim == B_ANIM_STATUS_PRZ) {
STATUS_ICON(opponentRight, paralysis: TRUE);
MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!");
STATUS_ICON(opponentRight, paralysis: TRUE);
}
else {
STATUS_ICON(opponentRight, sleep: TRUE);
MESSAGE("The opposing Wobbuffet fell asleep!");
STATUS_ICON(opponentRight, sleep: TRUE);
}
}
}