Exemplo n.º 1
0
        /// <summary>
        /// Handles an incoming request or answer to raid ready check
        /// </summary>
        /// <param name="client">the Session the incoming packet belongs to</param>
        /// <param name="packet">the full packet</param>
        public static void RaidReadyCheck(IRealmClient client, RealmPacketIn packet)
        {
            GroupMember groupMember = client.ActiveCharacter.GroupMember;

            if (groupMember == null)
            {
                return;
            }
            RaidGroup group = groupMember.Group as RaidGroup;

            if (group == null)
            {
                return;
            }
            if (packet.RemainingLength == 0)
            {
                if (!group.CheckPrivs(groupMember, GroupPrivs.Assistant))
                {
                    return;
                }
                group.SendReadyCheckRequest(groupMember);
            }
            else
            {
                ReadyCheckStatus status = (ReadyCheckStatus)packet.ReadByte();
                group.SendReadyCheckResponse(groupMember, status);
            }
        }