39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using System;
|
|
using Server.Mobiles;
|
|
using Server.Engines.PartySystem;
|
|
|
|
namespace Server.ContextMenus
|
|
{
|
|
public class AddToPartyEntry : ContextMenuEntry
|
|
{
|
|
private Mobile m_From;
|
|
private Mobile m_Target;
|
|
|
|
public AddToPartyEntry( Mobile from, Mobile target ) : base( 0197, 12 )
|
|
{
|
|
m_From = from;
|
|
m_Target = target;
|
|
}
|
|
|
|
public override void OnClick()
|
|
{
|
|
Party p = Party.Get( m_From );
|
|
Party mp = Party.Get( m_Target );
|
|
|
|
if ( m_From == m_Target )
|
|
m_From.SendLocalizedMessage( 1005439 ); // You cannot add yourself to a party.
|
|
else if ( p != null && p.Leader != m_From )
|
|
m_From.SendLocalizedMessage( 1005453 ); // You may only add members to the party if you are the leader.
|
|
else if ( p != null && (p.Members.Count + p.Candidates.Count) >= Party.Capacity )
|
|
m_From.SendLocalizedMessage( 1008095 ); // You may only have 10 in your party (this includes candidates).
|
|
else if ( !m_Target.Player )
|
|
m_From.SendLocalizedMessage( 1005444 ); // The creature ignores your offer.
|
|
else if ( mp != null && mp == p )
|
|
m_From.SendLocalizedMessage( 1005440 ); // This person is already in your party!
|
|
else if ( mp != null )
|
|
m_From.SendLocalizedMessage( 1005441 ); // This person is already in a party!
|
|
else
|
|
Party.Invite( m_From, m_Target );
|
|
}
|
|
}
|
|
}
|