Server.Mobiles.BaseEscortable.AcceptEscorter C# (CSharp) Method

AcceptEscorter() public method

public AcceptEscorter ( Mobile m ) : bool
m Mobile
return bool
		public virtual bool AcceptEscorter(Mobile m)
		{
			EDI dest = GetDestination();

			if (dest == null)
				return false;

			Mobile escorter = GetEscorter();

			if (escorter != null || !m.Alive)
				return false;

			BaseEscortable escortable = (BaseEscortable)m_EscortTable[m];

			if (escortable != null && !escortable.Deleted && escortable.GetEscorter() == m)
			{
				Say("I see you already have an escort.");
				return false;
			}
			else if (m is PlayerMobile && (((PlayerMobile)m).LastEscortTime + EscortDelay) >= DateTime.Now)
			{
				int minutes = (int)Math.Ceiling(((((PlayerMobile)m).LastEscortTime + EscortDelay) - DateTime.Now).TotalMinutes);

				Say("You must rest {0} minute{1} before we set out on this journey.", minutes, minutes == 1 ? "" : "s");
				return false;
			}
			else if (SetControlMaster(m))
			{
				m_LastSeenEscorter = DateTime.Now;

				if (m is PlayerMobile)
					((PlayerMobile)m).LastEscortTime = DateTime.Now;

				Say("Lead on! Payment will be made when we arrive in {0}.", dest.Name);
				m_EscortTable[m] = this;
				StartFollow();
				return true;
			}

			return false;
		}

Usage Example

Ejemplo n.º 1
0
 public override void OnClick()
 {
     m_Mobile.AcceptEscorter(m_From);
 }