public CarveTimer(Mobile from, BattleNet net) : base(TimeSpan.FromSeconds(4.0)) { c_Timer = net.m_Timer; n_Net = net; c_Mobile = from; }
public ReleaseTimer(Mobile m, BattleNet bn, Double duration) : base(TimeSpan.FromSeconds(duration)) // 15.0 - Time the target cannot walk { m_BattleNet = bn; m_Mobile = m; mobile = m; net = bn; }
private void MoveNet(object state) { object[] states = (object[])state; BattleNet bn = (BattleNet)states[0]; PlayerMobile pm = (PlayerMobile)states[1]; if ((Math.Abs(bn.Y - m_EndY) == 0 || (Math.Abs(bn.X - m_EndX) / Math.Abs(bn.Y - m_EndY)) >= 2) && bn.Movable) { if ((bn.X - m_EndX) < 0) { bn.X++; } else if ((bn.X - m_EndX) > 0) { bn.X--; } } else if ((Math.Abs(bn.X - m_EndX) == 0 || (Math.Abs(bn.Y - m_EndY) / Math.Abs(bn.X - m_EndX)) > 2) && bn.Movable) { if ((bn.Y - m_EndY) < 0) { bn.Y++; } else if ((bn.Y - m_EndY) > 0) { bn.Y--; } } else if (bn.Movable) { if ((bn.X - m_EndX) < 0) { bn.X++; } else if ((bn.X - m_EndX) > 0) { bn.X--; } if ((bn.Y - m_EndY) < 0) { bn.Y++; } else if ((bn.Y - m_EndY) > 0) { bn.Y--; } } if (bn.Y == m_EndY && bn.X == m_EndX && bn.Movable) { bn.ItemID = 3530; } foreach (Mobile m in bn.GetMobilesInRange(0)) { if (m != null && m != pm && m.CantWalk != true && m.AccessLevel <= pm.AccessLevel) { if ((m is BaseCreature && TAVUtilities.CalculateLevel(m) < 45) || m is TeiravonMobile) { double duration = 12.0; duration -= (TAVUtilities.CalculateLevel(m) * .25); m.CantWalk = true; bn.Movable = false; m_Timer = new ReleaseTimer(m, bn); bn.ItemID = 7843; m.LocalOverheadMessage(Server.Network.MessageType.Regular, MessageHue, true, "You've been ensnared in a net!"); m.Emote("*Struggles under the heavy netting*"); //m.Location = bn.Location; m_Timer.Start(); } else { m.Emote("*Shreds the netting effortlessly*"); bn.Delete(); } } } }