@@ -8,6 +8,8 @@ namespace OXGaming.TibiaAPI.Network.ServerPackets
88{
99 public class InspectionList : ServerPacket
1010 {
11+ public byte UnknownByte1 { get ; set ; }
12+
1113 public List < ( string Name , byte Slot , ObjectInstance Item , List < ushort > ImbuementIds , List < ( string Name , string Description ) > Details ) > Items { get ; } =
1214 new List < ( string Name , byte Slot , ObjectInstance Item , List < ushort > ImbuementIds , List < ( string Name , string Description ) > Details ) > ( ) ;
1315 public List < ( string Name , string Description ) > PlayerDetails { get ; } = new List < ( string Name , string Description ) > ( ) ;
@@ -26,19 +28,19 @@ public InspectionList(Client client)
2628
2729 public override void ParseFromNetworkMessage ( NetworkMessage message )
2830 {
31+ IsPlayer = message . ReadBool ( ) ;
32+
2933 if ( Client . VersionNumber >= 12300000 )
3034 {
3135 // TODO
32- message . ReadByte ( ) ;
36+ UnknownByte1 = message . ReadByte ( ) ;
3337 }
3438
35- IsPlayer = message . ReadBool ( ) ;
36-
3739 Items . Capacity = message . ReadByte ( ) ;
3840 for ( var i = 0 ; i < Items . Capacity ; ++ i )
3941 {
40- var itemName = message . ReadString ( ) ;
4142 var slotId = IsPlayer ? message . ReadByte ( ) : ( byte ) 0 ;
43+ var itemName = message . ReadString ( ) ;
4244 var item = message . ReadObjectInstance ( ) ;
4345
4446 var imbuementIds = new List < ushort > ( message . ReadByte ( ) ) ;
@@ -76,67 +78,67 @@ public override void ParseFromNetworkMessage(NetworkMessage message)
7678 public override void AppendToNetworkMessage ( NetworkMessage message )
7779 {
7880 // TODO
79- // message.Write((byte)ServerPacketType.InspectionList);
80-
81- // if (Client.VersionNumber >= 12300000)
82- // {
83- // //message.Write(Unknown);
84- // }
85-
86- // message.Write(IsPlayer);
87-
88- // var count = Math.Min(Items.Count, byte.MaxValue);
89- // message.Write((byte)count);
90- // for (var i = 0; i < count; ++i)
91- // {
92- // var (Name, Slot, Item, ImbuementIds, Details) = Items[i];
93-
94- // message.Write(Name);
95-
96- // if (IsPlayer)
97- // {
98- // message.Write(Slot);
99- // }
100-
101- // message.Write(Item);
102-
103- // var size = Math.Min(ImbuementIds.Count, byte.MaxValue);
104- // message.Write((byte)size);
105- // for (var j = 0; j < size; ++j)
106- // {
107- // message.Write(ImbuementIds[j]);
108- // }
109-
110- // size = Math.Min(Details.Count, byte.MaxValue);
111- // message.Write((byte)size);
112- // for (var j = 0; j < size; ++j)
113- // {
114- // message.Write(Details[j].Name);
115- // message.Write(Details[j].Description);
116- // }
117- // }
118-
119- // if (IsPlayer)
120- // {
121- // message.Write(PlayerName);
122- // if (PlayerOutfit is OutfitInstance)
123- // {
124- // message.Write((OutfitInstance)PlayerOutfit );
125- // }
126- // else
127- // {
128- // message.Write((ushort)0);
129- // message.Write((ushort)PlayerOutfit.Id);
130- // }
131-
132- // count = Math.Min(PlayerDetails.Count, byte.MaxValue);
133- // message.Write((byte)count);
134- // for (var j = 0; j < count; ++j)
135- // {
136- // message.Write(PlayerDetails[j].Name);
137- // message.Write(PlayerDetails[j].Description);
138- // }
139- // }
81+ message . Write ( ( byte ) ServerPacketType . InspectionList ) ;
82+
83+ message . Write ( IsPlayer ) ;
84+
85+ if ( Client . VersionNumber >= 12300000 )
86+ {
87+ message . Write ( UnknownByte1 ) ;
88+ }
89+
90+ var count = Math . Min ( Items . Count , byte . MaxValue ) ;
91+ message . Write ( ( byte ) count ) ;
92+ for ( var i = 0 ; i < count ; ++ i )
93+ {
94+ var ( Name , Slot , Item , ImbuementIds , Details ) = Items [ i ] ;
95+
96+ message . Write ( Name ) ;
97+
98+ if ( IsPlayer )
99+ {
100+ message . Write ( Slot ) ;
101+ }
102+
103+ message . Write ( Item ) ;
104+
105+ var size = Math . Min ( ImbuementIds . Count , byte . MaxValue ) ;
106+ message . Write ( ( byte ) size ) ;
107+ for ( var j = 0 ; j < size ; ++ j )
108+ {
109+ message . Write ( ImbuementIds [ j ] ) ;
110+ }
111+
112+ size = Math . Min ( Details . Count , byte . MaxValue ) ;
113+ message . Write ( ( byte ) size ) ;
114+ for ( var j = 0 ; j < size ; ++ j )
115+ {
116+ message . Write ( Details [ j ] . Name ) ;
117+ message . Write ( Details [ j ] . Description ) ;
118+ }
119+ }
120+
121+ if ( IsPlayer )
122+ {
123+ message . Write ( PlayerName ) ;
124+ if ( PlayerOutfit is OutfitInstance instance )
125+ {
126+ message . Write ( instance ) ;
127+ }
128+ else
129+ {
130+ message . Write ( ( ushort ) 0 ) ;
131+ message . Write ( ( ushort ) PlayerOutfit . Id ) ;
132+ }
133+
134+ count = Math . Min ( PlayerDetails . Count , byte . MaxValue ) ;
135+ message . Write ( ( byte ) count ) ;
136+ for ( var j = 0 ; j < count ; ++ j )
137+ {
138+ message . Write ( PlayerDetails [ j ] . Name ) ;
139+ message . Write ( PlayerDetails [ j ] . Description ) ;
140+ }
141+ }
140142 }
141143 }
142144}
0 commit comments