In an attempt to eliminate as many variables as possible, I did the following:
Create a new module
Create a custom torch called “torch” (name, tag, & resref) and also “shield” and “dagger”
Create the following script:
void OnEquip(object oItem, object oEquippedBy);
int nEvent = GetUserDefinedItemEventNumber();
void OnEquip(object oItem, object oEquippedBy)
Result: Item always equips but is grayed out in inventory. When unequipped from the toolbar, it almost never unequips unless replaced by a different item, e.g. torch by shield and vice versa.
What am I missing here? Can anyone else follow the same steps and get the same or different result?