diff options
author | Смердокрыл <smerdokryl@gmail.com> | 2022-06-16 16:58:33 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-16 15:58:33 +0200 |
commit | 5517208b67cf5c0b8054067cee081e968e66694d (patch) | |
tree | 2a8869411c841a59192e74053bd174dda7e4b95d | |
parent | 756f9287581367aeca9d1c2a0f97d3b4b36ac7a5 (diff) |
Core/Player: Distinguish between ranged and non-ranged weapons in GetWeaponForAttack (#27992)
-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; |