From acd62b006560b096e39b09cf4ffc3e4557c7e310 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 27 May 2024 00:38:05 -0400 Subject: [PATCH] Reverted bad implementation of Sparkling Aria+Covert Cloak/Shield Dust (#4634) --- data/battle_scripts_1.s | 6 +++++ include/battle_scripts.h | 1 + src/battle_script_commands.c | 36 ++++++++++---------------- test/battle/ability/shield_dust.c | 2 ++ test/battle/item_effect/covert_cloak.c | 2 ++ 5 files changed, 24 insertions(+), 23 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 8b2160cefc..a13aacea0c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7357,6 +7357,12 @@ BattleScript_TargetBurnHeal:: updatestatusicon BS_TARGET return +BattleScript_TargetPoisonHealed:: + printstring STRINGID_PASTELVEILENTERS + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_TARGET + return + BattleScript_MoveEffectSleep:: statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 8674ee252f..d7b58ba11a 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -139,6 +139,7 @@ extern const u8 BattleScript_CurseTurnDmg[]; extern const u8 BattleScript_TargetPRLZHeal[]; extern const u8 BattleScript_TargetWokeUp[]; extern const u8 BattleScript_TargetBurnHeal[]; +extern const u8 BattleScript_TargetPoisonHealed[]; extern const u8 BattleScript_MoveEffectSleep[]; extern const u8 BattleScript_YawnMakesAsleep[]; extern const u8 BattleScript_MoveEffectPoison[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 01035e5c12..b2d9e8a152 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5406,7 +5406,6 @@ static void Cmd_moveend(void) u16 *choicedMoveAtk = NULL; u32 endMode, endState; u32 originallyUsedMove; - u8 currBattler, liveBattlerCount; if (gChosenMove == MOVE_UNAVAILABLE) originallyUsedMove = MOVE_NONE; @@ -5717,28 +5716,19 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_TargetWokeUp; break; case STATUS1_BURN: - // Checks to see if Sparkling Aria should cure a Shield Dust pokemon - if (gBattleMons[gBattlerTarget].ability == ABILITY_SHIELD_DUST || gBattleMons[gBattlerTarget].item == ITEM_COVERT_CLOAK) - { - liveBattlerCount = 0; - for (currBattler = 0; currBattler < gBattlersCount; currBattler++) - { - if (gBattleMons[currBattler].hp != 0) - { - liveBattlerCount++; - } - } - if (liveBattlerCount > 2) - { - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - } - break; - } - else - { - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - break; - } + gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; + break; + case STATUS1_FREEZE: + gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; + break; + case STATUS1_FROSTBITE: + gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; + break; + case STATUS1_POISON: + case STATUS1_TOXIC_POISON: + case STATUS1_PSN_ANY: + gBattlescriptCurrInstr = BattleScript_TargetPoisonHealed; + break; } } break; // MOVE_EFFECT_REMOVE_STATUS diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index 11563151ad..ea6fbfb285 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -124,6 +124,7 @@ SINGLE_BATTLE_TEST("Shield Dust does not block self-targeting effects, primary o DOUBLE_BATTLE_TEST("Shield Dust does or does not block Sparkling Aria depending on number of targets hit") { u32 moveToUse; + KNOWN_FAILING; PARAMETRIZE { moveToUse = MOVE_FINAL_GAMBIT; } PARAMETRIZE { moveToUse = MOVE_TACKLE; } GIVEN { @@ -149,6 +150,7 @@ DOUBLE_BATTLE_TEST("Shield Dust does or does not block Sparkling Aria depending SINGLE_BATTLE_TEST("Shield Dust blocks Sparkling Aria in singles") { + KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_VIVILLON) { Ability(ABILITY_SHIELD_DUST); Status1(STATUS1_BURN); } diff --git a/test/battle/item_effect/covert_cloak.c b/test/battle/item_effect/covert_cloak.c index 76dec1c31c..fc9a59bbd0 100644 --- a/test/battle/item_effect/covert_cloak.c +++ b/test/battle/item_effect/covert_cloak.c @@ -122,6 +122,7 @@ SINGLE_BATTLE_TEST("Covert Cloak does not block self-targeting effects, primary DOUBLE_BATTLE_TEST("Covert Cloak does or does not block Sparkling Aria depending on number of targets hit") { u32 moveToUse; + KNOWN_FAILING; PARAMETRIZE { moveToUse = MOVE_FINAL_GAMBIT; } PARAMETRIZE { moveToUse = MOVE_TACKLE; } GIVEN { @@ -147,6 +148,7 @@ DOUBLE_BATTLE_TEST("Covert Cloak does or does not block Sparkling Aria depending SINGLE_BATTLE_TEST("Covert Cloak blocks Sparkling Aria in singles") { + KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_COVERT_CLOAK); Status1(STATUS1_BURN); }