#include "x2_inc_switches" void main() { int nEvent =GetUserDefinedItemEventNumber(); object oPC; object oItem; if (nEvent == X2_ITEM_EVENT_ACTIVATE) { oPC = GetItemActivator(); oItem = GetItemActivated(); location locDark = GetItemActivatedTargetLocation(); object oTarget = GetItemActivatedTarget(); if(GetIsObjectValid(oTarget) == TRUE) { AssignCommand(oPC, ActionCastSpellAtObject(SPELL_DARKNESS, oTarget, METAMAGIC_NONE, TRUE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)); } else { AssignCommand(oPC, ActionCastSpellAtLocation(SPELL_DARKNESS, locDark, METAMAGIC_NONE, TRUE, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)); } } }