You'll need Shadowkeeper (easiest lising of item names + filenames) and Near Infinity (for the hex offset values).
COPY_EXISTING ~belt10.itm~ ~override~ // Belt of Inertial Barrier
~clck05.itm~ ~override~ // Cloak of Balduran
~clck30.itm~ ~override~ // Cloak of Bravery
~clck03.itm~ ~override~ // Cloak of Displacement
~clck26.itm~ ~override~ // Cloak of Mirroring
~clck01.itm~ ~override~ // Cloak of Protection+1
~clck02.itm~ ~override~ // Cloak of Protection+2
~clck24.itm~ ~override~ // Cloak of Reflection
~clck25.itm~ ~override~ // Cloak of the Stars
~clck28.itm~ ~override~ // Shadow Thief Cloak
READ_BYTE "0x2f" "usab2"
WRITE_BYTE "0x2f" ("%usab2%" BAND "0b11111101") // make selected items usable by Wizard Slayers
BUT_ONLY_IF_IT_CHANGES
Pull up an item, any item, in Near Infinity, and find the "Unusable by" sections: The first one is for Race/Class/Alignment, and the other four are for kits. The check marks always mean no: If the item carries a check-mark flag in any area that matches a character's traits, then that character cannot use the item. We want to allow usability, so we'll be removing flags. Find the Unusable by section that contains the Wizard Slayer: It's at Hex Offset 2f (go to the Options tab at the top of the screen, and make sure "Show Hex Offsets" is selected). So we want to mess with the flags from 2f; that's why we READ_BYTE the flags from 0x2f, and store them in memory as usab2, which is just a temporary variable name. Now we change the flags with the operator BAND, which means Bitwise AND: It goes through each of the 8 bits in "usab2" and "11111101", and if there is a 1 (a flag) in both of those bits, the result is also a flag. If not, the result is NO flag. It's tough to explain, let me give you an example.
11110000 11110000
BAND 10101010 BOR 10101010
------------- ------------
10100000 11111010
Each of the columns adds straight down: In the BAND equation, if there is a 1 in both rows, the result is 1; if not, the result is 0. I've included BAND's counterpart, BOR (Bitwise OR), for comparison. In the BOR equation, if there is a 1 in either row, the result is 1; otherwise, the result is 0.
THIS IS IMPORTANT: (Largely because it's counter-intuitive.)
You'll see that in Near Infinity, section 2f is marked
Berserker (0)
Wizard Slayer (1)
Kensai (2)
Cavalier (3)
Inquisitor (4)
Undead Hunter (5)
Abjurer (6)
Conjurer (7)
Just remember that this is BACKWARDS, and you'll be fine. The Wizard Slayer, which is listed as being second from the first, is actually second from last when it comes to actually dealing with the binary flags. So, an item flagged against Berserkers, Wizard Slayers, and Undead Hunters will have a 2f value of 00100011. Let's run the above code on this item.
READ_BYTE "0x2f" "usab2" // grab the value 00100011 and store it in memory
00100011
BAND 11111101
-------------
00100001
WRITE_BYTE "0x2f" ("%usab2%" BAND "0b11111101") // write the value 00100001 in the same location you just read from
BUT_ONLY_IF_IT_CHANGES // if nothing changed, don't bother doing anything at all
And once that operation is complete, the item is still flagged against Berserkers and Undead Hunters--but not Wizard Slayers.