void main() { int nDC = 22; 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_COLD); if(nSave == 0) { if(GetHasFeat(FEAT_IMPROVED_EVASION, oTarget)) { } } else if(nSave == 1 && !GetHasFeat(FEAT_EVASION, oTarget) && !GetHasFeat(FEAT_IMPROVED_EVASION, oTarget)) { } oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTargetLocation, TRUE); } effect eVisual = EffectVisualEffect(VFX_FNF_FIREBALL); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, lTargetLocation); }