From e8e330addd55dffa8e34716c7e1969ad243d65b3 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 6 Jan 2023 16:54:16 +0100 Subject: Core/Misc: Remove boost::heap::fibonacci_heap from header files --- src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 5 ++++- src/server/game/AI/ScriptedAI/ScriptedCreature.h | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/server/game/AI/ScriptedAI') diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index c6c232f57eb..fd01ee4b423 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -109,8 +109,11 @@ bool SummonList::HasEntry(uint32 entry) const return false; } -void SummonList::DoActionImpl(int32 action, StorageType const& summons) +void SummonList::DoActionImpl(int32 action, StorageType& summons, uint16 max) { + if (max) + Trinity::Containers::RandomResize(summons, max); + for (ObjectGuid const& guid : summons) { Creature* summon = ObjectAccessor::GetCreature(*_me, guid); diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index d8d3a356c06..bcb0496ec36 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -98,9 +98,9 @@ public: void DoAction(int32 info, Predicate&& predicate, uint16 max = 0) { // We need to use a copy of SummonList here, otherwise original SummonList would be modified - StorageType listCopy = _storage; - Trinity::Containers::RandomResize(listCopy, std::forward(predicate), max); - DoActionImpl(info, listCopy); + StorageType listCopy; + std::copy_if(std::begin(_storage), std::end(_storage), std::inserter(listCopy, std::end(listCopy)), predicate); + DoActionImpl(info, listCopy, max); } void DoZoneInCombat(uint32 entry = 0); @@ -108,7 +108,7 @@ public: bool HasEntry(uint32 entry) const; private: - void DoActionImpl(int32 action, StorageType const& summons); + void DoActionImpl(int32 action, StorageType& summons, uint16 max); Creature* _me; StorageType _storage; -- cgit v1.2.3