From d94d10aa9fbd33ed4c35cc08920b1cd0bb820efd Mon Sep 17 00:00:00 2001 From: sudlud Date: Mon, 19 Feb 2024 21:23:13 +0100 Subject: fix(Core): Prevent gift wrapping of limited duration items (#18334) fix(Core): Prevent gift wrapping of items with duration - remaining duration is not beeing stored in character_gifts - gift wrapping of items with duration preserved them infinitely --- src/server/game/Handlers/ItemHandler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/server/game/Handlers/ItemHandler.cpp') diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 655418b48a..7307b6e8f4 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1346,6 +1346,12 @@ void WorldSession::HandleWrapItemOpcode(WorldPacket& recvData) return; } + if (item->GetTemplate()->Duration > 0) + { + _player->SendEquipError(EQUIP_ERR_UNIQUE_CANT_BE_WRAPPED, item, nullptr); + return; + } + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_GIFT); -- cgit v1.2.3