protected override void OnTick() { if (m_Owner.Deleted) { Stop(); return; } if (0.2 < Utility.RandomDouble()) { return; } if (m_Owner.Combatant != null) { IPooledEnumerable eable = m_Owner.GetMobilesInRange(8); foreach (Mobile m in eable) { // exclude the obvious if (m == m_Owner) { continue; } if (m.AccessLevel != AccessLevel.Player) { continue; } if (m_Owner.CanBeHarmful(m)) { if (m_Owner.AuraTarget(m) == true) { m_ToDrain.Add(m); } } } eable.Free(); foreach (Mobile m in m_ToDrain) { m_Owner.DoHarmful(m); m.FixedParticles(0x374A, 10, 15, 5013, 0x455, 0, EffectLayer.Waist); m.PlaySound(0x231); m.SendMessage("You feel a sharp pain in your head!"); if (m_Owner != null) { m_Owner.Hits += 20; } m.Damage(20, m_Owner); } m_ToDrain.Clear(); } }