private static void HandleInvite(GameSession session, PacketReader packet) { string targetPlayer = packet.ReadUnicodeString(); Guild guild = GameServer.GuildManager.GetGuildByLeader(session.Player); if (guild == null) { return; } Player playerInvited = GameServer.Storage.GetPlayerByName(targetPlayer); if (playerInvited == null) { session.Send(GuildPacket.ErrorNotice((byte)GuildErrorNotice.UnableToSendInvite)); } if (playerInvited.Guild != null) { session.Send(GuildPacket.ErrorNotice((byte)GuildErrorNotice.CharacterIsAlreadyInAGuild)); return; } if (guild.Members.Count >= guild.Capacity) { //TODO Plug in 'full guild' error packets return; } session.Send(GuildPacket.InviteConfirm(playerInvited)); playerInvited.Session.Send(GuildPacket.SendInvite(session.Player, playerInvited, guild)); }