protected override void OnTick() { if ((m_DragonSpikeTrap.Xa + 5) > m_DragonSpikeTrap.X) { m_DragonSpikeTrap.X++; List <Mobile> list = new List <Mobile>(); foreach (Mobile mob in m_DragonSpikeTrap.GetMobilesInRange(1)) { Point3D traploc = m_DragonSpikeTrap.GetWorldLocation(); //Point3D mobloc = mob.X(); if ((mob.X == (m_DragonSpikeTrap.X + 1) & mob.Y == m_DragonSpikeTrap.Y || mob.X == (m_DragonSpikeTrap.X - 1) & mob.Y == m_DragonSpikeTrap.Y) & mob.Alive) { //if (mob is Mobile & mob.Alive) list.Add(mob); } } foreach (Mobile mob in list) { if (mob is PlayerMobile) { mob.PlaySound(mob.Female ? 0x327 : 0x437); mob.Animate(20, 1, 1, true, false, 0); Spells.SpellHelper.Damage(TimeSpan.FromTicks(1), mob, mob, Utility.RandomMinMax(45, 50)); } else { BaseCreature bc = (BaseCreature)mob; bc.PlaySound(bc.GetAngerSound()); if (bc.Body.IsAnimal) { bc.Animate(10, 5, 1, true, false, 0); Spells.SpellHelper.Damage(TimeSpan.FromTicks(1), mob, mob, Utility.RandomMinMax(0, 0)); } else if (bc.Body.IsMonster) { bc.Animate(18, 5, 1, true, false, 0); Spells.SpellHelper.Damage(TimeSpan.FromTicks(1), mob, mob, Utility.RandomMinMax(0, 0)); } } } Start(); } else { Stop(); m_DragonSpikeTrap.m_XMinus = new XMinus(m_DragonSpikeTrap); m_DragonSpikeTrap.m_XMinus.Start(); } }
public void RecordLocation() { Point3D loc = m_DragonSpikeTrap.GetWorldLocation(); m_DragonSpikeTrap.Xa = loc.X; }