#include "global.h" #include "test/battle.h" SINGLE_BATTLE_TEST("Cute Charm inflicts infatuation on contact") { u32 move; PARAMETRIZE { move = MOVE_TACKLE; } PARAMETRIZE { move = MOVE_SWIFT; } GIVEN { ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); ASSUME(!gBattleMoves[MOVE_SWIFT].makesContact); PLAYER(SPECIES_WOBBUFFET) { Gender(MON_MALE); } OPPONENT(SPECIES_CLEFAIRY) { Gender(MON_FEMALE); Ability(ABILITY_CUTE_CHARM); } } WHEN { TURN { MOVE(player, move); } TURN { MOVE(player, move); } } SCENE { if (gBattleMoves[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); MESSAGE("Wobbuffet is in love with Foe Clefairy!"); } else { NOT ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); NOT ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); NOT MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); NOT MESSAGE("Wobbuffet is in love with Foe Clefairy!"); } } } SINGLE_BATTLE_TEST("Cute Charm cannot infatuate same gender") { GIVEN { PLAYER(SPECIES_WOBBUFFET) { Gender(MON_MALE); } OPPONENT(SPECIES_CLEFAIRY) { Gender(MON_MALE); Ability(ABILITY_CUTE_CHARM); } } WHEN { TURN { MOVE(player, MOVE_TACKLE); } TURN { MOVE(player, MOVE_TACKLE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); NOT ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); } }