JAVASCRIPT-AND-AURAS
Auras have a special usage of "self". For auras, "self" is not the aura but rather the mobile that the aura is affecting. For example, if a player "barry" looks at "orc" who is wielding a "sword" with a "detect-invisibility" aura on it, then the JavaScript objects would have the following values:
self the orc actor barry aura detect-invisibility aura aura.on the sword
If the "detect-invisibility" aura was on the "orc" directly (rather than the "sword", then the values would be:
self the orc actor barry aura detect-invisibility aura aura.on the orc
Because of this, if "aura.on == self" then the aura is innate, otherwise it is from an item.
This special use of "self" allows you to place mobile behaviors on an aura and still have them work properly.