Fixes Aura Wheel + Normalize and Hunger Switch while Transformed/Terastallized (#7061)
This commit is contained in:
parent
2358f9a871
commit
b3752e13d8
@ -5998,7 +5998,9 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState
|
||||
{
|
||||
return TYPE_WATER;
|
||||
}
|
||||
else if (moveEffect == EFFECT_AURA_WHEEL && species == SPECIES_MORPEKO_HANGRY)
|
||||
else if (moveEffect == EFFECT_AURA_WHEEL
|
||||
&& species == SPECIES_MORPEKO_HANGRY
|
||||
&& ability != ABILITY_NORMALIZE)
|
||||
{
|
||||
return TYPE_DARK;
|
||||
}
|
||||
|
||||
@ -1470,7 +1470,7 @@ const u8 gText_Body[] = _("Body");
|
||||
const u8 gText_Judgment[] = _("{B_BUFF1}{CLEAR 13}Judgment{CLEAR 13}{B_BUFF2}");
|
||||
static const u8 sText_TwoTrainersSentPkmn[] = _("{B_TRAINER1_NAME_WITH_CLASS} sent out {B_OPPONENT_MON1_NAME}!\p{B_TRAINER2_NAME_WITH_CLASS} sent out {B_OPPONENT_MON2_NAME}!");
|
||||
static const u8 sText_Trainer2SentOutPkmn[] = _("{B_TRAINER2_NAME_WITH_CLASS} sent out {B_BUFF1}!");
|
||||
static const u8 sText_TwoTrainersWantToBattle[] = _("You are challenged by\n{B_TRAINER1_NAME_WITH_CLASS} and {B_TRAINER2_NAME_WITH_CLASS}!\p");
|
||||
static const u8 sText_TwoTrainersWantToBattle[] = _("You are challenged by {B_TRAINER1_NAME_WITH_CLASS} and {B_TRAINER2_NAME_WITH_CLASS}!\p");
|
||||
static const u8 sText_InGamePartnerSentOutZGoN[] = _("{B_PARTNER_NAME_WITH_CLASS} sent out {B_PLAYER_MON2_NAME}! Go, {B_PLAYER_MON1_NAME}!");
|
||||
|
||||
const u16 gBattlePalaceFlavorTextTable[] =
|
||||
|
||||
@ -4320,7 +4320,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
|
||||
}
|
||||
break;
|
||||
case ABILITY_HUNGER_SWITCH:
|
||||
if (TryBattleFormChange(battler, FORM_CHANGE_BATTLE_TURN_END))
|
||||
if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)
|
||||
&& GetActiveGimmick(battler) != GIMMICK_TERA
|
||||
&& TryBattleFormChange(battler, FORM_CHANGE_BATTLE_TURN_END))
|
||||
{
|
||||
gBattlerAttacker = battler;
|
||||
BattleScriptPushCursorAndCallback(BattleScript_AttackerFormChangeEnd3NoPopup);
|
||||
|
||||
@ -22,3 +22,52 @@ SINGLE_BATTLE_TEST("Hunger Switch switches Morpeko's forms at the end of the tur
|
||||
EXPECT_EQ(player->species, SPECIES_MORPEKO_FULL_BELLY);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Hunger Switch does not switch a mon transformed into Morpeko's form")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_TRANSFORM) == EFFECT_TRANSFORM);
|
||||
PLAYER(SPECIES_MORPEKO) { Ability(ABILITY_HUNGER_SWITCH); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_TRANSFORM); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, opponent);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Hunger Switch does not switch Morpeko's form when Terastallized")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_MORPEKO) { Ability(ABILITY_HUNGER_SWITCH); TeraType(TYPE_NORMAL); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { }
|
||||
TURN { MOVE(player, MOVE_SCRATCH, gimmick: GIMMICK_TERA); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, player);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Hunger Switch does not switch Morpeko's form after switching out while Terastallized")
|
||||
{
|
||||
KNOWN_FAILING; // #7062
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_ROAR) == EFFECT_ROAR);
|
||||
PLAYER(SPECIES_MORPEKO) { Ability(ABILITY_HUNGER_SWITCH); TeraType(TYPE_NORMAL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { }
|
||||
TURN { MOVE(player, MOVE_SCRATCH, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_ROAR); }
|
||||
TURN { SWITCH(player, 0); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, player);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player);
|
||||
} THEN {
|
||||
EXPECT_EQ(player->species, SPECIES_MORPEKO_HANGRY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,4 +50,41 @@ SINGLE_BATTLE_TEST("Aura Wheel changes type depending on Morpeko's form")
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Aura Wheel can be used by Pokémon transformed into Morpeko");
|
||||
SINGLE_BATTLE_TEST("Aura Wheel can be used by Pokémon transformed into Morpeko")
|
||||
{
|
||||
KNOWN_FAILING; // Aura Wheel for some reason isn't used by the opponent?
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_MORPEKO) { Ability(ABILITY_HUNGER_SWITCH); }
|
||||
OPPONENT(SPECIES_DITTO) { Ability(ABILITY_IMPOSTER); }
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_AURA_WHEEL); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_AURA_WHEEL, opponent);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Aura Wheel can be turned into a Normal-type move after Morpeko gains Normalize")
|
||||
{
|
||||
bool32 hangryMode;
|
||||
PARAMETRIZE { hangryMode = FALSE; }
|
||||
PARAMETRIZE { hangryMode = TRUE; }
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_ENTRAINMENT) == EFFECT_ENTRAINMENT);
|
||||
ASSUME(gSpeciesInfo[SPECIES_DUSKULL].types[0] == TYPE_GHOST || gSpeciesInfo[SPECIES_DUSKULL].types[1] == TYPE_GHOST);
|
||||
PLAYER(SPECIES_MORPEKO) { Ability(ABILITY_HUNGER_SWITCH); }
|
||||
OPPONENT(SPECIES_DELCATTY) { Ability(ABILITY_NORMALIZE); }
|
||||
OPPONENT(SPECIES_DUSKULL);
|
||||
} WHEN {
|
||||
if (hangryMode)
|
||||
TURN { }
|
||||
TURN { MOVE(opponent, MOVE_ENTRAINMENT); }
|
||||
TURN { MOVE(player, MOVE_AURA_WHEEL); SWITCH(opponent, 1); }
|
||||
} SCENE {
|
||||
if (hangryMode)
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player);
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_AURA_WHEEL, player);
|
||||
HP_BAR(opponent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user