- bool __cdecl ItemExpensiveList(int ItemPointer)
- {
- bool Result;
- // ----
- DWORD Arg2 = *(DWORD*)(ItemPointer + 2);
- DWORD ItemLevel = ( (Arg2 >> 3) & 0xF );
- BYTE Arg24 = *(BYTE*)(ItemPointer + 24) % 4;
- BYTE Attribute2 = *(BYTE*)(ItemPointer + 23);
- // ----
- short ItemID = *(short*)ItemPointer;
- // ----
- if( ItemID == ITEM(0, 19)
- || ItemID == ITEM(4, 18)
- || ItemID == ITEM(2, 13)
- || ItemID == ITEM(5, 10)
- || ItemID >= ITEM(12, 0) && ItemID <= ITEM(12, 6)
- || ItemID == ITEM(12, 15)
- || ItemID == ITEM(12, 30)
- || ItemID == ITEM(12, 31)
- || ItemID >= ITEM(12, 36) && ItemID <= ITEM(12, 43)
- || ItemID >= ITEM(12, 180) && ItemID <= ITEM(12, 185)
- || ItemID == ITEM(13, 3)
- || ItemID == ITEM(13, 4)
- || ItemID == ITEM(13, 5)
- || ItemID == ITEM(13, 14)
- || ItemID == ITEM(13, 15)
- || ItemID == ITEM(13, 19)
- || ItemID == ITEM(13, 30)
- || ItemID == ITEM(13, 31)
- || ItemID >= ITEM(13, 34) && ItemID <= ITEM(13, 37)
- || ItemID == ITEM(13, 52)
- || ItemID == ITEM(13, 53)
- || ItemID == ITEM(13, 64)
- || ItemID == ITEM(13, 65)
- || ItemID == ITEM(13, 76)
- || ItemID == ITEM(13, 80)
- || ItemID == ITEM(13, 122)
- || ItemID == ITEM(13, 123)
- || ItemID == ITEM(14, 13)
- || ItemID == ITEM(14, 14)
- || ItemID == ITEM(14, 16)
- || ItemID == ITEM(14, 22)
- || ItemID == ITEM(14, 31)
- || ItemID >= ITEM(14, 41) && ItemID <= ITEM(14, 44)
- || ItemID >= ITEM(14, 180) && ItemID <= ITEM(14, 189)
- || Arg24 == 1
- || Arg24 == 2
- || ItemLevel > 6 && ItemID < ITEM(12, 0)
- || Attribute2 & 0x3F)
- {
- Result = true;
- }
- else
- {
- Result = false;
- }
- // ----
- //TDEBUG("[%s] Pointer: [%d:%d], Result: %d", __FUNCTION__, ItemID / 512, ItemID % 512, Result);
- // ----
- return Result;
- }
- //---------------------------------------------------------------------------