void Blowup(object oArea) { object oStuff=GetFirstObjectInArea(oArea); while (GetIsObjectValid(oStuff)) { if ((GetTag(oStuff)=="skullball") && (GetObjectType(oStuff)==OBJECT_TYPE_PLACEABLE)) DestroyObject(oStuff,0.0); oStuff=GetNextObjectInArea(oArea); } } void Damage(object oTarget) { object oArea=GetArea(OBJECT_SELF); effect eEffect = EffectDamage(650, DAMAGE_TYPE_FIRE, DAMAGE_POWER_ENERGY); object oPC=GetFirstPC(); location lPC = GetLocation(oPC); while (GetIsObjectValid(oPC)) { if (GetArea(oPC)==oArea) { ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), lPC); } oPC=GetNextPC(); } Blowup(oArea); } void main() { object oTarget = GetEnteringObject(); if (!GetIsPC(oTarget)) return; if (GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oTarget)) != "nw_it_torch001") { return; } else { Damage(oTarget); } }