예제 #1
0
        public override void Write()
        {
            _worldPacket.WritePackedGuid(QuestGiverGUID);
            _worldPacket.WritePackedGuid(InformUnit);
            _worldPacket.WriteUInt32(QuestID);
            _worldPacket.WriteInt32(QuestPackageID);
            _worldPacket.WriteUInt32(PortraitGiver);
            _worldPacket.WriteUInt32(PortraitGiverMount);
            _worldPacket.WriteUInt32(PortraitTurnIn);
            _worldPacket.WriteUInt32(QuestFlags[0]); // Flags
            _worldPacket.WriteUInt32(QuestFlags[1]); // FlagsEx
            _worldPacket.WriteUInt32(SuggestedPartyMembers);
            _worldPacket.WriteInt32(LearnSpells.Count);
            _worldPacket.WriteInt32(DescEmotes.Count);
            _worldPacket.WriteInt32(Objectives.Count);
            _worldPacket.WriteInt32(QuestStartItemID);
            _worldPacket.WriteInt32(QuestSessionBonus);

            foreach (uint spell in LearnSpells)
            {
                _worldPacket.WriteUInt32(spell);
            }

            foreach (QuestDescEmote emote in DescEmotes)
            {
                _worldPacket.WriteUInt32(emote.Type);
                _worldPacket.WriteUInt32(emote.Delay);
            }

            foreach (QuestObjectiveSimple obj in Objectives)
            {
                _worldPacket.WriteUInt32(obj.Id);
                _worldPacket.WriteInt32(obj.ObjectID);
                _worldPacket.WriteInt32(obj.Amount);
                _worldPacket.WriteUInt8(obj.Type);
            }

            _worldPacket.WriteBits(QuestTitle.GetByteCount(), 9);
            _worldPacket.WriteBits(DescriptionText.GetByteCount(), 12);
            _worldPacket.WriteBits(LogDescription.GetByteCount(), 12);
            _worldPacket.WriteBits(PortraitGiverText.GetByteCount(), 10);
            _worldPacket.WriteBits(PortraitGiverName.GetByteCount(), 8);
            _worldPacket.WriteBits(PortraitTurnInText.GetByteCount(), 10);
            _worldPacket.WriteBits(PortraitTurnInName.GetByteCount(), 8);
            _worldPacket.WriteBit(AutoLaunched);
            _worldPacket.WriteBit(false);   // unused in client
            _worldPacket.WriteBit(StartCheat);
            _worldPacket.WriteBit(DisplayPopup);
            _worldPacket.FlushBits();

            Rewards.Write(_worldPacket);

            _worldPacket.WriteString(QuestTitle);
            _worldPacket.WriteString(DescriptionText);
            _worldPacket.WriteString(LogDescription);
            _worldPacket.WriteString(PortraitGiverText);
            _worldPacket.WriteString(PortraitGiverName);
            _worldPacket.WriteString(PortraitTurnInText);
            _worldPacket.WriteString(PortraitTurnInName);
        }
예제 #2
0
        public override void Write()
        {
            _worldPacket.WriteUInt32(QuestID);
            _worldPacket.WritePackedGuid(InitiatedBy);

            _worldPacket.WriteBits(QuestTitle.GetByteCount(), 10);
            _worldPacket.WriteString(QuestTitle);
        }
예제 #3
0
        public override void Write()
        {
            _worldPacket.WritePackedGuid(SenderGUID);
            _worldPacket.WriteUInt8((byte)Result);

            _worldPacket.WriteBits(QuestTitle.GetByteCount(), 9);
            _worldPacket.FlushBits();

            _worldPacket.WriteString(QuestTitle);
        }
예제 #4
0
        public override void Write()
        {
            QuestData.Write(_worldPacket);
            _worldPacket.WriteInt32(QuestPackageID);
            _worldPacket.WriteInt32(PortraitGiver);
            _worldPacket.WriteInt32(PortraitTurnIn);

            _worldPacket.WriteBits(QuestTitle.GetByteCount(), 9);
            _worldPacket.WriteBits(RewardText.GetByteCount(), 12);
            _worldPacket.WriteBits(PortraitGiverText.GetByteCount(), 10);
            _worldPacket.WriteBits(PortraitGiverName.GetByteCount(), 8);
            _worldPacket.WriteBits(PortraitTurnInText.GetByteCount(), 10);
            _worldPacket.WriteBits(PortraitTurnInName.GetByteCount(), 8);

            _worldPacket.WriteString(QuestTitle);
            _worldPacket.WriteString(RewardText);
            _worldPacket.WriteString(PortraitGiverText);
            _worldPacket.WriteString(PortraitGiverName);
            _worldPacket.WriteString(PortraitTurnInText);
            _worldPacket.WriteString(PortraitTurnInName);
        }
예제 #5
0
        public override void Write()
        {
            _worldPacket.WritePackedGuid(QuestGiverGUID);
            _worldPacket.WriteInt32(QuestGiverCreatureID);
            _worldPacket.WriteInt32(QuestID);
            _worldPacket.WriteInt32(CompEmoteDelay);
            _worldPacket.WriteInt32(CompEmoteType);
            _worldPacket.WriteUInt32(QuestFlags[0]);
            _worldPacket.WriteUInt32(QuestFlags[1]);
            _worldPacket.WriteInt32(SuggestPartyMembers);
            _worldPacket.WriteInt32(MoneyToGet);
            _worldPacket.WriteInt32(Collect.Count);
            _worldPacket.WriteInt32(Currency.Count);
            _worldPacket.WriteInt32(StatusFlags);

            foreach (QuestObjectiveCollect obj in Collect)
            {
                _worldPacket.WriteInt32(obj.ObjectID);
                _worldPacket.WriteInt32(obj.Amount);
                _worldPacket.WriteUInt32(obj.Flags);
            }
            foreach (QuestCurrency cur in Currency)
            {
                _worldPacket.WriteInt32(cur.CurrencyID);
                _worldPacket.WriteInt32(cur.Amount);
            }

            _worldPacket.WriteBit(AutoLaunched);
            _worldPacket.FlushBits();

            _worldPacket.WriteBits(QuestTitle.GetByteCount(), 9);
            _worldPacket.WriteBits(CompletionText.GetByteCount(), 12);

            _worldPacket.WriteString(QuestTitle);
            _worldPacket.WriteString(CompletionText);
        }
예제 #6
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (QuestId != 0UL)
            {
                hash ^= QuestId.GetHashCode();
            }
            if (QuestTitle.Length != 0)
            {
                hash ^= QuestTitle.GetHashCode();
            }
            if (QuestId2 != 0UL)
            {
                hash ^= QuestId2.GetHashCode();
            }
            if (U4 != 0L)
            {
                hash ^= U4.GetHashCode();
            }
            if (U05 != 0UL)
            {
                hash ^= U05.GetHashCode();
            }
            if (U06 != 0UL)
            {
                hash ^= U06.GetHashCode();
            }
            if (QuestId3 != 0UL)
            {
                hash ^= QuestId3.GetHashCode();
            }
            if (U08 != 0UL)
            {
                hash ^= U08.GetHashCode();
            }
            if (U09 != 0UL)
            {
                hash ^= U09.GetHashCode();
            }
            if (U10.Length != 0)
            {
                hash ^= U10.GetHashCode();
            }
            if (U11 != 0UL)
            {
                hash ^= U11.GetHashCode();
            }
            if (U12 != 0UL)
            {
                hash ^= U12.GetHashCode();
            }
            if (U13 != 0UL)
            {
                hash ^= U13.GetHashCode();
            }
            if (U14.Length != 0)
            {
                hash ^= U14.GetHashCode();
            }
            if (U15 != 0UL)
            {
                hash ^= U15.GetHashCode();
            }
            if (U16 != 0UL)
            {
                hash ^= U16.GetHashCode();
            }
            if (U17 != 0UL)
            {
                hash ^= U17.GetHashCode();
            }
            if (U18 != 0UL)
            {
                hash ^= U18.GetHashCode();
            }
            if (U19 != 0UL)
            {
                hash ^= U19.GetHashCode();
            }
            if (U20 != 0UL)
            {
                hash ^= U20.GetHashCode();
            }
            if (U21 != 0UL)
            {
                hash ^= U21.GetHashCode();
            }
            if (U22 != 0UL)
            {
                hash ^= U22.GetHashCode();
            }
            if (QuestId4 != 0UL)
            {
                hash ^= QuestId4.GetHashCode();
            }
            if (U24 != 0UL)
            {
                hash ^= U24.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }