Gen7Tests/src/ScriptTests/Moves/AMoves/AnchorShot.cpp

26 lines
870 B
C++

#include <CreatureLib/Battling/Models/ExecutingAttack.hpp>
#include <PkmnLib/Battling/Battle/Battle.hpp>
#include <PkmnLib/Battling/Pokemon/CreatePokemon.hpp>
#include "../../../../extern/doctest.hpp"
#include "../../Macros/MoveMacros.hpp"
TEST_CASE("Anchor Shot - Locks pokemon in") {
SETUP_MOVE_TEST(Anchor_Shot)
script->OnSecondaryEffect(executingMove, targetMon, 0);
REQUIRE(userMon->HasVolatileScript("PreventFoeRunning"_cnc));
auto preventRun = false;
auto runChoice = CreatureLib::Battling::FleeTurnChoice(targetMon);
auto aggregator = userMon->GetScriptIterator();
while (aggregator.HasNext()) {
auto next = aggregator.GetNext();
auto castNext = next.ForceAs<PkmnLib::Battling::PkmnScript>();
castNext->PreventOpponentRunAway(&runChoice, &preventRun);
}
CHECK(preventRun);
CLEANUP_MOVE_TEST
}