diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Item/Item.cpp | 27 | ||||
-rw-r--r-- | src/server/game/Entities/Item/Item.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 27 | ||||
-rw-r--r-- | src/server/game/Handlers/AuthHandler.cpp | 1 |
4 files changed, 2 insertions, 55 deletions
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index a3b1187cbff..7fa5ba63d37 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -2000,32 +2000,9 @@ bool Item::IsValidTransmogrificationTarget() const if (proto->HasFlag(ITEM_FLAG2_NO_ALTER_ITEM_VISUAL)) return false; - if (!HasStats()) - return false; - return true; } -bool Item::HasStats() const -{ - ItemTemplate const* proto = GetTemplate(); - Player const* owner = GetOwner(); - for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) - if ((owner ? GetItemStatValue(i, owner) : proto->GetStatPercentEditor(i)) != 0) - return true; - - return false; -} - -bool Item::HasStats(WorldPackets::Item::ItemInstance const& /*itemInstance*/, BonusData const* bonus) -{ - for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) - if (bonus->StatPercentEditor[i] != 0) - return true; - - return false; -} - enum class ItemTransmogrificationWeaponCategory : uint8 { // Two-handed @@ -2035,7 +2012,6 @@ enum class ItemTransmogrificationWeaponCategory : uint8 // One-handed AXE_MACE_SWORD_1H, DAGGER, - FIST, INVALID }; @@ -2060,11 +2036,10 @@ static ItemTransmogrificationWeaponCategory GetTransmogrificationWeaponCategory( case ITEM_SUBCLASS_WEAPON_MACE: case ITEM_SUBCLASS_WEAPON_SWORD: case ITEM_SUBCLASS_WEAPON_WARGLAIVES: + case ITEM_SUBCLASS_WEAPON_FIST_WEAPON: return ItemTransmogrificationWeaponCategory::AXE_MACE_SWORD_1H; case ITEM_SUBCLASS_WEAPON_DAGGER: return ItemTransmogrificationWeaponCategory::DAGGER; - case ITEM_SUBCLASS_WEAPON_FIST_WEAPON: - return ItemTransmogrificationWeaponCategory::FIST; default: break; } diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index 94e8d5bb698..d8d03f1e709 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -396,8 +396,6 @@ class TC_GAME_API Item : public Object uint32 GetScriptId() const { return GetTemplate()->ScriptId; } bool IsValidTransmogrificationTarget() const; - bool HasStats() const; - static bool HasStats(WorldPackets::Item::ItemInstance const& itemInstance, BonusData const* bonus); static bool CanTransmogrifyItemWithItem(Item const* item, ItemModifiedAppearanceEntry const* itemModifiedAppearance); uint32 GetBuyPrice(Player const* owner, bool& standardPrice) const; static uint32 GetBuyPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel, bool& standardPrice); diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index 1df163a8e10..b8ccaf82045 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -582,22 +582,6 @@ void CollectionMgr::SaveAccountItemAppearances(LoginDatabaseTransaction trans) } } -constexpr uint32 PlayerClassByArmorSubclass[MAX_ITEM_SUBCLASS_ARMOR] = -{ - CLASSMASK_ALL_PLAYABLE, //ITEM_SUBCLASS_ARMOR_MISCELLANEOUS - (1 << (CLASS_PRIEST - 1)) | (1 << (CLASS_MAGE - 1)) | (1 << (CLASS_WARLOCK - 1)), //ITEM_SUBCLASS_ARMOR_CLOTH - (1 << (CLASS_ROGUE - 1)) | (1 << (CLASS_MONK - 1)) | (1 << (CLASS_DRUID - 1)) | (1 << (CLASS_DEMON_HUNTER - 1)), //ITEM_SUBCLASS_ARMOR_LEATHER - (1 << (CLASS_HUNTER - 1)) | (1 << (CLASS_SHAMAN - 1)) | (1 << (CLASS_EVOKER - 1)), //ITEM_SUBCLASS_ARMOR_MAIL - (1 << (CLASS_WARRIOR - 1)) | (1 << (CLASS_PALADIN - 1)) | (1 << (CLASS_DEATH_KNIGHT - 1)), //ITEM_SUBCLASS_ARMOR_PLATE - CLASSMASK_ALL_PLAYABLE, //ITEM_SUBCLASS_ARMOR_BUCKLER - (1 << (CLASS_WARRIOR - 1)) | (1 << (CLASS_PALADIN - 1)) | (1 << (CLASS_SHAMAN - 1)), //ITEM_SUBCLASS_ARMOR_SHIELD - 1 << (CLASS_PALADIN - 1), //ITEM_SUBCLASS_ARMOR_LIBRAM - 1 << (CLASS_DRUID - 1), //ITEM_SUBCLASS_ARMOR_IDOL - 1 << (CLASS_SHAMAN - 1), //ITEM_SUBCLASS_ARMOR_TOTEM - 1 << (CLASS_DEATH_KNIGHT - 1), //ITEM_SUBCLASS_ARMOR_SIGIL - (1 << (CLASS_PALADIN - 1)) | (1 << (CLASS_DEATH_KNIGHT - 1)) | (1 << (CLASS_SHAMAN - 1)) | (1 << (CLASS_DRUID - 1)), //ITEM_SUBCLASS_ARMOR_RELIC -}; - void CollectionMgr::AddItemAppearance(Item* item) { if (!item->IsSoulBound()) @@ -686,12 +670,6 @@ bool CollectionMgr::CanAddAppearance(ItemModifiedAppearanceEntry const* itemModi if (!itemTemplate) return false; - if (!_owner->GetPlayer()) - return false; - - if (_owner->GetPlayer()->CanUseItem(itemTemplate) != EQUIP_ERR_OK) - return false; - if (itemTemplate->HasFlag(ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL) || itemTemplate->GetQuality() == ITEM_QUALITY_ARTIFACT) return false; @@ -699,8 +677,6 @@ bool CollectionMgr::CanAddAppearance(ItemModifiedAppearanceEntry const* itemModi { case ITEM_CLASS_WEAPON: { - if (!(_owner->GetPlayer()->GetWeaponProficiency() & (1 << itemTemplate->GetSubClass()))) - return false; if (itemTemplate->GetSubClass() == ITEM_SUBCLASS_WEAPON_EXOTIC || itemTemplate->GetSubClass() == ITEM_SUBCLASS_WEAPON_EXOTIC2 || itemTemplate->GetSubClass() == ITEM_SUBCLASS_WEAPON_MISCELLANEOUS || @@ -735,9 +711,6 @@ bool CollectionMgr::CanAddAppearance(ItemModifiedAppearanceEntry const* itemModi default: return false; } - if (itemTemplate->GetInventoryType() != INVTYPE_CLOAK) - if (!(PlayerClassByArmorSubclass[itemTemplate->GetSubClass()] & _owner->GetPlayer()->GetClassMask())) - return false; break; } default: diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp index 081d986d6f6..78e786387cf 100644 --- a/src/server/game/Handlers/AuthHandler.cpp +++ b/src/server/game/Handlers/AuthHandler.cpp @@ -27,6 +27,7 @@ #include "RealmList.h" #include "SystemPackets.h" #include "Timezone.h" +#include "Util.h" #include "World.h" void WorldSession::SendAuthResponse(uint32 code, bool queued, uint32 queuePos) |