@@ -157,6 +157,34 @@ public static void ReadAuctionFavoriteInfo(Packet packet, params object[] idx)
157157 packet . ReadUInt32 ( "SuffixItemNameDescriptionID" , idx ) ;
158158 }
159159
160+ public static void ReadAuctionListFilterSubClass ( Packet packet , params object [ ] idx )
161+ {
162+ packet . ReadUInt64 ( "InvTypeMask" , idx ) ;
163+ packet . ReadInt32 ( "ItemSubclass" , idx ) ;
164+ }
165+
166+ public static void ReadAuctionListFilterClass ( Packet packet , params object [ ] idx )
167+ {
168+ packet . ReadInt32 ( "FilterClass" , idx ) ;
169+ packet . ResetBitReader ( ) ;
170+ var subClassFilterCount = packet . ReadBits ( "SubClassFilterCount" , 5 , idx ) ;
171+ for ( var i = 0 ; i < subClassFilterCount ; i ++ )
172+ ReadAuctionListFilterSubClass ( packet , i , "SubClassFilter" , i , idx ) ;
173+ }
174+
175+ public static void ReadAuctionSortDef ( Packet packet , params object [ ] idx )
176+ {
177+ packet . ResetBitReader ( ) ;
178+ packet . ReadByte ( "SortOrder" , idx ) ;
179+ packet . ReadBit ( "ReverseSort" , idx ) ;
180+ }
181+
182+ public static void ReadAuctionItemForSale ( Packet packet , params object [ ] idx )
183+ {
184+ packet . ReadPackedGuid128 ( "Guid" , idx ) ;
185+ packet . ReadUInt32 ( "UseCount" , idx ) ;
186+ }
187+
160188 [ Parser ( Opcode . SMSG_AUCTION_HELLO_RESPONSE ) ]
161189 public static void HandleServerAuctionHello ( Packet packet )
162190 {
@@ -315,5 +343,327 @@ public static void HandleAuctionFavoriteList(Packet packet)
315343 for ( var i = 0 ; i < itemsCount ; ++ i )
316344 ReadAuctionFavoriteInfo ( packet , "FavoriteInfo" , i ) ;
317345 }
346+
347+ [ Parser ( Opcode . CMSG_AUCTION_HELLO_REQUEST ) ]
348+ public static void HandleClientAuctionHello ( Packet packet )
349+ {
350+ packet . ReadPackedGuid128 ( "Guid" ) ;
351+ }
352+
353+ [ Parser ( Opcode . CMSG_AUCTION_SELL_ITEM ) ]
354+ public static void HandleAuctionSellItem ( Packet packet )
355+ {
356+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
357+ packet . ReadInt64 ( "MinBit" ) ;
358+ packet . ReadInt64 ( "BuyoutPrice" ) ;
359+ packet . ReadInt32 ( "RunTime" ) ;
360+
361+ var taintedBy = packet . ReadBit ( ) ;
362+
363+ var count = packet . ReadBits ( "ItemsCount" , 6 ) ;
364+ packet . ResetBitReader ( ) ;
365+
366+ if ( taintedBy )
367+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
368+
369+ for ( var i = 0 ; i < count ; ++ i )
370+ {
371+ packet . ReadPackedGuid128 ( "Guid" , i ) ;
372+ packet . ReadInt32 ( "UseCount" ) ;
373+ }
374+ }
375+
376+ [ Parser ( Opcode . CMSG_AUCTION_REMOVE_ITEM ) ]
377+ public static void HandleAuctionRemoveItem ( Packet packet )
378+ {
379+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
380+ packet . ReadInt32 ( "AuctionID" ) ;
381+ packet . ReadInt32 ( "ItemID" ) ;
382+
383+ var taintedBy = packet . ReadBit ( ) ;
384+
385+ if ( taintedBy )
386+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
387+ }
388+
389+ [ Parser ( Opcode . CMSG_AUCTION_LIST_ITEMS ) ]
390+ public static void HandleAuctionListItems ( Packet packet )
391+ {
392+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
393+ packet . ReadInt32 ( "Offset" ) ;
394+ packet . ReadByte ( "MinLevel" ) ;
395+ packet . ReadByte ( "MaxLevel" ) ;
396+ packet . ReadInt32E < ItemQuality > ( "Quality" ) ;
397+ var sort = packet . ReadByte ( "SortCount" ) ;
398+ var knownPetsCount = packet . ReadUInt32 ( "KnownPetsCount" ) ;
399+ packet . ReadSByte ( "MaxPetLevel" ) ;
400+
401+ for ( int i = 0 ; i < knownPetsCount ; ++ i )
402+ packet . ReadByte ( "KnownPets" , i ) ;
403+
404+ var taintedBy = packet . ReadBit ( ) ;
405+ var nameLength = packet . ReadBits ( 8 ) ;
406+
407+ packet . ResetBitReader ( ) ;
408+ packet . ReadWoWString ( "Name" , nameLength ) ;
409+
410+ var classFiltersCount = packet . ReadBits ( "ClassFiltersCount" , 3 ) ;
411+
412+ packet . ReadBit ( "OnlyUsable" ) ;
413+ packet . ReadBit ( "ExactMatch" ) ;
414+
415+ packet . ResetBitReader ( ) ;
416+
417+ if ( taintedBy )
418+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
419+
420+ for ( int i = 0 ; i < classFiltersCount ; ++ i )
421+ {
422+ packet . ReadInt32E < ItemClass > ( "ItemClass" , "ClassFilters" , i ) ;
423+
424+ var subClassFiltersCount = packet . ReadBits ( "SubClassFiltersCount" , 5 , "ClassFilters" , i ) ;
425+ for ( int j = 0 ; j < subClassFiltersCount ; ++ j )
426+ {
427+ packet . ReadUInt64 ( "ItemSubclass" , "ClassFilters" , i , "SubClassFilters" , j ) ;
428+ packet . ReadUInt32 ( "InvTypeMask" , "ClassFilters" , i , "SubClassFilters" , j ) ;
429+ }
430+ }
431+
432+ var size = packet . ReadInt32 ( "DataSize" ) ;
433+ var data = packet . ReadBytes ( size ) ;
434+ var sorts = new Packet ( data , packet . Opcode , packet . Time , packet . Direction , packet . Number , packet . Writer , packet . FileName ) ;
435+ for ( var i = 0 ; i < sort ; ++ i )
436+ {
437+ sorts . ReadByte ( "Type" , i ) ;
438+ sorts . ReadByte ( "Direction" , i ) ;
439+ }
440+ }
441+
442+ [ Parser ( Opcode . CMSG_AUCTION_REPLICATE_ITEMS ) ]
443+ public static void HandleAuctionReplicateItems ( Packet packet )
444+ {
445+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
446+ packet . ReadInt32 ( "ChangeNumberGlobal" ) ;
447+ packet . ReadInt32 ( "ChangeNumberCursor" ) ;
448+ packet . ReadInt32 ( "ChangeNumberTombstone" ) ;
449+ packet . ReadInt32 ( "Count" ) ;
450+
451+ var taintedBy = packet . ReadBit ( ) ;
452+
453+ if ( taintedBy )
454+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
455+ }
456+
457+ [ Parser ( Opcode . CMSG_AUCTION_LIST_OWNER_ITEMS ) ]
458+ public static void HandleAuctionListOwnerItems ( Packet packet )
459+ {
460+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
461+ packet . ReadUInt32 ( "Offset" ) ;
462+
463+ var taintedBy = packet . ReadBit ( ) ;
464+
465+ if ( taintedBy )
466+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
467+ }
468+
469+ [ Parser ( Opcode . CMSG_AUCTION_LIST_BIDDER_ITEMS ) ]
470+ public static void HandleAuctionListBidderItems ( Packet packet )
471+ {
472+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
473+ packet . ReadUInt32 ( "Offset" ) ;
474+
475+ var auctionIdsCount = packet . ReadBits ( 7 ) ;
476+ var taintedBy = packet . ReadBit ( ) ;
477+
478+ if ( taintedBy )
479+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
480+
481+ for ( var i = 0 ; i < auctionIdsCount ; i ++ )
482+ packet . ReadUInt32 ( "AuctionID" , i ) ;
483+ }
484+
485+ [ Parser ( Opcode . CMSG_AUCTION_PLACE_BID ) ]
486+ public static void HandleAuctionPlaceBid ( Packet packet )
487+ {
488+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
489+ packet . ReadInt32 ( "AuctionID" ) ;
490+ packet . ReadInt64 ( "BidAmount" ) ;
491+
492+ var taintedBy = packet . ReadBit ( ) ;
493+
494+ if ( taintedBy )
495+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
496+ }
497+
498+ [ Parser ( Opcode . CMSG_AUCTION_BROWSE_QUERY ) ]
499+ public static void HandleAuctionBrowseQuery ( Packet packet )
500+ {
501+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
502+ packet . ReadUInt32 ( "Offset" ) ;
503+ packet . ReadByte ( "MinLevel" ) ;
504+ packet . ReadByte ( "MaxLevel" ) ;
505+ packet . ReadByte ( "Unused1007_1" ) ;
506+ packet . ReadByte ( "Unused1007_2" ) ;
507+ packet . ReadUInt32 ( "Filters" ) ;
508+
509+ var knownPetsSize = packet . ReadUInt32 ( ) ;
510+ packet . ReadSByte ( "MaxPetLevel" ) ;
511+ packet . ReadUInt32 ( "Unused1026" ) ;
512+
513+ for ( var i = 0 ; i < knownPetsSize ; i ++ )
514+ packet . ReadByte ( "KnownPetMask" , i ) ;
515+
516+ packet . ResetBitReader ( ) ;
517+ var taintedBy = packet . ReadBit ( "TaintedBy" ) ;
518+ var nameLen = packet . ReadBits ( 8 ) ;
519+ var itemClassFilterSize = packet . ReadBits ( 3 ) ;
520+ var sortsSize = packet . ReadBits ( 2 ) ;
521+
522+ if ( taintedBy )
523+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
524+
525+ packet . ReadWoWString ( "Name" , nameLen ) ;
526+
527+ for ( var i = 0 ; i < itemClassFilterSize ; i ++ )
528+ ReadAuctionListFilterClass ( packet , i , "FilterClass" ) ;
529+
530+ for ( var i = 0 ; i < sortsSize ; i ++ )
531+ ReadAuctionSortDef ( packet , i , "SortDef" ) ;
532+ }
533+
534+ [ Parser ( Opcode . CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY ) ]
535+ public static void HandleAuctionListItemsByBucketKey ( Packet packet )
536+ {
537+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
538+ packet . ReadUInt32 ( "Offset" ) ;
539+ packet . ReadByte ( "Unknown830" ) ;
540+
541+ var taintedBy = packet . ReadBit ( ) ;
542+ var sortCount = packet . ReadBits ( 2 ) ;
543+
544+ ReadAuctionBucketKey ( packet , "BucketKey" ) ;
545+
546+ if ( taintedBy )
547+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
548+
549+ for ( var i = 0 ; i < sortCount ; i ++ )
550+ ReadAuctionSortDef ( packet , i ) ;
551+ }
552+
553+ [ Parser ( Opcode . CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID ) ]
554+ public static void HandleAuctionListItemsByItemID ( Packet packet )
555+ {
556+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
557+ packet . ReadInt32 ( "ItemID" ) ;
558+ packet . ReadInt32 ( "SuffixItemNameDescriptionID" ) ;
559+ packet . ReadUInt32 ( "Offset" ) ;
560+
561+ var taintedBy = packet . ReadBit ( ) ;
562+ var sortCount = packet . ReadBits ( 2 ) ;
563+
564+ if ( taintedBy )
565+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
566+
567+ for ( var i = 0 ; i < sortCount ; i ++ )
568+ ReadAuctionSortDef ( packet , i ) ;
569+ }
570+
571+ [ Parser ( Opcode . CMSG_AUCTION_LIST_OWNED_ITEMS ) ]
572+ public static void HandleAuctionListOwnedItems ( Packet packet )
573+ {
574+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
575+ packet . ReadUInt32 ( "Offset" ) ;
576+
577+ var taintedBy = packet . ReadBit ( ) ;
578+ var sortCount = packet . ReadBits ( 2 ) ;
579+
580+ if ( taintedBy )
581+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
582+
583+ for ( var i = 0 ; i < sortCount ; i ++ )
584+ ReadAuctionSortDef ( packet , i ) ;
585+ }
586+
587+ [ Parser ( Opcode . CMSG_AUCTION_LIST_BIDDED_ITEMS ) ]
588+ public static void HandleAuctionListBiddedItems ( Packet packet )
589+ {
590+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
591+ packet . ReadUInt32 ( "Offset" ) ;
592+
593+ var taintedBy = packet . ReadBit ( ) ;
594+
595+ var auctionIdsCount = packet . ReadBits ( 7 ) ;
596+ var sortCount = packet . ReadBits ( 2 ) ;
597+
598+ if ( taintedBy )
599+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
600+
601+ for ( var i = 0 ; i < auctionIdsCount ; i ++ )
602+ packet . ReadUInt32 ( "AuctionID" , i ) ;
603+
604+ for ( var i = 0 ; i < sortCount ; i ++ )
605+ ReadAuctionSortDef ( packet , i ) ;
606+ }
607+
608+ [ Parser ( Opcode . CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS ) ]
609+ public static void HandleAuctionListBucketsByBucketKeys ( Packet packet )
610+ {
611+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
612+
613+ var taintedBy = packet . ReadBit ( ) ;
614+
615+ var bucketKeysCount = packet . ReadBits ( 7 ) ;
616+ var sortCount = packet . ReadBits ( 2 ) ;
617+
618+ if ( taintedBy )
619+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
620+
621+ for ( var i = 0 ; i < bucketKeysCount ; i ++ )
622+ ReadAuctionBucketKey ( packet , i ) ;
623+
624+ for ( var i = 0 ; i < sortCount ; i ++ )
625+ ReadAuctionSortDef ( packet , i ) ;
626+ }
627+
628+ [ Parser ( Opcode . CMSG_AUCTION_GET_COMMODITY_QUOTE ) ]
629+ [ Parser ( Opcode . CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE ) ]
630+ public static void HandleAuctionHouseGetCommodityQuote ( Packet packet )
631+ {
632+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
633+ packet . ReadInt32 < ItemId > ( "ItemID" ) ;
634+ packet . ReadUInt32 ( "Quantity" ) ;
635+ if ( packet . ReadBit ( ) )
636+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
637+ }
638+
639+ [ Parser ( Opcode . CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE ) ]
640+ public static void HandleAuctionCancelCommoditiesPurchase ( Packet packet )
641+ {
642+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
643+ if ( packet . ReadBit ( ) )
644+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
645+ }
646+
647+ [ Parser ( Opcode . CMSG_AUCTION_SELL_COMMODITY ) ]
648+ public static void HandleAuctionSellCommodity ( Packet packet )
649+ {
650+ packet . ReadPackedGuid128 ( "Auctioneer" ) ;
651+ packet . ReadUInt64 ( "UnitPrice" ) ;
652+ packet . ReadUInt32 ( "Runtime" ) ;
653+
654+ var taintedBy = packet . ReadBit ( ) ;
655+ var itemsCount = packet . ReadBits ( 6 ) ;
656+
657+ if ( taintedBy )
658+ AddonHandler . ReadAddOnInfo ( packet , "TaintedBy" ) ;
659+
660+ for ( var i = 0 ; i < itemsCount ; i ++ )
661+ ReadAuctionItemForSale ( packet , i ) ;
662+ }
663+
664+ [ Parser ( Opcode . CMSG_AUCTION_LIST_PENDING_SALES ) ]
665+ public static void HandleAuctionZero ( Packet packet )
666+ {
667+ }
318668 }
319669}
0 commit comments