diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b72333f397a..6da3d5e72ec 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -10232,9 +10232,13 @@ Item* Player::GetWeaponForAttack(WeaponAttackType attackType, bool useable /*= f item = GetUseableItemByPos(INVENTORY_SLOT_BAG_0, slot); else item = GetItemByPos(INVENTORY_SLOT_BAG_0, slot); + if (!item || item->GetTemplate()->GetClass() != ITEM_CLASS_WEAPON) return nullptr; + if ((attackType == RANGED_ATTACK) != item->GetTemplate()->IsRangedWeapon()) + return nullptr; + if (!useable) return item; |