Esempio n. 1
0
            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();
                }
            }