Slight Purify adjustment for targeting ally; test that AI can use Purify. (#7553)

This commit is contained in:
surskitty 2025-08-13 15:30:03 -04:00 committed by GitHub
parent 0ab811a239
commit 45a7c13656
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 1 deletions

View File

@ -3562,7 +3562,9 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score)
case EFFECT_PURIFY:
if (gBattleMons[battlerAtkPartner].status1 & STATUS1_ANY)
{
RETURN_SCORE_PLUS(WEAK_EFFECT);
if (gBattleMons[battlerAtkPartner].status1 & STATUS1_CAN_MOVE)
RETURN_SCORE_PLUS(WEAK_EFFECT);
RETURN_SCORE_PLUS(GOOD_EFFECT);
}
break;
case EFFECT_SWAGGER:

View File

@ -2,3 +2,25 @@
#include "test/battle.h"
TO_DO_BATTLE_TEST("TODO: Write Purify (Move Effect) test titles")
AI_DOUBLE_BATTLE_TEST("AI uses Purify")
{
u32 status1;
PARAMETRIZE { status1 = STATUS1_NONE; }
PARAMETRIZE { status1 = STATUS1_FREEZE; }
GIVEN {
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY);
PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_HEADBUTT, MOVE_PURIFY); }
OPPONENT(SPECIES_WOBBUFFET) { Status1(status1); Moves(MOVE_HEADBUTT); }
} WHEN {
if (status1 == STATUS1_NONE)
TURN { NOT_EXPECT_MOVE(opponentLeft, MOVE_PURIFY); }
else
TURN { EXPECT_MOVE(opponentLeft, MOVE_PURIFY, target: opponentRight); }
}
}