public virtual bool AcceptEscorter(Mobile m) { EDI dest = GetDestination(); if (dest == null) { return(false); } Mobile escorter = GetEscorter(); if (escorter != null || !m.Alive) { return(false); } TalkingBaseEscortable escortable = (TalkingBaseEscortable)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 + m_EscortDelay) >= DateTime.UtcNow) { int minutes = (int)Math.Ceiling(((((PlayerMobile)m).LastEscortTime + m_EscortDelay) - DateTime.UtcNow).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.UtcNow; if (m is PlayerMobile) { ((PlayerMobile)m).LastEscortTime = DateTime.UtcNow; } Say( "Lead on! Payment will be made when we arrive in {0}.", (dest.Name == "Ocllo" && m.Map == Map.Trammel) ? "Haven" : dest.Name); m_EscortTable[m] = this; StartFollow(); return(true); } return(false); }