26 lines
870 B
C++
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
|
|
}
|