From 213503dee96a1351d34e2d250572f3879bdf5d61 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 29 May 2025 11:25:10 +0200 Subject: [PATCH] Fixes spread move fire types not defrosting all targets (#6998) --- include/constants/battle_script_commands.h | 2 +- test/battle/defrost.c | 18 ++++++++++++++++++ test/battle/spread_moves.c | 1 - 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 test/battle/defrost.c diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index d8e13baae1..ecd85700d8 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -278,9 +278,9 @@ enum MoveEndEffects MOVEEND_SKY_DROP_CONFUSE, MOVEEND_UPDATE_LAST_MOVES, MOVEEND_MIRROR_MOVE, + MOVEEND_DEFROST, MOVEEND_NEXT_TARGET, // Everything up until here is handled for each strike of a multi-hit move MOVEEND_MULTIHIT_MOVE, - MOVEEND_DEFROST, MOVEEND_RECOIL, MOVEEND_RAPID_SPIN, MOVEEND_ITEM_EFFECTS_ATTACKER, diff --git a/test/battle/defrost.c b/test/battle/defrost.c new file mode 100644 index 0000000000..3d456d6673 --- /dev/null +++ b/test/battle/defrost.c @@ -0,0 +1,18 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Defrost: A fire type spread move will thaw both targets") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_FREEZE); } + OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_FREEZE); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_HEAT_WAVE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAT_WAVE, playerLeft); + STATUS_ICON(opponentLeft, freeze: FALSE); + STATUS_ICON(opponentRight, freeze: FALSE); + } +} diff --git a/test/battle/spread_moves.c b/test/battle/spread_moves.c index f617bd69c1..869d5bbebb 100644 --- a/test/battle/spread_moves.c +++ b/test/battle/spread_moves.c @@ -3,7 +3,6 @@ DOUBLE_BATTLE_TEST("Spread Moves: Ability and Item effects activate correctly after a multi target move") { - // TODO: Might be a bug, verify on cardridge GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LUM_BERRY); } PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_COVERT_CLOAK); }