diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-01-06 16:54:16 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-01-06 16:54:16 +0100 |
| commit | e8e330addd55dffa8e34716c7e1969ad243d65b3 (patch) | |
| tree | 2e5cd08a6d1758d9867cc5c4b8aca4591d0e931d /src/server/game/AI/ScriptedAI | |
| parent | b65c3f5f4a4edbc953c405bfacd33f186f3a1931 (diff) | |
Core/Misc: Remove boost::heap::fibonacci_heap from header files
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.h | 8 |
2 files changed, 8 insertions, 5 deletions
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<StorageType, Predicate>(listCopy, std::forward<Predicate>(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; |
