protected override void OnTick() { if ((m_MovingTrap.Xa - 5) < m_MovingTrap.X) { m_MovingTrap.X--; List <Mobile> list = new List <Mobile>(); foreach (Mobile mob in m_MovingTrap.GetMobilesInRange(1)) { Point3D traploc = m_MovingTrap.GetWorldLocation(); //Point3D mobloc = mob.Location(); if ((mob.X == (m_MovingTrap.X + 1) & mob.Y == m_MovingTrap.Y || mob.X == (m_MovingTrap.X - 1) & mob.Y == m_MovingTrap.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_MovingTrap.m_XPlus = new XPlus(m_MovingTrap); m_MovingTrap.m_XPlus.Start(); } }
public void RecordLocation() { Point3D loc = m_MovingTrap.GetWorldLocation(); m_MovingTrap.Xa = loc.X; }