Code:
Func IsSpecialItem($aItem)
Local $ModelID = DllStructGetData($aItem, "ModelID")
Local $ExtraID = DllStructGetData($aItem, "ExtraID")
Switch $ModelID
Case 5656, 18345, 21491, 37765, 21833, 28433, 28434
Return True ; Special - ToT etc
Case 22751
Return True ; Lockpicks
Case 27047
Return True ; Glacial Stones
Case 21796, 21797, 21798, 21799, 21800, 21801, 21802, 21803, 21804, 21805, 21786, 21787, 21788, 21789, 21790, 21791, 21792, 21793, 21794, 21795
Return True ; All Tomes
Case 146
If $ExtraID = 10 Or $ExtraID = 12 Then
Return True ; Black & White Dye
Else
Return False
EndIf
Case 24353, 24354
Return True ; Chalice & Rin Relics
Case 27052
Return True ; Superb Charr Carving
Case 522
Return True ; Dark Remains
Case 3746, 22280
Return True ; Underworld/FOW Scroll
Case 819
Return True ; Dragon Root
Case 35121
Return True ; War supplies
Case 36985
Return True ; Commendations
EndSwitch
Return False
EndFunc
Code:
Func IsPcon($aItem)
Local $ModelID = DllStructGetData($aItem, "ModelID")
Switch $ModelID
Case 910, 2513, 5585, 6049, 6366, 6367, 6375, 15477, 19171, 19172, 19173, 22190, 24593, 28435, 30855, 31145, 31146, 35124, 36682
Return True ; Alcohol
Case 6376, 21809, 21810, 21813, 36683
Return True ; Party
Case 21492, 21812, 22269, 22644, 22752, 28436
Return True ; Sweets
Case 6370, 21488, 21489, 22191, 26784, 28433
Return True ; DP Removal
Case 15837, 21490, 30648, 31020
Return True ; Tonic
EndSwitch
Return False
Code:
Func GetRarity($aItem)
If Not IsDllStruct($aItem) Then $aItem = GetItemByItemID($aItem)
Local $lPtr = DllStructGetData($aItem, 'NameString')
If $lPtr == 0 Then Return
Return MemoryRead($lPtr, 'ushort')
EndFunc ;==>GetRarity