diff --git a/src/game/ItemHandler.cpp b/src/game/ItemHandler.cpp index 3d9122fd7..eccafd4ae 100644 --- a/src/game/ItemHandler.cpp +++ b/src/game/ItemHandler.cpp @@ -260,6 +260,13 @@ void WorldSession::HandleDestroyItemOpcode( WorldPacket & recv_data ) return; } + // checked at client side and not have server side appropriate error output + if (pItem->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_INDESTRUCTIBLE)) + { + _player->SendEquipError( EQUIP_ERR_CANT_DROP_SOULBOUND, NULL, NULL ); + return; + } + if(count) { uint32 i_count = count; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 4e6d753cf..0c4859fe1 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -19576,6 +19576,9 @@ void Player::SendInstanceResetWarning( uint32 mapid, Difficulty difficulty, uint void Player::ApplyEquipCooldown( Item * pItem ) { + if (pItem->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_NO_EQUIP_COOLDOWN)) + return; + for(int i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i) { _Spell const& spellData = pItem->GetProto()->Spells[i]; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a5455013f..5baec1240 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10179" + #define REVISION_NR "10180" #endif // __REVISION_NR_H__