#include "NW_I0_GENERIC" void ExplodeAtLocation(location lTarget, int nDamage, int nSaveDC = 30, float fRadius = 3.) { ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), lTarget); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), lTarget); object oObject = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTarget); do { int nDamageAfterSave = GetReflexAdjustedDamage(nDamage, oObject, nSaveDC); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageAfterSave, DAMAGE_TYPE_FIRE), oObject); } while ((oObject = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTarget)) != OBJECT_INVALID); } void main() { SpeakString("NOOOOO! NOOOOOO! AAARGH! I CURSE YOUR SOUL FOR ETERNITY!!!!!" ); location lSource = GetLocation(OBJECT_SELF); DelayCommand(0.5, ExplodeAtLocation(lSource, d10(10)+100)); if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) { SignalEvent(OBJECT_SELF, EventUserDefined(1007)); } ExecuteScript("sf_xp", OBJECT_SELF); }