void main() { object oCaster = OBJECT_SELF; float fDelay; effect eExplode = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_MIND); effect eVis = EffectVisualEffect(VFX_FNF_HORRID_WILTING); effect eShk = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); effect eDam; location lTarget = GetLocation(OBJECT_SELF); int bdam = d20(8) + 50; int pdam = d10(8) + 50; ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eShk, lTarget); object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lTarget, TRUE, OBJECT_TYPE_CREATURE); while (GetIsObjectValid(oTarget)) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_PIERCING), oTarget, 0.0f); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(bdam, DAMAGE_TYPE_SONIC), oTarget, 0.0f); DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE); } CreateObject(OBJECT_TYPE_CREATURE, "purpworm", lTarget, TRUE); ActionDoCommand(PlaySound("al_na_lavapillr1")); DestroyObject(OBJECT_SELF); }