protected override void OnTick() { if (m_Item.Deleted) { return; } if (!m_Item.Visible) { if (m_InLOS && m_CanFit) { m_Item.Visible = true; } else { m_Item.Delete(); } if (!m_Item.Deleted) { m_Item.ProcessDelta(); Effects.SendLocationParticles(EffectItem.Create(m_Item.Location, m_Item.Map, EffectItem.DefaultDuration), m_Item.ItemID, 9, 10, 5029); } } else if (DateTime.Now > m_Item.m_End) { m_Item.Delete(); Stop(); } else { Map map = m_Item.Map; BaseCreature caster = m_Item.m_Caster; if (map != null && caster != null) { foreach (Mobile m in m_Item.GetMobilesInRange(0)) { if ((m.Z + 16) > m_Item.Z && (m_Item.Z + 12) > m.Z && ValidTarget(caster, m)) { m_Queue.Enqueue(m); } } while (m_Queue.Count > 0) { Mobile m = (Mobile)m_Queue.Dequeue(); if (caster.Name == ("an ice dragon")) { caster.Animate(19, 10, 2, true, false, 0); return; } if (caster.Name == ("a fire dragon")) { caster.Animate(19, 10, 2, true, false, 0); return; } caster.DoHarmful(m); caster.BreathDealDamage(m); caster.AOESpecialEffect(m); /* * int damage = Utility.Random(8) + 3; * * if (!Core.AOS && m.CheckSkill(SkillName.MagicResist, 0.0, 30.0)) * { * damage = 1; * * m.SendLocalizedMessage(501783); // You feel yourself resisting magical energy. * } * * AOS.Damage(m, caster, damage, 0, 0, 100, 0, 0); */ m.PlaySound(0x15); } } } }