示例#1
0
        public void Write(WorldPacket data)
        {
            data.WriteInt32(MailID);
            data.WriteUInt8(SenderType);
            data.WriteUInt64(Cod);
            data.WriteInt32(StationeryID);
            data.WriteUInt64(SentMoney);
            data.WriteInt32(Flags);
            data.WriteFloat(DaysLeft);
            data.WriteInt32(MailTemplateID);
            data.WriteUInt32(Attachments.Count);

            data.WriteBit(SenderCharacter.HasValue);
            data.WriteBit(AltSenderID.HasValue);
            data.WriteBits(Subject.GetByteCount(), 8);
            data.WriteBits(Body.GetByteCount(), 13);
            data.FlushBits();

            Attachments.ForEach(p => p.Write(data));

            if (SenderCharacter.HasValue)
            {
                data.WritePackedGuid(SenderCharacter.Value);
            }

            if (AltSenderID.HasValue)
            {
                data.WriteInt32(AltSenderID.Value);
            }

            data.WriteString(Subject);
            data.WriteString(Body);
        }
示例#2
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt64(EventID);
     data.WriteUInt64(InviteID);
     data.WriteUInt8((byte)Status);
     data.WriteUInt8((byte)Moderator);
     data.WriteUInt8(InviteType);
     data.WritePackedGuid(InviterGuid);
 }
示例#3
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt32(MarketID);
     data.WriteUInt32(SellerNPC);
     data.WriteUInt32(Quantity);
     data.WriteUInt64(MinBid);
     data.WriteUInt64(MinIncrement);
     data.WriteUInt64(CurrentBid);
     data.WriteUInt32(SecondsRemaining);
     data.WriteUInt32(NumBids);
     Item.Write(data);
     data.WriteBit(HighBid);
     data.FlushBits();
 }
示例#4
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt64(EventID);
            data.WriteUInt8((byte)EventType);
            data.WritePackedTime(Date);
            data.WriteUInt32((uint)Flags);
            data.WriteInt32(TextureID);
            data.WriteUInt64(EventClubID);
            data.WritePackedGuid(OwnerGuid);

            data.WriteBits(EventName.GetByteCount(), 8);
            data.FlushBits();
            data.WriteString(EventName);
        }
示例#5
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt32(ItemID);
            data.WriteUInt32(Unk4);
            data.WriteUInt32(AchievementsRequired.Count);
            data.WriteUInt64(RaceMask);
            data.WriteUInt32(MinGuildLevel);
            data.WriteUInt32(MinGuildRep);
            data.WriteUInt64(Cost);

            foreach (var achievementId in AchievementsRequired)
            {
                data.WriteUInt32(achievementId);
            }
        }
示例#6
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt64(InstanceID);
     data.WriteInt32(MapID);
     data.WriteUInt32(DifficultyID);
     data.WriteUInt32((uint)ExpireTime);
 }
示例#7
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt64(DbID);
            data.WriteUInt32(GarrFollowerID);
            data.WriteUInt32(Quality);
            data.WriteUInt32(FollowerLevel);
            data.WriteUInt32(ItemLevelWeapon);
            data.WriteUInt32(ItemLevelArmor);
            data.WriteUInt32(Xp);
            data.WriteUInt32(Durability);
            data.WriteUInt32(CurrentBuildingID);
            data.WriteUInt32(CurrentMissionID);
            data.WriteInt32(AbilityID.Count);
            data.WriteUInt32(ZoneSupportSpellID);
            data.WriteUInt32(FollowerStatus);
            data.WriteInt32(Health);
            data.WriteInt8(BoardIndex);
            data.WriteInt32(HealingTimestamp);

            AbilityID.ForEach(ability => data.WriteUInt32(ability.Id));

            data.WriteBits(CustomName.GetByteCount(), 7);
            data.FlushBits();
            data.WriteString(CustomName);
        }
示例#8
0
        public void Write(WorldPacket data)
        {
            data.WriteBit(IsDeleted);
            data.WriteBits(Name.GetByteCount(), 6);

            for (byte i = 0; i < SharedConst.MaxDeclinedNameCases; ++i)
            {
                data.WriteBits(DeclinedNames.name[i].GetByteCount(), 7);
            }

            data.FlushBits();
            for (byte i = 0; i < SharedConst.MaxDeclinedNameCases; ++i)
            {
                data.WriteString(DeclinedNames.name[i]);
            }

            data.WritePackedGuid(AccountID);
            data.WritePackedGuid(BnetAccountID);
            data.WritePackedGuid(GuidActual);
            data.WriteUInt64(GuildClubMemberID);
            data.WriteUInt32(VirtualRealmAddress);
            data.WriteUInt8((byte)RaceID);
            data.WriteUInt8((byte)Sex);
            data.WriteUInt8((byte)ClassID);
            data.WriteUInt8(Level);
            data.WriteString(Name);
        }
        public void Write(WorldPacket data)
        {
            data.WriteUInt32(Id);
            data.WriteUInt64(Quantity);
            data.WritePackedGuid(Player);
            data.WritePackedTime(Date);
            data.WriteUInt32(TimeFromStart);
            data.WriteUInt32(TimeFromCreate);
            data.WriteBits(Flags, 4);
            data.WriteBit(RafAcceptanceID.HasValue);
            data.FlushBits();

            if (RafAcceptanceID.HasValue)
            {
                data.WriteUInt64(RafAcceptanceID.Value);
            }
        }
示例#10
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt32(Mask);
            data.WriteUInt32(RewardMoney);
            data.WriteUInt32(RewardXP);
            data.WriteInt32(Item.Count);
            data.WriteInt32(Currency.Count);
            data.WriteInt32(BonusCurrency.Count);

            // Item
            foreach (var item in Item)
            {
                data.WriteUInt32(item.ItemID);
                data.WriteUInt32(item.Quantity);
            }

            // Currency
            foreach (var currency in Currency)
            {
                data.WriteUInt32(currency.CurrencyID);
                data.WriteUInt32(currency.Quantity);
            }

            // BonusCurrency
            foreach (var bonusCurrency in BonusCurrency)
            {
                data.WriteUInt32(bonusCurrency.CurrencyID);
                data.WriteUInt32(bonusCurrency.Quantity);
            }

            data.WriteBit(RewardSpellID.HasValue);
            data.WriteBit(Unused1.HasValue);
            data.WriteBit(Unused2.HasValue);
            data.WriteBit(Honor.HasValue);
            data.FlushBits();

            if (RewardSpellID.HasValue)
            {
                data.WriteInt32(RewardSpellID.Value);
            }

            if (Unused1.HasValue)
            {
                data.WriteInt32(Unused1.Value);
            }

            if (Unused2.HasValue)
            {
                data.WriteUInt64(Unused2.Value);
            }

            if (Honor.HasValue)
            {
                data.WriteInt32(Honor.Value);
            }
        }
示例#11
0
        public void Write(WorldPacket data)
        {
            Item.Write(data);
            data.WriteInt32(Count);
            data.WriteInt32(Charges);
            data.WriteInt32(Flags);
            data.WriteInt32(AuctionItemID);
            data.WritePackedGuid(Owner);
            data.WriteUInt64(MinBid);
            data.WriteUInt64(MinIncrement);
            data.WriteUInt64(BuyoutPrice);
            data.WriteInt32(DurationLeft);
            data.WriteUInt8(DeleteReason);
            data.WriteBits(Enchantments.Count, 4);
            data.WriteBits(Gems.Count, 2);
            data.WriteBit(CensorServerSideInfo);
            data.WriteBit(CensorBidInfo);
            data.FlushBits();

            foreach (ItemGemData gem in Gems)
            {
                gem.Write(data);
            }

            foreach (ItemEnchantData enchant in Enchantments)
            {
                enchant.Write(data);
            }

            if (!CensorServerSideInfo)
            {
                data.WritePackedGuid(ItemGuid);
                data.WritePackedGuid(OwnerAccountID);
                data.WriteUInt32(EndTime);
            }

            if (!CensorBidInfo)
            {
                data.WritePackedGuid(Bidder);
                data.WriteUInt64(BidAmount);
            }
        }
示例#12
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt32(Id);
     data.WriteUInt64(Quantity);
     data.WritePackedGuid(Player);
     data.WritePackedTime(Date);
     data.WriteUInt32(TimeFromStart);
     data.WriteUInt32(TimeFromCreate);
     data.WriteBits(Flags, 4);
     data.FlushBits();
 }
示例#13
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt32(ChoiceItemCount);

            for (int i = 0; i < SharedConst.QuestRewardChoicesCount; ++i)
            {
                data.WriteUInt32(ChoiceItems[i].ItemID);
                data.WriteUInt32(ChoiceItems[i].Quantity);
            }

            data.WriteUInt32(ItemCount);

            for (int i = 0; i < SharedConst.QuestRewardItemCount; ++i)
            {
                data.WriteUInt32(ItemID[i]);
                data.WriteUInt32(ItemQty[i]);
            }

            data.WriteUInt32(Money);
            data.WriteUInt32(XP);
            data.WriteUInt64(ArtifactXP);
            data.WriteUInt32(ArtifactCategoryID);
            data.WriteUInt32(Honor);
            data.WriteUInt32(Title);
            data.WriteUInt32(FactionFlags);

            for (int i = 0; i < SharedConst.QuestRewardReputationsCount; ++i)
            {
                data.WriteUInt32(FactionID[i]);
                data.WriteInt32(FactionValue[i]);
                data.WriteInt32(FactionOverride[i]);
                data.WriteInt32(FactionCapIn[i]);
            }

            foreach (var id in SpellCompletionDisplayID)
            {
                data.WriteInt32(id);
            }

            data.WriteUInt32(SpellCompletionID);

            for (int i = 0; i < SharedConst.QuestRewardCurrencyCount; ++i)
            {
                data.WriteUInt32(CurrencyID[i]);
                data.WriteUInt32(CurrencyQty[i]);
            }

            data.WriteUInt32(SkillLineID);
            data.WriteUInt32(NumSkillUps);
            data.WriteInt32(RewardID);

            data.WriteBit(IsBoostSpell);
            data.FlushBits();
        }
示例#14
0
 public void Write(WorldPacket data)
 {
     Ticket.Write(data);
     data.WriteUInt64(QueueID);
     data.WriteUInt8(RangeMin);
     data.WriteUInt8(RangeMax);
     data.WriteUInt8(TeamSize);
     data.WriteUInt32(InstanceID);
     data.WriteBit(RegisteredMatch);
     data.WriteBit(TournamentRules);
     data.FlushBits();
 }
示例#15
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt32(MapID);
            data.WriteUInt32(DifficultyID);
            data.WriteUInt64(InstanceID);
            data.WriteUInt32(TimeRemaining);
            data.WriteUInt32(CompletedMask);

            data.WriteBit(Locked);
            data.WriteBit(Extended);
            data.FlushBits();
        }
示例#16
0
            public void Write(WorldPacket data)
            {
                data.WritePackedGuid(Guid);
                data.WriteUInt64(GuildClubMemberID);
                data.WriteUInt8(ListPosition);
                data.WriteUInt8(RaceId);
                data.WriteUInt8((byte)ClassId);
                data.WriteUInt8(SexId);
                data.WriteUInt8(SkinId);
                data.WriteUInt8(FaceId);
                data.WriteUInt8(HairStyle);
                data.WriteUInt8(HairColor);
                data.WriteUInt8(FacialHair);

                foreach (var display in CustomDisplay)
                {
                    data.WriteUInt8(display);
                }

                data.WriteUInt8(ExperienceLevel);
                data.WriteUInt32(ZoneId);
                data.WriteUInt32(MapId);
                data.WriteVector3(PreloadPos);
                data.WritePackedGuid(GuildGuid);
                data.WriteUInt32((uint)Flags);
                data.WriteUInt32((uint)Flags2);
                data.WriteUInt32(Flags3);
                data.WriteUInt32(PetCreatureDisplayId);
                data.WriteUInt32(PetExperienceLevel);
                data.WriteUInt32(PetCreatureFamilyId);

                data.WriteUInt32(ProfessionIds[0]);
                data.WriteUInt32(ProfessionIds[1]);

                foreach (var visualItem in VisualItems)
                {
                    visualItem.Write(data);
                }

                data.WriteUInt32(LastPlayedTime);
                data.WriteUInt16(SpecID);
                data.WriteUInt32(Unknown703);
                data.WriteUInt32(LastLoginVersion);
                data.WriteUInt32(Flags4);
                data.WriteBits(Name.GetByteCount(), 6);
                data.WriteBit(FirstLogin);
                data.WriteBit(BoostInProgress);
                data.WriteBits(unkWod61x, 5);
                data.FlushBits();

                data.WriteString(Name);
            }
示例#17
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt64(DbID);
     data.WriteUInt32(MissionRecID);
     data.WriteUInt32((uint)OfferTime);
     data.WriteUInt32(OfferDuration);
     data.WriteUInt32((uint)StartTime);
     data.WriteUInt32(TravelDuration);
     data.WriteUInt32(MissionDuration);
     data.WriteUInt32(MissionState);
     data.WriteUInt32(Unknown1);
     data.WriteUInt32(Unknown2);
 }
示例#18
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt64(Money);
            for (int i = 0; i < 5; ++i)
            {
                Items[i].Write(data);
            }

            for (int i = 0; i < 5; ++i)
            {
                Currencies[i].Write(data);
            }
        }
示例#19
0
        public void Write(WorldPacket data)
        {
            data.WriteUInt64(EventID);
            data.WriteUInt8(EventType);
            data.WritePackedTime(Date);
            data.WriteUInt32(Flags);
            data.WriteInt32(TextureID);
            data.WritePackedGuid(EventGuildID);
            data.WritePackedGuid(OwnerGuid);

            data.WriteBits(EventName.Length, 8);
            data.FlushBits();
            data.WriteString(EventName);
        }
示例#20
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt64(DbID);
     data.WriteUInt32(MissionRecID);
     data.WriteUInt32((uint)OfferTime);
     data.WriteUInt32(OfferDuration);
     data.WriteUInt32((uint)StartTime);
     data.WriteUInt32(TravelDuration);
     data.WriteUInt32(MissionDuration);
     data.WriteUInt32(MissionState);
     data.WriteUInt32(SuccessChance);
     data.WriteUInt32(Flags);
     data.WriteFloat(MissionScalar);
 }
示例#21
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt32(MuID);
     data.WriteInt32(Type);
     data.WriteInt32(Quantity);
     data.WriteUInt64(Price);
     data.WriteInt32(Durability);
     data.WriteInt32(StackCount);
     data.WriteInt32(ExtendedCostID);
     data.WriteInt32(PlayerConditionFailed);
     Item.Write(data);
     data.WriteBit(DoNotFilterOnVendor);
     data.FlushBits();
 }
示例#22
0
        public void Write(WorldPacket data)
        {
            data.WritePackedGuid(Guid);
            data.WriteUInt64(InviteID);

            data.WriteUInt8(Level);
            data.WriteUInt8(Status);
            data.WriteUInt8(Moderator);
            data.WriteUInt8(InviteType);

            data.WritePackedTime(ResponseTime);

            data.WriteBits(Notes.Length, 8);
            data.FlushBits();
            data.WriteString(Notes);
        }
示例#23
0
        public void Write(WorldPacket data)
        {
            data.WritePackedGuid(Guid);
            data.WriteUInt64(InviteID);

            data.WriteUInt8(Level);
            data.WriteUInt8((byte)Status);
            data.WriteUInt8((byte)Moderator);
            data.WriteUInt8(InviteType);

            data.WritePackedTime(ResponseTime);

            data.WriteBits(Notes.GetByteCount(), 8);
            data.FlushBits();
            data.WriteString(Notes);
        }
示例#24
0
        public void Write(WorldPacket data)
        {
            Ticket.Write(data);
            data.WriteInt32(QueueID.Count);
            data.WriteUInt8(RangeMin);
            data.WriteUInt8(RangeMax);
            data.WriteUInt8(TeamSize);
            data.WriteUInt32(InstanceID);

            foreach (ulong queueID in QueueID)
            {
                data.WriteUInt64(queueID);
            }

            data.WriteBit(RegisteredMatch);
            data.WriteBit(TournamentRules);
            data.FlushBits();
        }
        public void Write(WorldPacket data)
        {
            Key.Write(data);
            data.WriteInt32(TotalQuantity);
            data.WriteInt32(RequiredLevel);
            data.WriteUInt64(MinPrice);
            data.WriteInt32(ItemModifiedAppearanceIDs.Count);
            if (!ItemModifiedAppearanceIDs.Empty())
            {
                foreach (int id in ItemModifiedAppearanceIDs)
                {
                    data.WriteInt32(id);
                }
            }

            data.WriteBit(MaxBattlePetQuality.HasValue);
            data.WriteBit(MaxBattlePetLevel.HasValue);
            data.WriteBit(BattlePetBreedID.HasValue);
            data.WriteBit(Unk901_1.HasValue);
            data.WriteBit(ContainsOwnerItem);
            data.WriteBit(ContainsOnlyCollectedAppearances);
            data.FlushBits();

            if (MaxBattlePetQuality.HasValue)
            {
                data.WriteUInt8(MaxBattlePetQuality.Value);
            }

            if (MaxBattlePetLevel.HasValue)
            {
                data.WriteUInt8(MaxBattlePetLevel.Value);
            }

            if (BattlePetBreedID.HasValue)
            {
                data.WriteUInt8(BattlePetBreedID.Value);
            }

            if (Unk901_1.HasValue)
            {
                data.WriteUInt32(Unk901_1.Value);
            }
        }
示例#26
0
        public void Write(WorldPacket data)
        {
            data.WriteInt32(TitleID);
            data.WriteInt32(PackageID);
            data.WriteInt32(SkillLineID);
            data.WriteUInt32(SkillPointCount);
            data.WriteUInt32(ArenaPointCount);
            data.WriteUInt32(HonorPointCount);
            data.WriteUInt64(Money);
            data.WriteUInt32(Xp);

            data.WriteUInt32(Items.Count);
            data.WriteUInt32(Currencies.Count);
            data.WriteUInt32(Factions.Count);
            data.WriteUInt32(ItemChoices.Count);

            foreach (PlayerChoiceResponseRewardEntry item in Items)
            {
                item.Write(data);
            }

            foreach (PlayerChoiceResponseRewardEntry currency in Currencies)
            {
                currency.Write(data);
            }

            foreach (PlayerChoiceResponseRewardEntry faction in Factions)
            {
                faction.Write(data);
            }

            foreach (PlayerChoiceResponseRewardEntry itemChoice in ItemChoices)
            {
                itemChoice.Write(data);
            }
        }
示例#27
0
 public void Write(WorldPacket data)
 {
     data.WriteUInt32(AuctionID);
     data.WriteUInt64(BidAmount);
     Item.Write(data);
 }
示例#28
0
            public void Write(WorldPacket data)
            {
                data.WritePackedGuid(Guid);
                data.WriteUInt64(GuildClubMemberID);
                data.WriteUInt8(ListPosition);
                data.WriteUInt8(RaceId);
                data.WriteUInt8((byte)ClassId);
                data.WriteUInt8(SexId);
                data.WriteInt32(Customizations.Count);

                data.WriteUInt8(ExperienceLevel);
                data.WriteUInt32(ZoneId);
                data.WriteUInt32(MapId);
                data.WriteVector3(PreloadPos);
                data.WritePackedGuid(GuildGuid);
                data.WriteUInt32((uint)Flags);
                data.WriteUInt32((uint)Flags2);
                data.WriteUInt32(Flags3);
                data.WriteUInt32(PetCreatureDisplayId);
                data.WriteUInt32(PetExperienceLevel);
                data.WriteUInt32(PetCreatureFamilyId);

                data.WriteUInt32(ProfessionIds[0]);
                data.WriteUInt32(ProfessionIds[1]);

                foreach (var visualItem in VisualItems)
                {
                    visualItem.Write(data);
                }

                data.WriteInt64(LastPlayedTime);
                data.WriteUInt16(SpecID);
                data.WriteUInt32(Unknown703);
                data.WriteUInt32(LastLoginVersion);
                data.WriteUInt32(Flags4);
                data.WriteInt32(MailSenders.Count);
                data.WriteInt32(MailSenderTypes.Count);
                data.WriteUInt32(OverrideSelectScreenFileDataID);

                foreach (ChrCustomizationChoice customization in Customizations)
                {
                    data.WriteUInt32(customization.ChrCustomizationOptionID);
                    data.WriteUInt32(customization.ChrCustomizationChoiceID);
                }

                foreach (var mailSenderType in MailSenderTypes)
                {
                    data.WriteUInt32(mailSenderType);
                }

                data.WriteBits(Name.GetByteCount(), 6);
                data.WriteBit(FirstLogin);
                data.WriteBit(BoostInProgress);
                data.WriteBits(unkWod61x, 5);

                foreach (string str in MailSenders)
                {
                    data.WriteBits(str.GetByteCount() + 1, 6);
                }

                data.FlushBits();

                foreach (string str in MailSenders)
                {
                    if (!str.IsEmpty())
                    {
                        data.WriteCString(str);
                    }
                }

                data.WriteString(Name);
            }