diff options
author | sudlud <sudlud@users.noreply.github.com> | 2024-02-19 21:23:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-19 21:23:13 +0100 |
commit | d94d10aa9fbd33ed4c35cc08920b1cd0bb820efd (patch) | |
tree | 5b5bd638e98ba4cf55aec30e1840856f9c809ab2 /src | |
parent | 7e419fba5a0f75bafe8d5f3c7245df24f3310f63 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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); |