From ddb9c515b6add044265c2bac7ba51ba84336560e Mon Sep 17 00:00:00 2001 From: sudlud Date: Thu, 8 Jan 2026 10:49:19 +0100 Subject: [PATCH] Revert "fix(Core/Player): Make sure OnEquip spells from items are added after revive" (#24352) --- src/server/game/Entities/Item/Item.h | 7 ------- src/server/game/Entities/Item/ItemTemplate.h | 8 -------- .../game/Entities/Player/PlayerUpdates.cpp | 17 ----------------- src/server/game/Entities/Unit/Unit.cpp | 2 +- 4 files changed, 1 insertion(+), 33 deletions(-) diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index 9f467fad7..51289594b 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -272,13 +272,6 @@ public: [[nodiscard]] uint32 GetCount() const { return GetUInt32Value(ITEM_FIELD_STACK_COUNT); } void SetCount(uint32 value) { SetUInt32Value(ITEM_FIELD_STACK_COUNT, value); } [[nodiscard]] uint32 GetMaxStackCount() const { return GetTemplate()->GetMaxStackSize(); } - void GetOnEquipSpellIDs(std::vector& spellEquipID) const - { - if (ItemTemplate const* proto = GetTemplate()) - proto->GetOnEquipSpellIDs(spellEquipID); - else - spellEquipID.clear(); - }; // Checks if this item has sockets, whether built-in or added by an upgrade. [[nodiscard]] bool HasSocket() const; [[nodiscard]] uint8 GetGemCountWithID(uint32 GemID) const; diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index b073cb107..b41616c11 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -729,14 +729,6 @@ struct ItemTemplate return (Stackable == 2147483647 || Stackable <= 0) ? uint32(0x7FFFFFFF - 1) : uint32(Stackable); } - void GetOnEquipSpellIDs(std::vector& spellEquipID) const - { - spellEquipID.clear(); - for (auto const& spell : Spells) - if (spell.SpellId && spell.SpellTrigger == ITEM_SPELLTRIGGER_ON_EQUIP) - spellEquipID.push_back(spell.SpellId); - } - [[nodiscard]] float getDPS() const { if (Delay == 0) diff --git a/src/server/game/Entities/Player/PlayerUpdates.cpp b/src/server/game/Entities/Player/PlayerUpdates.cpp index 469131a65..b0c7a8521 100644 --- a/src/server/game/Entities/Player/PlayerUpdates.cpp +++ b/src/server/game/Entities/Player/PlayerUpdates.cpp @@ -319,23 +319,6 @@ void Player::Update(uint32 p_time) { m_regenTimer += p_time; RegenerateAll(); - - // Apply buffs from items with Apply on Equip trigger if they are not present. - for (uint8 i = 0; i < INVENTORY_SLOT_BAG_END; ++i) - { - if (!m_items[i]) - continue; - - std::vector spellIDs; - m_items[i]->GetOnEquipSpellIDs(spellIDs); - bool apply = false; - for (uint32 spellID : spellIDs) - if (!apply && !HasAura(spellID)) - apply = true; - - if (apply) - ApplyItemEquipSpell(m_items[i], true, false); - } } if (m_deathState == DeathState::JustDied) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 615732f59..5fb2c5925 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -14711,7 +14711,7 @@ void Unit::setDeathState(DeathState s, bool despawn) } else if (s == DeathState::JustRespawned) { - RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); // clear skinnable for creature and player (at battleground) + RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); // clear skinnable for creature and player (at battleground) } }