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 m) { var p = Party.Get(from); var 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) { } 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! } } } }