From 590b5ce1c501e5025371b2896aa72de325e5d1d3 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sun, 17 Aug 2025 23:05:05 -0400 Subject: [PATCH] Core/Items: Classify wands as ranged weapons (fixes wand shooting) Port From (https://github.com/TrinityCore/TrinityCore/commit/bd87381eab32f0e136675ade503fe70285590803) --- Source/Game/Entities/Item/Item.cs | 1 - Source/Game/Entities/Item/ItemTemplate.cs | 17 +++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Source/Game/Entities/Item/Item.cs b/Source/Game/Entities/Item/Item.cs index 716414fd8..07244487e 100644 --- a/Source/Game/Entities/Item/Item.cs +++ b/Source/Game/Entities/Item/Item.cs @@ -2718,7 +2718,6 @@ namespace Game.Entities public bool IsPotion() { return GetTemplate().IsPotion(); } public bool IsVellum() { return GetTemplate().IsVellum(); } public bool IsConjuredConsumable() { return GetTemplate().IsConjuredConsumable(); } - public bool IsRangedWeapon() { return GetTemplate().IsRangedWeapon(); } public ItemQuality GetQuality() { return _bonusData.Quality; } public int GetItemStatType(uint index) { diff --git a/Source/Game/Entities/Item/ItemTemplate.cs b/Source/Game/Entities/Item/ItemTemplate.cs index 6fd96e92f..276553c63 100644 --- a/Source/Game/Entities/Item/ItemTemplate.cs +++ b/Source/Game/Entities/Item/ItemTemplate.cs @@ -335,8 +335,21 @@ namespace Game.Entities public bool IsRangedWeapon() { - return IsWeapon() && (GetSubClass() == (uint)ItemSubClassWeapon.Bow || - GetSubClass() == (uint)ItemSubClassWeapon.Gun || GetSubClass() == (uint)ItemSubClassWeapon.Crossbow); + if (!IsWeapon()) + return false; + + switch ((ItemSubClassWeapon)GetSubClass()) + { + case ItemSubClassWeapon.Bow: + case ItemSubClassWeapon.Gun: + case ItemSubClassWeapon.Crossbow: + case ItemSubClassWeapon.Wand: + return true; + default: + break; + } + + return false; } public uint MaxDurability;