diff --git a/src/main/java/net/packet/ByteBufInPacket.java b/src/main/java/net/packet/ByteBufInPacket.java index 19dfdfffc0..e79326f7c6 100644 --- a/src/main/java/net/packet/ByteBufInPacket.java +++ b/src/main/java/net/packet/ByteBufInPacket.java @@ -22,6 +22,8 @@ public class ByteBufInPacket implements InPacket { public byte readByte() { return byteBuf.readByte(); } + @Override + public short readUnsignedByte() { return byteBuf.readUnsignedByte(); } @Override public short readShort() { diff --git a/src/main/java/net/packet/InPacket.java b/src/main/java/net/packet/InPacket.java index 37e5280899..e21e15a44a 100644 --- a/src/main/java/net/packet/InPacket.java +++ b/src/main/java/net/packet/InPacket.java @@ -4,6 +4,7 @@ import java.awt.*; public interface InPacket extends Packet { byte readByte(); + short readUnsignedByte(); short readShort(); int readInt(); long readLong(); diff --git a/src/main/java/net/server/channel/handlers/NPCMoreTalkHandler.java b/src/main/java/net/server/channel/handlers/NPCMoreTalkHandler.java index fa7c0a09e7..e39b1676e4 100644 --- a/src/main/java/net/server/channel/handlers/NPCMoreTalkHandler.java +++ b/src/main/java/net/server/channel/handlers/NPCMoreTalkHandler.java @@ -59,12 +59,7 @@ public final class NPCMoreTalkHandler extends AbstractPacketHandler { if (p.available() >= 4) { selection = p.readInt(); } else if (p.available() > 0) { - selection = p.readByte(); - // If there are more than 127 choices, don't underflow to -128. - // This is useful if you want to have more than 127 hairs/faces at a stylist NPC. - if (selection < 0) { - selection += 256; - } + selection = p.readUnsignedByte(); } if (c.getQM() != null) { if (c.getQM().isStart()) {