From ffd71b533765cbc56c24b3a83d8dcfe77ac24337 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Wed, 10 Sep 2025 22:16:47 +0200 Subject: [PATCH] Fixes incorrect ending for some scripts (#7691) Co-authored-by: Bassoonian --- data/battle_scripts_1.s | 127 +++++++++++++++------------------- include/battle_scripts.h | 8 +-- src/battle_script_commands.c | 49 +++++-------- test/battle/gimmick/dynamax.c | 24 +++---- 4 files changed, 88 insertions(+), 120 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 33bf28934d..1fc7d7a674 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -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 @@@ diff --git a/include/battle_scripts.h b/include/battle_scripts.h index cede102787..d9bb476af7 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -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[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f011a09420..d1aae70c1d 100755 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -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 { diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index 8220fee053..194e1f3aac 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -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); } } }