From b6da1a1e1d86444f7200bef8777a6b3c3e038693 Mon Sep 17 00:00:00 2001 From: Nephrite Date: Sat, 30 Dec 2023 17:42:53 +0900 Subject: [PATCH] Tweaked helper functions --- include/battle_ai_util.h | 3 +- include/battle_util.h | 2 +- src/battle_ai_main.c | 8 +++--- src/battle_ai_util.c | 28 +++++++++++++++---- src/battle_dome.c | 2 +- src/battle_tv.c | 12 ++++---- src/battle_util.c | 6 ++-- test/battle/ability/contrary.c | 2 +- test/battle/ability/hyper_cutter.c | 4 +-- test/battle/ability/immunity.c | 2 +- test/battle/ability/keen_eye.c | 2 +- test/battle/ability/pastel_veil.c | 4 +-- test/battle/ability/purifying_salt.c | 2 +- test/battle/ai_check_viability.c | 4 +-- test/battle/form_change/status.c | 2 +- test/battle/hold_effect/air_balloon.c | 2 +- test/battle/hold_effect/clear_amulet.c | 12 ++++---- test/battle/hold_effect/red_card.c | 2 +- test/battle/hold_effect/white_herb.c | 2 +- test/battle/move.c | 2 +- test/battle/move_effect/axe_kick.c | 2 +- test/battle/move_effect/barb_barrage.c | 2 +- test/battle/move_effect/bug_bite.c | 2 +- test/battle/move_effect/burn_hit.c | 10 +++---- test/battle/move_effect/dire_claw.c | 2 +- test/battle/move_effect/flinch_hit.c | 2 +- test/battle/move_effect/flinch_status.c | 12 ++++---- test/battle/move_effect/freeze_hit.c | 4 +-- .../move_effect/hit_set_entry_hazardss.c | 4 +-- test/battle/move_effect/jaw_lock.c | 2 +- test/battle/move_effect/make_it_rain.c | 2 +- test/battle/move_effect/mortal_spin.c | 2 +- test/battle/move_effect/paralyze_hit.c | 4 +-- test/battle/move_effect/pledge.c | 4 +-- test/battle/move_effect/poison_hit.c | 4 +-- test/battle/move_effect/relic_song.c | 2 +- test/battle/move_effect/spin_out.c | 3 +- test/battle/move_effect/throat_chop.c | 2 +- test/battle/move_effect/tri_attack.c | 2 +- test/battle/move_effect/triple_arrows.c | 4 +-- 40 files changed, 95 insertions(+), 79 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 6d13889553..b4254290ab 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -102,7 +102,8 @@ bool32 HasMoveWithCategory(u32 battler, u32 category); bool32 HasMoveWithType(u32 battler, u32 type); bool32 HasMoveEffect(u32 battlerId, u32 moveEffect); bool32 HasMoveEffectANDArg(u32 battlerId, u32 effect, u32 argument); -bool32 HasMoveWithMoveEffect(u32 battlerId, u32 moveEffect, u32 effectHitOnly); +bool32 HasMoveWithMoveEffect(u32 battlerId, u32 moveEffect); +bool32 HasMoveWithMoveEffectExcept(u32 battlerId, u32 moveEffect, u32 exception); bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); bool32 IsAromaVeilProtectedMove(u32 move); bool32 IsNonVolatileStatusMoveEffect(u32 moveEffect); diff --git a/include/battle_util.h b/include/battle_util.h index 1d58221486..aa8967e313 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -221,7 +221,7 @@ void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); bool32 IsAlly(u32 battlerAtk, u32 battlerDef); bool32 IsGen6ExpShareEnabled(void); -bool32 MoveHasMoveEffect(u32 move, u32 moveEffect, bool32 effectHitOnly); +bool32 MoveHasMoveEffect(u32 move, u32 moveEffect); bool32 MoveHasMoveEffectWithChance(u32 move, u32 moveEffect, u32 chance); bool32 MoveHasMoveEffectSelf(u32 move, u32 moveEffect); bool32 MoveHasMoveEffectSelfArg(u32 move, u32 moveEffect, u32 argument); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 2097f998df..490fe38801 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3675,7 +3675,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_LEECH_SEED: if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) || gStatuses3[battlerDef] & STATUS3_LEECHSEED - || HasMoveWithMoveEffect(battlerDef, MOVE_EFFECT_RAPIDSPIN, FALSE) + || HasMoveWithMoveEffect(battlerDef, MOVE_EFFECT_RAPIDSPIN) || aiData->abilities[battlerDef] == ABILITY_LIQUID_OOZE || aiData->abilities[battlerDef] == ABILITY_MAGIC_GUARD) break; @@ -4032,7 +4032,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_SWAGGER: if (HasMoveEffect(battlerAtk, EFFECT_FOUL_PLAY) || HasMoveEffect(battlerAtk, EFFECT_PSYCH_UP) - || HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_SPECTRAL_THIEF, FALSE)) + || HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_SPECTRAL_THIEF)) ADJUST_SCORE(1); if (aiData->abilities[battlerDef] == ABILITY_CONTRARY) @@ -4042,7 +4042,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score break; case EFFECT_FLATTER: if (HasMoveEffect(battlerAtk, EFFECT_PSYCH_UP) - || HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_SPECTRAL_THIEF, FALSE)) + || HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_SPECTRAL_THIEF)) ADJUST_SCORE(2); if (aiData->abilities[battlerDef] == ABILITY_CONTRARY) @@ -4910,7 +4910,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score } break; case MOVE_EFFECT_WRAP: - if (!HasMoveWithMoveEffect(battlerDef, MOVE_EFFECT_RAPIDSPIN, FALSE) && !IsBattlerTrapped(battlerDef, TRUE) && ShouldTrap(battlerAtk, battlerDef, move)) + if (!HasMoveWithMoveEffect(battlerDef, MOVE_EFFECT_RAPIDSPIN) && !IsBattlerTrapped(battlerDef, TRUE) && ShouldTrap(battlerAtk, battlerDef, move)) ADJUST_SCORE(5); break; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index ca9ba95169..f9410bf68a 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1980,7 +1980,7 @@ bool32 HasMoveEffectANDArg(u32 battlerId, u32 effect, u32 argument) return FALSE; } -bool32 HasMoveWithMoveEffect(u32 battlerId, u32 moveEffect, u32 effectHitOnly) +bool32 HasMoveWithMoveEffect(u32 battlerId, u32 moveEffect) { s32 i; u16 *moves = GetMovesArray(battlerId); @@ -1988,7 +1988,23 @@ bool32 HasMoveWithMoveEffect(u32 battlerId, u32 moveEffect, u32 effectHitOnly) for (i = 0; i < MAX_MON_MOVES; i++) { if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE - && MoveHasMoveEffect(moves[i], moveEffect, effectHitOnly)) + && MoveHasMoveEffect(moves[i], moveEffect)) + return TRUE; + } + + return FALSE; +} + +bool32 HasMoveWithMoveEffectExcept(u32 battlerId, u32 moveEffect, u32 exception) +{ + s32 i; + u16 *moves = GetMovesArray(battlerId); + + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE + && gBattleMoves[moves[i]].effect != exception + && MoveHasMoveEffect(moves[i], moveEffect)) return TRUE; } @@ -2103,8 +2119,8 @@ bool32 IsTrappingMove(u32 move) //case EFFECT_NO_RETREAT: // TODO return TRUE; default: - return MoveHasMoveEffect(move, MOVE_EFFECT_PREVENT_ESCAPE, FALSE) - || MoveHasMoveEffect(move, MOVE_EFFECT_WRAP, FALSE); + return MoveHasMoveEffect(move, MOVE_EFFECT_PREVENT_ESCAPE) + || MoveHasMoveEffect(move, MOVE_EFFECT_WRAP); } } @@ -3722,7 +3738,7 @@ void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) if ((defSpeed >= atkSpeed && defSpeed / 2 < atkSpeed) // You'll go first after paralyzing foe || HasMoveEffectANDArg(battlerAtk, EFFECT_DOUBLE_POWER_ON_ARG_STATUS, STATUS1_PARALYSIS) - || HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_FLINCH, TRUE) // filter out Fake Out + || (HasMoveWithMoveEffectExcept(battlerAtk, MOVE_EFFECT_FLINCH, EFFECT_FAKE_OUT)) // filter out Fake Out || gBattleMons[battlerDef].status2 & STATUS2_INFATUATION || gBattleMons[battlerDef].status2 & STATUS2_CONFUSION) ADJUST_SCORE_PTR(4); @@ -3763,7 +3779,7 @@ void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score { if (gBattleMons[battlerDef].status1 & STATUS1_PARALYSIS || gBattleMons[battlerDef].status2 & STATUS2_INFATUATION - || (AI_DATA->abilities[battlerAtk] == ABILITY_SERENE_GRACE && HasMoveWithMoveEffect(battlerAtk, MOVE_EFFECT_FLINCH, TRUE))) + || (AI_DATA->abilities[battlerAtk] == ABILITY_SERENE_GRACE && HasMoveWithMoveEffectExcept(battlerAtk, MOVE_EFFECT_FLINCH, EFFECT_FAKE_OUT))) ADJUST_SCORE_PTR(3); else ADJUST_SCORE_PTR(2); diff --git a/src/battle_dome.c b/src/battle_dome.c index a3a180637a..bf6f4b3fa8 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -4062,7 +4062,7 @@ static bool32 IsDomeStatusMoveEffect(u32 move) case EFFECT_CURSE: return TRUE; default: - return MoveHasMoveEffect(move, MOVE_EFFECT_WRAP, FALSE); + return MoveHasMoveEffect(move, MOVE_EFFECT_WRAP); } } diff --git a/src/battle_tv.c b/src/battle_tv.c index b2053b665a..92f74462da 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -1275,16 +1275,16 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3) // various cases add/remove points if (gBattleMoves[arg2].recoil > 0) baseFromEffect++; // recoil moves - if (MoveHasMoveEffect(arg2, MOVE_EFFECT_RAPIDSPIN, FALSE)) + if (MoveHasMoveEffect(arg2, MOVE_EFFECT_RAPIDSPIN)) baseFromEffect++; - if (MoveHasMoveEffect(arg2, MOVE_EFFECT_SP_ATK_TWO_DOWN, FALSE) - || MoveHasMoveEffect(arg2, MOVE_EFFECT_ATK_DEF_DOWN, FALSE)) + if (MoveHasMoveEffect(arg2, MOVE_EFFECT_SP_ATK_TWO_DOWN) + || MoveHasMoveEffect(arg2, MOVE_EFFECT_ATK_DEF_DOWN)) baseFromEffect += 2; // Overheat etc & Superpower - if (MoveHasMoveEffect(arg2, MOVE_EFFECT_STEAL_ITEM, FALSE)) + if (MoveHasMoveEffect(arg2, MOVE_EFFECT_STEAL_ITEM)) baseFromEffect += 3; - if (MoveHasMoveEffect(arg2, MOVE_EFFECT_WRAP, FALSE)) + if (MoveHasMoveEffect(arg2, MOVE_EFFECT_WRAP)) baseFromEffect += 3; - if (MoveHasMoveEffect(arg2, MOVE_EFFECT_RECHARGE, FALSE)) + if (MoveHasMoveEffect(arg2, MOVE_EFFECT_RECHARGE)) baseFromEffect += 4; movePoints->points[atkSide][gBattlerPartyIndexes[gBattlerAttacker] * 4 + arg1] += baseFromEffect; diff --git a/src/battle_util.c b/src/battle_util.c index 8242d956f8..6775ff8a26 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5929,7 +5929,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && RandomWeighted(RNG_STENCH, 9, 1) && !IS_MOVE_STATUS(move) - && !MoveHasMoveEffect(gCurrentMove, MOVE_EFFECT_FLINCH, FALSE)) + && !MoveHasMoveEffect(gCurrentMove, MOVE_EFFECT_FLINCH)) { gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -11417,13 +11417,13 @@ bool32 IsGen6ExpShareEnabled(void) #endif } -bool32 MoveHasMoveEffect(u32 move, u32 moveEffect, bool32 effectHitOnly) +bool32 MoveHasMoveEffect(u32 move, u32 moveEffect) { u8 i; for (i = 0; i < gBattleMoves[move].numAdditionalEffects; i++) { if (gBattleMoves[move].additionalEffects[i].moveEffect == moveEffect - && !(effectHitOnly && gBattleMoves[move].effect != EFFECT_HIT)) + && gBattleMoves[move].additionalEffects[i].self == FALSE) return TRUE; } return FALSE; diff --git a/test/battle/ability/contrary.c b/test/battle/ability/contrary.c index e0498e83cf..9ab3f42806 100644 --- a/test/battle/ability/contrary.c +++ b/test/battle/ability/contrary.c @@ -82,7 +82,7 @@ SINGLE_BATTLE_TEST("Contrary raises stats after using a move which would normall PARAMETRIZE { ability = ABILITY_CONTRARY; } PARAMETRIZE { ability = ABILITY_TANGLED_FEET; } GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_TWO_DOWN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_TWO_DOWN) == TRUE); ASSUME(gBattleMoves[MOVE_OVERHEAT].category == BATTLE_CATEGORY_SPECIAL); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_SPINDA) { Ability(ability); } diff --git a/test/battle/ability/hyper_cutter.c b/test/battle/ability/hyper_cutter.c index 1e50728033..90ba7aeb27 100644 --- a/test/battle/ability/hyper_cutter.c +++ b/test/battle/ability/hyper_cutter.c @@ -79,7 +79,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter is ignored by Mold Breaker") SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Attack stage reduction from moves used by the user") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_SUPERPOWER, MOVE_EFFECT_ATK_DEF_DOWN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffectSelf(MOVE_SUPERPOWER, MOVE_EFFECT_ATK_DEF_DOWN) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_KRABBY) { Ability(ABILITY_HYPER_CUTTER); } } WHEN { @@ -117,7 +117,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Spectral Thief from resetting p { GIVEN { ASSUME(gBattleMoves[MOVE_SWORDS_DANCE].effect == EFFECT_ATTACK_UP_2); - ASSUME(gBattleMoves[MOVE_SPECTRAL_THIEF].additionalEffects[0].moveEffect == MOVE_EFFECT_SPECTRAL_THIEF); + ASSUME(MoveHasMoveEffect(MOVE_SPECTRAL_THIEF, MOVE_EFFECT_SPECTRAL_THIEF)); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_KRABBY) { Ability(ABILITY_HYPER_CUTTER); } } WHEN { diff --git a/test/battle/ability/immunity.c b/test/battle/ability/immunity.c index 4260498244..c92e9041e1 100644 --- a/test/battle/ability/immunity.c +++ b/test/battle/ability/immunity.c @@ -4,7 +4,7 @@ SINGLE_BATTLE_TEST("Immunity prevents Poison Sting poison") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_SNORLAX) { Ability(ABILITY_IMMUNITY); } } WHEN { diff --git a/test/battle/ability/keen_eye.c b/test/battle/ability/keen_eye.c index fdbdbc98b5..6f3e63c5b5 100644 --- a/test/battle/ability/keen_eye.c +++ b/test/battle/ability/keen_eye.c @@ -174,7 +174,7 @@ SINGLE_BATTLE_TEST("Keen Eye & Gen9+ Illuminate don't prevent Spectral Thief fro GIVEN { ASSUME(gBattleMoves[MOVE_HONE_CLAWS].effect == EFFECT_ATTACK_ACCURACY_UP); - ASSUME(MoveHasMoveEffect(MOVE_SPECTRAL_THIEF, MOVE_EFFECT_SPECTRAL_THIEF, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_SPECTRAL_THIEF, MOVE_EFFECT_SPECTRAL_THIEF) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(species) { Ability(ability); } } WHEN { diff --git a/test/battle/ability/pastel_veil.c b/test/battle/ability/pastel_veil.c index 7847b2efd6..8e6c8d5c12 100644 --- a/test/battle/ability/pastel_veil.c +++ b/test/battle/ability/pastel_veil.c @@ -4,7 +4,7 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison") DOUBLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison on partner") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } diff --git a/test/battle/ability/purifying_salt.c b/test/battle/ability/purifying_salt.c index 8c2e92bcd5..4f62140f60 100644 --- a/test/battle/ability/purifying_salt.c +++ b/test/battle/ability/purifying_salt.c @@ -47,7 +47,7 @@ SINGLE_BATTLE_TEST("Purifying Salt grants immunity to status effects") ASSUME(gBattleMoves[MOVE_HYPNOSIS].effect == EFFECT_SLEEP); ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].effect == EFFECT_PARALYZE); ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC); - ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE) == TRUE); PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_PURIFYING_SALT); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/ai_check_viability.c b/test/battle/ai_check_viability.c index 7d6dc4d3e5..b9e01c0d86 100644 --- a/test/battle/ai_check_viability.c +++ b/test/battle/ai_check_viability.c @@ -4,7 +4,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_BODY_SLAM, MOVE_EFFECT_PARALYSIS, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_BODY_SLAM, MOVE_EFFECT_PARALYSIS) == TRUE); } AI_SINGLE_BATTLE_TEST("AI sees increased base power of Facade") @@ -83,7 +83,7 @@ AI_SINGLE_BATTLE_TEST("AI sees increased base power of Wake Up Slap") // GIVEN { // ASSUME(gBattleMoves[MOVE_GRAV_APPLE].effect == EFFECT_GRAV_APPLE); -// ASSUME(MoveHasMoveEffect(MOVE_TROP_KICK, MOVE_EFFECT_ATK_MINUS_1, FALSE) == TRUE); +// ASSUME(MoveHasMoveEffect(MOVE_TROP_KICK, MOVE_EFFECT_ATK_MINUS_1) == TRUE); // AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); // PLAYER(SPECIES_WOBBUFFET) { HP(81); Speed(20); } // OPPONENT(SPECIES_WOBBUFFET) { Speed(10); Moves(MOVE_TROP_KICK, MOVE_GRAV_APPLE); } diff --git a/test/battle/form_change/status.c b/test/battle/form_change/status.c index a93b4a73cb..6bdc83efc8 100644 --- a/test/battle/form_change/status.c +++ b/test/battle/form_change/status.c @@ -3,7 +3,7 @@ SINGLE_BATTLE_TEST("Shaymin-Sky reverts to Shaymin-Land when frozen or frostbitten") { - ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE, FALSE)); + ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE)); GIVEN { PLAYER(SPECIES_SHAYMIN_SKY); OPPONENT(SPECIES_WOBBUFFET); diff --git a/test/battle/hold_effect/air_balloon.c b/test/battle/hold_effect/air_balloon.c index 043028cc69..cb16972d5c 100644 --- a/test/battle/hold_effect/air_balloon.c +++ b/test/battle/hold_effect/air_balloon.c @@ -109,7 +109,7 @@ SINGLE_BATTLE_TEST("Air Balloon pops before it can be stolen with Thief or Covet PARAMETRIZE { move = MOVE_THIEF; } PARAMETRIZE { move = MOVE_COVET; } GIVEN { - ASSUME(MoveHasMoveEffect(move, MOVE_EFFECT_STEAL_ITEM, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(move, MOVE_EFFECT_STEAL_ITEM) == TRUE); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_AIR_BALLOON); }; OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/hold_effect/clear_amulet.c b/test/battle/hold_effect/clear_amulet.c index 7dceb002ee..39e5b3344f 100644 --- a/test/battle/hold_effect/clear_amulet.c +++ b/test/battle/hold_effect/clear_amulet.c @@ -72,12 +72,12 @@ SINGLE_BATTLE_TEST("Clear Amulet prevents secondary effects that reduce stats") PARAMETRIZE { move = MOVE_MUD_SLAP; } GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_AURORA_BEAM, MOVE_EFFECT_ATK_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_ROCK_SMASH, MOVE_EFFECT_DEF_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_BUBBLE_BEAM, MOVE_EFFECT_SPD_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_SNARL, MOVE_EFFECT_SP_ATK_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_PSYCHIC, MOVE_EFFECT_SP_DEF_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_MUD_SLAP, MOVE_EFFECT_ACC_MINUS_1, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_AURORA_BEAM, MOVE_EFFECT_ATK_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_ROCK_SMASH, MOVE_EFFECT_DEF_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_BUBBLE_BEAM, MOVE_EFFECT_SPD_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_SNARL, MOVE_EFFECT_SP_ATK_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_PSYCHIC, MOVE_EFFECT_SP_DEF_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_MUD_SLAP, MOVE_EFFECT_ACC_MINUS_1) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_CLEAR_AMULET); }; } WHEN { diff --git a/test/battle/hold_effect/red_card.c b/test/battle/hold_effect/red_card.c index c22dee92b0..9183b0342d 100644 --- a/test/battle/hold_effect/red_card.c +++ b/test/battle/hold_effect/red_card.c @@ -170,7 +170,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if stolen by a move") bool32 activate; PARAMETRIZE { item = ITEM_NONE; activate = FALSE; } PARAMETRIZE { item = ITEM_POTION; activate = TRUE; } - ASSUME(MoveHasMoveEffect(MOVE_THIEF, MOVE_EFFECT_STEAL_ITEM, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THIEF, MOVE_EFFECT_STEAL_ITEM) == TRUE); GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_RED_CARD); } diff --git a/test/battle/hold_effect/white_herb.c b/test/battle/hold_effect/white_herb.c index fa140c8d93..010c5c3bb2 100644 --- a/test/battle/hold_effect/white_herb.c +++ b/test/battle/hold_effect/white_herb.c @@ -135,7 +135,7 @@ SINGLE_BATTLE_TEST("White Herb wont have time to activate if it is knocked off o KNOWN_FAILING; // Knock off fails, Thief is fine GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_THIEF, MOVE_EFFECT_STEAL_ITEM, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THIEF, MOVE_EFFECT_STEAL_ITEM) == TRUE); ASSUME(gBattleMoves[MOVE_KNOCK_OFF].effect == EFFECT_KNOCK_OFF); PLAYER(SPECIES_SLUGMA) { Ability(ABILITY_WEAK_ARMOR); Item(ITEM_WHITE_HERB); } OPPONENT(SPECIES_WOBBUFFET); diff --git a/test/battle/move.c b/test/battle/move.c index f30f08b826..594161099b 100644 --- a/test/battle/move.c +++ b/test/battle/move.c @@ -27,7 +27,7 @@ SINGLE_BATTLE_TEST("AdditionalEffect.chance controls the proportion of secondary PARAMETRIZE { move = MOVE_THUNDER_SHOCK; } PARAMETRIZE { move = MOVE_DISCHARGE; } PARAMETRIZE { move = MOVE_NUZZLE; } - ASSUME(MoveHasMoveEffect(move, MOVE_EFFECT_PARALYSIS, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(move, MOVE_EFFECT_PARALYSIS) == TRUE); ASSUME(0 < gBattleMoves[move].additionalEffects[0].chance && gBattleMoves[move].additionalEffects[0].chance <= 100); PASSES_RANDOMLY(gBattleMoves[move].additionalEffects[0].chance, 100, RNG_SECONDARY_EFFECT); GIVEN { diff --git a/test/battle/move_effect/axe_kick.c b/test/battle/move_effect/axe_kick.c index a11ab1448a..ee68f04adb 100644 --- a/test/battle/move_effect/axe_kick.c +++ b/test/battle/move_effect/axe_kick.c @@ -4,7 +4,7 @@ ASSUMPTIONS { ASSUME(gBattleMoves[MOVE_AXE_KICK].effect == EFFECT_RECOIL_IF_MISS); - ASSUME(MoveHasMoveEffect(MOVE_AXE_KICK, MOVE_EFFECT_CONFUSION, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_AXE_KICK, MOVE_EFFECT_CONFUSION) == TRUE); } SINGLE_BATTLE_TEST("Axe Kick confuses the target") diff --git a/test/battle/move_effect/barb_barrage.c b/test/battle/move_effect/barb_barrage.c index b66535a5fc..61ac2101b6 100644 --- a/test/battle/move_effect/barb_barrage.c +++ b/test/battle/move_effect/barb_barrage.c @@ -5,7 +5,7 @@ ASSUMPTIONS { ASSUME(gBattleMoves[MOVE_BARB_BARRAGE].effect == EFFECT_DOUBLE_POWER_ON_ARG_STATUS); ASSUME(gBattleMoves[MOVE_BARB_BARRAGE].argument == STATUS1_PSN_ANY); - ASSUME(MoveHasMoveEffect(MOVE_BARB_BARRAGE, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_BARB_BARRAGE, MOVE_EFFECT_POISON) == TRUE); } SINGLE_BATTLE_TEST("Barb Barrage inflicts poison") diff --git a/test/battle/move_effect/bug_bite.c b/test/battle/move_effect/bug_bite.c index 3f22b238df..deb3f77da8 100644 --- a/test/battle/move_effect/bug_bite.c +++ b/test/battle/move_effect/bug_bite.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE, FALSE)); + ASSUME(MoveHasMoveEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE)); ASSUME(gBattleMoves[MOVE_BUG_BITE].pp == 20); } diff --git a/test/battle/move_effect/burn_hit.c b/test/battle/move_effect/burn_hit.c index 7530018228..27eab45ee9 100644 --- a/test/battle/move_effect/burn_hit.c +++ b/test/battle/move_effect/burn_hit.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_EMBER, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_EMBER, MOVE_EFFECT_BURN) == TRUE); } SINGLE_BATTLE_TEST("Ember inflicts burn") @@ -42,7 +42,7 @@ SINGLE_BATTLE_TEST("Ember cannot burn a Fire-type Pokémon") DOUBLE_BATTLE_TEST("Lava Plume inflicts burn to every battler on the field") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_LAVA_PLUME, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_LAVA_PLUME, MOVE_EFFECT_BURN) == TRUE); ASSUME(gBattleMoves[MOVE_LAVA_PLUME].target == MOVE_TARGET_FOES_AND_ALLY); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET); @@ -68,7 +68,7 @@ SINGLE_BATTLE_TEST("Matcha Gotcha inflicts burn 20% of the time") { PASSES_RANDOMLY(20, 100, RNG_SECONDARY_EFFECT); GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_MATCHA_GOTCHA, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_MATCHA_GOTCHA, MOVE_EFFECT_BURN) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -84,7 +84,7 @@ SINGLE_BATTLE_TEST("Matcha Gotcha inflicts burn 20% of the time") DOUBLE_BATTLE_TEST("Matcha Gatcha can burn both targets") { GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_MATCHA_GOTCHA, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_MATCHA_GOTCHA, MOVE_EFFECT_BURN) == TRUE); PLAYER(SPECIES_WOBBUFFET) { HP(1); } PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); @@ -110,7 +110,7 @@ SINGLE_BATTLE_TEST("Scald shouldn't burn a Water-type Pokémon") { GIVEN { ASSUME(gSpeciesInfo[SPECIES_SQUIRTLE].types[0] == TYPE_WATER); - ASSUME(MoveHasMoveEffect(MOVE_SCALD, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_SCALD, MOVE_EFFECT_BURN) == TRUE); ASSUME(gBattleMoves[MOVE_SCALD].type == TYPE_WATER); PLAYER(SPECIES_SQUIRTLE); OPPONENT(SPECIES_SQUIRTLE); diff --git a/test/battle/move_effect/dire_claw.c b/test/battle/move_effect/dire_claw.c index 5369248dc0..c8cfaa9248 100644 --- a/test/battle/move_effect/dire_claw.c +++ b/test/battle/move_effect/dire_claw.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_DIRE_CLAW, MOVE_EFFECT_DIRE_CLAW, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_DIRE_CLAW, MOVE_EFFECT_DIRE_CLAW) == TRUE); } SINGLE_BATTLE_TEST("Dire Claw can inflict poison, paralysis or sleep") diff --git a/test/battle/move_effect/flinch_hit.c b/test/battle/move_effect/flinch_hit.c index 742675b59d..a6ad63fec4 100644 --- a/test/battle/move_effect/flinch_hit.c +++ b/test/battle/move_effect/flinch_hit.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_HEADBUTT, MOVE_EFFECT_FLINCH, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_HEADBUTT, MOVE_EFFECT_FLINCH) == TRUE); } SINGLE_BATTLE_TEST("Headbutt flinches the target if attacker is faster") diff --git a/test/battle/move_effect/flinch_status.c b/test/battle/move_effect/flinch_status.c index 18d0110b95..2194a22681 100644 --- a/test/battle/move_effect/flinch_status.c +++ b/test/battle/move_effect/flinch_status.c @@ -3,12 +3,12 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_THUNDER_FANG, MOVE_EFFECT_PARALYSIS, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_THUNDER_FANG, MOVE_EFFECT_FLINCH, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_ICE_FANG, MOVE_EFFECT_FREEZE, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_ICE_FANG, MOVE_EFFECT_FLINCH, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_FIRE_FANG, MOVE_EFFECT_BURN, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_FIRE_FANG, MOVE_EFFECT_FLINCH, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THUNDER_FANG, MOVE_EFFECT_PARALYSIS) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THUNDER_FANG, MOVE_EFFECT_FLINCH) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_ICE_FANG, MOVE_EFFECT_FREEZE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_ICE_FANG, MOVE_EFFECT_FLINCH) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_FIRE_FANG, MOVE_EFFECT_BURN) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_FIRE_FANG, MOVE_EFFECT_FLINCH) == TRUE); } SINGLE_BATTLE_TEST("Thunder, Ice and Fire Fang inflict status 10% of the time") diff --git a/test/battle/move_effect/freeze_hit.c b/test/battle/move_effect/freeze_hit.c index 1b9a6d5bb6..8d5b34b794 100644 --- a/test/battle/move_effect/freeze_hit.c +++ b/test/battle/move_effect/freeze_hit.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE) == TRUE); ASSUME(gBattleMoves[MOVE_BLIZZARD].accuracy == 70); } @@ -75,7 +75,7 @@ SINGLE_BATTLE_TEST("Freezing Glare shouldn't freeze Psychic-types") { GIVEN { ASSUME(gSpeciesInfo[SPECIES_ARTICUNO_GALARIAN].types[0] == TYPE_PSYCHIC); - ASSUME(MoveHasMoveEffect(MOVE_FREEZING_GLARE, MOVE_EFFECT_FREEZE_OR_FROSTBITE, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_FREEZING_GLARE, MOVE_EFFECT_FREEZE_OR_FROSTBITE) == TRUE); ASSUME(gBattleMoves[MOVE_FREEZING_GLARE].type == TYPE_PSYCHIC); PLAYER(SPECIES_ARTICUNO_GALARIAN); OPPONENT(SPECIES_ARTICUNO_GALARIAN); diff --git a/test/battle/move_effect/hit_set_entry_hazardss.c b/test/battle/move_effect/hit_set_entry_hazardss.c index 30a561d111..063adbb6e6 100644 --- a/test/battle/move_effect/hit_set_entry_hazardss.c +++ b/test/battle/move_effect/hit_set_entry_hazardss.c @@ -3,8 +3,8 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_STONE_AXE, MOVE_EFFECT_STEALTH_ROCK, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_CEASELESS_EDGE, MOVE_EFFECT_SPIKES, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_STONE_AXE, MOVE_EFFECT_STEALTH_ROCK) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_CEASELESS_EDGE, MOVE_EFFECT_SPIKES) == TRUE); } SINGLE_BATTLE_TEST("Stone Axe / Ceaseless Edge set up hazards after hitting the target") diff --git a/test/battle/move_effect/jaw_lock.c b/test/battle/move_effect/jaw_lock.c index 1b786a1c73..899a0b297a 100644 --- a/test/battle/move_effect/jaw_lock.c +++ b/test/battle/move_effect/jaw_lock.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_JAW_LOCK, MOVE_EFFECT_TRAP_BOTH, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_JAW_LOCK, MOVE_EFFECT_TRAP_BOTH) == TRUE); } SINGLE_BATTLE_TEST("Jaw Lock traps both opponents") diff --git a/test/battle/move_effect/make_it_rain.c b/test/battle/move_effect/make_it_rain.c index 11766f1206..5547ea55d1 100644 --- a/test/battle/move_effect/make_it_rain.c +++ b/test/battle/move_effect/make_it_rain.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_MAKE_IT_RAIN, MOVE_EFFECT_PAYDAY, FALSE)); + ASSUME(MoveHasMoveEffect(MOVE_MAKE_IT_RAIN, MOVE_EFFECT_PAYDAY)); ASSUME(MoveHasMoveEffectSelf(MOVE_MAKE_IT_RAIN, MOVE_EFFECT_SP_ATK_MINUS_1)); } diff --git a/test/battle/move_effect/mortal_spin.c b/test/battle/move_effect/mortal_spin.c index 24ee320cc3..5952c58983 100644 --- a/test/battle/move_effect/mortal_spin.c +++ b/test/battle/move_effect/mortal_spin.c @@ -4,7 +4,7 @@ ASSUMPTIONS { ASSUME(MoveHasMoveEffectSelf(MOVE_MORTAL_SPIN, MOVE_EFFECT_RAPIDSPIN) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_MORTAL_SPIN, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_MORTAL_SPIN, MOVE_EFFECT_POISON) == TRUE); } SINGLE_BATTLE_TEST("Mortal Spin blows away Wrap, hazards and poisons foe") diff --git a/test/battle/move_effect/paralyze_hit.c b/test/battle/move_effect/paralyze_hit.c index 6c2b3b5cf6..158c19d316 100644 --- a/test/battle/move_effect/paralyze_hit.c +++ b/test/battle/move_effect/paralyze_hit.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_THUNDER_SHOCK, MOVE_EFFECT_PARALYSIS, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THUNDER_SHOCK, MOVE_EFFECT_PARALYSIS) == TRUE); } SINGLE_BATTLE_TEST("Thunder Shock inflicts paralysis") @@ -48,7 +48,7 @@ SINGLE_BATTLE_TEST("Body Slam shouldn't paralyze Normal-types") { GIVEN { ASSUME(gSpeciesInfo[SPECIES_TAUROS].types[0] == TYPE_NORMAL); - ASSUME(MoveHasMoveEffect(MOVE_BODY_SLAM, MOVE_EFFECT_PARALYSIS, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_BODY_SLAM, MOVE_EFFECT_PARALYSIS) == TRUE); ASSUME(gBattleMoves[MOVE_BODY_SLAM].type == TYPE_NORMAL); PLAYER(SPECIES_TAUROS); OPPONENT(SPECIES_TAUROS); diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index d6de26fcdf..0c91c0ed4d 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -38,7 +38,7 @@ DOUBLE_BATTLE_TEST("Rainbow doubles the chance of secondary move effects") { PASSES_RANDOMLY(20, 100, RNG_SECONDARY_EFFECT); GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_EMBER, MOVE_EFFECT_BURN, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_EMBER, MOVE_EFFECT_BURN) == TRUE); PLAYER(SPECIES_WOBBUFFET) { Speed(4); } PLAYER(SPECIES_WYNAUT) { Speed(3); } OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } @@ -59,7 +59,7 @@ DOUBLE_BATTLE_TEST("Rainbow flinch chance does not stack with Serene Grace") { PASSES_RANDOMLY(60, 100, RNG_SECONDARY_EFFECT); GIVEN { - ASSUME(MoveHasMoveEffect(MOVE_BITE, MOVE_EFFECT_FLINCH, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_BITE, MOVE_EFFECT_FLINCH) == TRUE); PLAYER(SPECIES_TOGEPI) { Speed(8); Ability(ABILITY_SERENE_GRACE); } PLAYER(SPECIES_WOBBUFFET) { Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(4); } diff --git a/test/battle/move_effect/poison_hit.c b/test/battle/move_effect/poison_hit.c index f114271d8b..4743ff3680 100644 --- a/test/battle/move_effect/poison_hit.c +++ b/test/battle/move_effect/poison_hit.c @@ -3,8 +3,8 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_TWINEEDLE, MOVE_EFFECT_POISON, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_TWINEEDLE, MOVE_EFFECT_POISON) == TRUE); } SINGLE_BATTLE_TEST("Poison Sting inflicts poison") diff --git a/test/battle/move_effect/relic_song.c b/test/battle/move_effect/relic_song.c index 52dcfac239..513771d565 100644 --- a/test/battle/move_effect/relic_song.c +++ b/test/battle/move_effect/relic_song.c @@ -4,7 +4,7 @@ ASSUMPTIONS { ASSUME(gBattleMoves[MOVE_RELIC_SONG].effect == EFFECT_RELIC_SONG); - ASSUME(MoveHasMoveEffect(MOVE_RELIC_SONG, MOVE_EFFECT_SLEEP, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_RELIC_SONG, MOVE_EFFECT_SLEEP) == TRUE); ASSUME(P_GEN_5_POKEMON == TRUE); } diff --git a/test/battle/move_effect/spin_out.c b/test/battle/move_effect/spin_out.c index c0b3657c58..84ebb17166 100644 --- a/test/battle/move_effect/spin_out.c +++ b/test/battle/move_effect/spin_out.c @@ -3,8 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_SPIN_OUT, MOVE_EFFECT_SPD_MINUS_2, FALSE) == TRUE); - ASSUME(gBattleMoves[MOVE_SPIN_OUT].additionalEffects[0].self == TRUE); + ASSUME(MoveHasMoveEffectSelf(MOVE_SPIN_OUT, MOVE_EFFECT_SPD_MINUS_2) == TRUE); } SINGLE_BATTLE_TEST("Spin Out lowers speed by 2 stages") diff --git a/test/battle/move_effect/throat_chop.c b/test/battle/move_effect/throat_chop.c index bdff4053b3..20b701915b 100644 --- a/test/battle/move_effect/throat_chop.c +++ b/test/battle/move_effect/throat_chop.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_THROAT_CHOP, MOVE_EFFECT_THROAT_CHOP, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_THROAT_CHOP, MOVE_EFFECT_THROAT_CHOP) == TRUE); } SINGLE_BATTLE_TEST("Throat Chop prevents the usage of sound moves") diff --git a/test/battle/move_effect/tri_attack.c b/test/battle/move_effect/tri_attack.c index 6f321d4a5c..562f2497b1 100644 --- a/test/battle/move_effect/tri_attack.c +++ b/test/battle/move_effect/tri_attack.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_TRI_ATTACK, MOVE_EFFECT_TRI_ATTACK, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_TRI_ATTACK, MOVE_EFFECT_TRI_ATTACK) == TRUE); } SINGLE_BATTLE_TEST("Tri Attack can inflict paralysis, burn or freeze") diff --git a/test/battle/move_effect/triple_arrows.c b/test/battle/move_effect/triple_arrows.c index 42b48aa034..30c37ff3bb 100644 --- a/test/battle/move_effect/triple_arrows.c +++ b/test/battle/move_effect/triple_arrows.c @@ -3,8 +3,8 @@ ASSUMPTIONS { - ASSUME(MoveHasMoveEffect(MOVE_TRIPLE_ARROWS, MOVE_EFFECT_DEF_MINUS_1, FALSE) == TRUE); - ASSUME(MoveHasMoveEffect(MOVE_TRIPLE_ARROWS, MOVE_EFFECT_FLINCH, FALSE) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_TRIPLE_ARROWS, MOVE_EFFECT_DEF_MINUS_1) == TRUE); + ASSUME(MoveHasMoveEffect(MOVE_TRIPLE_ARROWS, MOVE_EFFECT_FLINCH) == TRUE); } SINGLE_BATTLE_TEST("Triple Arrows may lower Defense by one stage")