void main() { int nDC = 22; int nTargetVisual = VFX_IMP_SLOW; int nImpactVisual = VFX_FNF_LOS_NORMAL_20; location lTargetLocation = GetItemActivatedTargetLocation(); object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTargetLocation, TRUE); while(oTarget != OBJECT_INVALID) { int nSave = ReflexSave(oTarget, nDC, SAVING_THROW_TYPE_NONE); if(nSave == 0) { effect eSlow = EffectSlow(); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, oTarget, RoundsToSeconds(5)); effect eVisual = EffectVisualEffect(nTargetVisual); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTargetLocation, TRUE); } effect eVisual = EffectVisualEffect(nImpactVisual); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, lTargetLocation); }