diff --git a/src/Battling/Models/Creature.cpp b/src/Battling/Models/Creature.cpp index d9d7820..e3c00f6 100644 --- a/src/Battling/Models/Creature.cpp +++ b/src/Battling/Models/Creature.cpp @@ -37,6 +37,7 @@ const std::string& Battling::Creature::GetActiveTalent() const { void Battling::Creature::SetBattleData(Battling::Battle* battle, Battling::BattleSide* side) { _battle = battle; _side = side; + this->ResetActiveScripts(); } // region Stat APIs diff --git a/src/Battling/ScriptHandling/ScriptSource.hpp b/src/Battling/ScriptHandling/ScriptSource.hpp index d49bb1b..0403cb7 100644 --- a/src/Battling/ScriptHandling/ScriptSource.hpp +++ b/src/Battling/ScriptHandling/ScriptSource.hpp @@ -12,6 +12,10 @@ namespace CreatureLib::Battling { protected: virtual void GetActiveScripts(std::vector& scripts) = 0; + void ResetActiveScripts() { + _areScriptsInitialized = false; + _scripts.clear(); + } public: ScriptAggregator GetScriptIterator() {