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;
}