diff options
author | Shauren <shauren.trinity@gmail.com> | 2017-11-26 23:34:20 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-11-26 23:34:20 +0100 |
commit | 463ed5e1ac6881696124cfaa2eeb49b95a082914 (patch) | |
tree | 80c4ecb9e1c9e077fb0ef067f578886402c5d499 | |
parent | 00e3023b3263d5743e0df09118bab4b28bfd3608 (diff) |
Core/Items: Fixed sending unlocked items by mail
Closes #20976
-rw-r--r-- | src/server/game/Handlers/MailHandler.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index fc283e1d3df..3d1b995cd1e 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -298,6 +298,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData) item->DeleteFromInventoryDB(trans); // deletes item from character's inventory item->SetOwnerGUID(receiverGuid); + item->SetState(ITEM_CHANGED); item->SaveToDB(trans); // recursive and not have transaction guard into self, item not in inventory and can be save standalone draft.AddItem(item); @@ -693,7 +694,7 @@ void WorldSession::HandleGetMailList(WorldPacket& recvData) // durability data << uint32((item ? item->GetUInt32Value(ITEM_FIELD_DURABILITY) : 0)); // unknown wotlk - data << uint8(0); + data << uint8((item && !item->IsLocked() ? 1 : 0)); } ++realCount; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 75c97b005af..559a0504a8f 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1964,7 +1964,10 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex) if (gameObjTarget) SendLoot(guid, LOOT_SKINNING); else if (itemTarget) + { itemTarget->SetFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_UNLOCKED); + itemTarget->SetState(ITEM_CHANGED, itemTarget->GetOwner()); + } // not allow use skill grow at item base open if (!m_CastItem && skillId != SKILL_NONE) |