protected override void OnTick() { if ((m_BoulderTrap2.Ya + 5) > m_BoulderTrap2.Y) { m_BoulderTrap2.Y++; List <Mobile> list = new List <Mobile>(); foreach (Mobile mob in m_BoulderTrap2.GetMobilesInRange(1)) { Point3D traploc = m_BoulderTrap2.GetWorldLocation(); //Point3D mobloc = mob.Y(); if ((mob.Y == (m_BoulderTrap2.Y + 1) & mob.X == m_BoulderTrap2.X || mob.Y == (m_BoulderTrap2.Y - 1) & mob.X == m_BoulderTrap2.X) & 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_BoulderTrap2.m_XMinus = new XMinus(m_BoulderTrap2); m_BoulderTrap2.m_XMinus.Start(); } }
public void RecordLocation() { Point3D loc = m_BoulderTrap2.GetWorldLocation(); m_BoulderTrap2.Ya = loc.Y; }