BritainKnights/Scripts/Engines/Party/AddPartyTarget.cs

47 lines
No EOL
1.6 KiB
C#

using System;
using Server;
using Server.Targeting;
namespace Server.Engines.PartySystem
{
public class AddPartyTarget : Target
{
public AddPartyTarget( Mobile from ) : base( 8, false, TargetFlags.None )
{
from.SendLocalizedMessage( 1005454 ); // Who would you like to add to your party?
}
protected override void OnTarget( Mobile from, object o )
{
if ( o is Mobile )
{
Mobile m = (Mobile)o;
Party p = Party.Get( from );
Party mp = Party.Get( m );
if ( from == m )
from.SendLocalizedMessage( 1005439 ); // You cannot add yourself to a party.
else if ( p != null && p.Leader != from )
from.SendLocalizedMessage( 1005453 ); // You may only add members to the party if you are the leader.
else if ( m.Party is Mobile )
return;
else if ( p != null && (p.Members.Count + p.Candidates.Count) >= Party.Capacity )
from.SendLocalizedMessage( 1008095 ); // You may only have 10 in your party (this includes candidates).
else if ( !m.Player && m.Body.IsHuman )
m.SayTo( from, 1005443 ); // Nay, I would rather stay here and watch a nail rust.
else if ( !m.Player )
from.SendLocalizedMessage( 1005444 ); // The creature ignores your offer.
else if ( mp != null && mp == p )
from.SendLocalizedMessage( 1005440 ); // This person is already in your party!
else if ( mp != null )
from.SendLocalizedMessage( 1005441 ); // This person is already in a party!
else
Party.Invite( from, m );
}
else
{
from.SendLocalizedMessage( 1005442 ); // You may only add living things to your party!
}
}
}
}