public static void CreateCreatureGroup(NPC npc1, NPC npc2, int initialSize) { CharacterGroup group = new CharacterGroup(GroupType.NPC, npc1.UniqueID, npc2.UniqueID) { initialSize = initialSize }; group.groupNPCList.Add(npc1); group.groupNPCList.Add(npc2); npc1.Group = group; npc2.Group = group; if (npc1.IsSpellUser || npc2.IsSpellUser) { group.groupMemberWarmedSpells = new List <Tuple <int, int> >(); } }
public static void CreatePlayerGroup(int groupLeaderID, int firstMemberID) // creates a group of players { CharacterGroup group = new CharacterGroup(GroupType.Player, groupLeaderID, firstMemberID); group.SendGroupMessage("You have formed a group."); PC pc = PC.GetOnline(groupLeaderID); if (pc != null) { pc.Group = group; } pc = PC.GetOnline(firstMemberID); if (pc != null) { pc.Group = group; } }
public static bool AcceptPlayerGroupInvite(Character ch, int groupLeaderID) { CharacterGroup group = GetPlayerGroupByGroupLeaderID(groupLeaderID); if (group != null) { if (group.GroupMemberIDList.Count >= MAX_GROUP_SIZE) { ch.WriteToDisplay("The group is full."); return(true); } else { group.GroupMemberIDList.Add(ch.UniqueID); group.SendGroupMessage(ch.Name + " has joined the group.", ch.UniqueID); ch.Group = group; ch.WriteToDisplay("You have joined the group."); return(true); } } return(false); }