aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-01-26 12:58:06 +0100
committerOvahlord <dreadkiller@gmx.de>2025-01-26 12:59:30 +0100
commit3eb4ccc9a0b3d315d53c566455a748c7cf795ac2 (patch)
tree1c2fd22fde7bf967a35cebe6cb6ff78672a1856d /src/server/game/Globals/ObjectMgr.cpp
parentb61960c1a952b929c95a80b1269800ef30878e3d (diff)
Core/Items: Fixed item spell charge slot indexing
Closes #30585 (cherry picked from commit c85d12fc3f0576163d4ffa91bb38f66894305349) # Conflicts: # src/server/game/Entities/Item/Item.h # src/server/game/Globals/ObjectMgr.cpp
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 6de875906ee..05cf9899c35 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -3109,8 +3109,13 @@ void ObjectMgr::LoadItemTemplates()
// Load item effects (spells)
if (std::vector<ItemEffectEntry const*> const* itemEffects = sDB2Manager.GetItemEffectsForItemId(sparse->ID))
+ {
for (ItemEffectEntry const* itemEffect : *itemEffects)
- itemTemplate.Effects.push_back(itemEffect);
+ {
+ auto itr = std::ranges::lower_bound(itemTemplate.Effects, itemEffect->LegacySlotIndex, {}, &ItemEffectEntry::LegacySlotIndex);
+ itemTemplate.Effects.insert(itr, itemEffect);
+ }
+ }
}
TC_LOG_INFO("server.loading", ">> Loaded {} item templates in {} ms", _itemTemplateStore.size(), GetMSTimeDiffToNow(oldMSTime));