diff --git a/src/Transmogrification.cpp b/src/Transmogrification.cpp index 20756c1..4a0d8c5 100644 --- a/src/Transmogrification.cpp +++ b/src/Transmogrification.cpp @@ -714,6 +714,16 @@ bool Transmogrification::IsAllowedQuality(uint32 quality) const } } +bool Transmogrification::CanNeverTransmog(ItemTemplate const* itemTemplate) +{ + return (itemTemplate->InventoryType == INVTYPE_BAG || + itemTemplate->InventoryType == INVTYPE_RELIC || + itemTemplate->InventoryType == INVTYPE_FINGER || + itemTemplate->InventoryType == INVTYPE_TRINKET || + itemTemplate->InventoryType == INVTYPE_AMMO || + itemTemplate->InventoryType == INVTYPE_QUIVER); +} + void Transmogrification::LoadConfig(bool reload) { #ifdef PRESETS diff --git a/src/Transmogrification.h b/src/Transmogrification.h index 303840c..ce44c08 100644 --- a/src/Transmogrification.h +++ b/src/Transmogrification.h @@ -146,6 +146,7 @@ public: bool IsNotAllowed(uint32 entry) const; bool IsAllowedQuality(uint32 quality) const; bool IsRangedWeapon(uint32 Class, uint32 SubClass) const; + bool CanNeverTransmog(ItemTemplate const* itemTemplate); void LoadConfig(bool reload); // thread unsafe diff --git a/src/cs_transmog.cpp b/src/cs_transmog.cpp index e4225f0..efaa7d1 100644 --- a/src/cs_transmog.cpp +++ b/src/cs_transmog.cpp @@ -133,7 +133,7 @@ public: if (sTransmogrification->AddCollectedAppearance(accountId, itemId)) { // Notify target of new item in appearance collection - if (target && !(target->GetPlayerSetting("mod-transmog", SETTING_HIDE_TRANSMOG).value)) + if (target && !(target->GetPlayerSetting("mod-transmog", SETTING_HIDE_TRANSMOG).value) && !sTransmogrification->CanNeverTransmog(itemTemplate)) { ChatHandler(target->GetSession()).PSendSysMessage(R"(|c%s|Hitem:%u:0:0:0:0:0:0:0:0|h[%s]|h|r has been added to your appearance collection.)", itemQuality.c_str(), itemId, itemName.c_str()); } diff --git a/src/transmog_scripts.cpp b/src/transmog_scripts.cpp index e3dc7d0..c3727f7 100644 --- a/src/transmog_scripts.cpp +++ b/src/transmog_scripts.cpp @@ -546,7 +546,7 @@ private: std::stringstream tempStream; tempStream << std::hex << ItemQualityColors[itemTemplate->Quality]; std::string itemQuality = tempStream.str(); - bool showChatMessage = !(player->GetPlayerSetting("mod-transmog", SETTING_HIDE_TRANSMOG).value); + bool showChatMessage = !(player->GetPlayerSetting("mod-transmog", SETTING_HIDE_TRANSMOG).value) && !sT->CanNeverTransmog(itemTemplate); if (sT->AddCollectedAppearance(accountId, itemId)) { if (showChatMessage)