private static function GetWeaponForAttack($attackType, $nonBroken, $useable) { $slot = 0; switch ($attackType) { case BASE_ATTACK: $slot = EQUIPMENT_SLOT_MAINHAND; break; case OFF_ATTACK: $slot = EQUIPMENT_SLOT_OFFHAND; break; case RANGED_ATTACK: $slot = EQUIPMENT_SLOT_RANGED; break; default: return null; } $item = WoW_Characters::GetItem($slot); if (!$item || $item->GetProto()->class != ITEM_CLASS_WEAPON) { return null; } if ($useable && !self::CanUseEquippedWeapon($attackType)) { return null; } if ($nonBroken && $item->IsBroken()) { return null; } return $item; }