Reworks ScriptSources so we can get individual scripts on a source. Fixed OnEndTurn making no sense.
Some checks failed
continuous-integration/drone/push Build is failing

Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
2021-10-29 19:31:08 +02:00
parent 316ac12a01
commit 5fd8abb3a8
16 changed files with 71 additions and 18 deletions

View File

@@ -25,13 +25,28 @@ void TurnHandler::RunTurn(const ArbUt::BorrowedPtr<ChoiceQueue>& queue, const Ar
<< " with message");
}
if (!battle->HasEnded()) {
ArbUt::List<ScriptWrapper> scripts;
for (const auto& side : battle->GetSides()) {
for (const auto& creature : side->GetCreatures()) {
if (!creature.HasValue()) {
continue;
}
HOOK(OnEndTurn, creature.GetValue(), creature.GetValue());
scripts.Clear();
creature.GetValue()->GetOwnScripts(scripts);
for (auto& s : scripts) {
EXECUTE_SCRIPT_FUNC(s, OnEndTurn);
}
}
scripts.Clear();
side->GetOwnScripts(scripts);
for (auto& s : scripts) {
EXECUTE_SCRIPT_FUNC(s, OnEndTurn);
}
}
scripts.Clear();
battle->GetOwnScripts(scripts);
for (auto& s : scripts) {
EXECUTE_SCRIPT_FUNC(s, OnEndTurn);
}
}
queue->HasCompletedQueue = true;