void thorns() { location lThorns = GetLocation(OBJECT_SELF); float fRadius = 1.5; object oVictim = GetFirstObjectInShape(SHAPE_SPHERE,fRadius,lThorns); while(oVictim != OBJECT_INVALID) { // create a random amount of damage - dice thrown is d4 effect eDamage =EffectDamage(d10(),DAMAGE_TYPE_PIERCING); effect ePoison=ExtraordinaryEffect(eDamage); effect eVis=EffectVisualEffect(VFX_IMP_POISON_S); effect eLink=EffectLinkEffects(ePoison,eVis); ApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oVictim); oVictim = GetNextObjectInShape(SHAPE_SPHERE,fRadius,lThorns); } } void main() { thorns(); DelayCommand(2.0,thorns()); DelayCommand(4.0,thorns()); }