From 49128a8aaca787160de93f5d86211dd6712297ef Mon Sep 17 00:00:00 2001 From: White Date: Fri, 9 Oct 2015 17:48:35 +1030 Subject: [PATCH] Fixed GetDataHandlers so that the extra accessory slot is tracked correctly --- TShockAPI/GetDataHandlers.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 405c55f4..859613e2 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1381,9 +1381,11 @@ namespace TShockAPI var hair = args.Data.ReadInt8(); string name = args.Data.ReadString(); byte hairDye = args.Data.ReadInt8(); + BitsByte hideVisual = args.Data.ReadInt8(); BitsByte hideVisual2 = args.Data.ReadInt8(); BitsByte hideMisc = args.Data.ReadInt8(); + Color hairColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); Color skinColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); Color eyeColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); @@ -1391,7 +1393,19 @@ namespace TShockAPI Color underShirtColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); Color pantsColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); Color shoeColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8()); - var difficulty = args.Data.ReadInt8(); + + BitsByte extra = args.Data.ReadInt8(); + byte difficulty = 0; + if (extra[0]) + { + difficulty++; + } + else if (extra[1]) + { + difficulty += 2; + } + + bool extraSlot = extra[2]; if (OnPlayerInfo(playerid, hair, skinVariant, difficulty, name)) { @@ -1423,6 +1437,7 @@ namespace TShockAPI for (int i = 8; i < 10; i++) args.Player.TPlayer.hideVisual[i] = hideVisual2[i]; args.Player.TPlayer.hideMisc = hideMisc; + args.Player.TPlayer.extraAccessory = extraSlot; NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, args.Player.Index, args.Player.Name, args.Player.Index); return true; }