aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Item/Item.cpp27
-rw-r--r--src/server/game/Entities/Item/Item.h2
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp27
-rw-r--r--src/server/game/Handlers/AuthHandler.cpp1
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)