Merge branch 'master' into feat/postgresql-database
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.awt.*;
|
||||
|
||||
public interface InPacket extends Packet {
|
||||
byte readByte();
|
||||
short readUnsignedByte();
|
||||
short readShort();
|
||||
int readInt();
|
||||
long readLong();
|
||||
|
||||
@@ -59,7 +59,7 @@ public final class NPCMoreTalkHandler extends AbstractPacketHandler {
|
||||
if (p.available() >= 4) {
|
||||
selection = p.readInt();
|
||||
} else if (p.available() > 0) {
|
||||
selection = p.readByte();
|
||||
selection = p.readUnsignedByte();
|
||||
}
|
||||
if (c.getQM() != null) {
|
||||
if (c.getQM().isStart()) {
|
||||
|
||||
@@ -232,10 +232,10 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
short flag = eq.getFlag();
|
||||
flag |= ItemConstants.LOCK;
|
||||
if (eq.getExpiration() > -1) {
|
||||
if (eq.getExpiration() > -1 && (eq.getFlag() & ItemConstants.LOCK) != ItemConstants.LOCK) {
|
||||
return; //No perma items pls
|
||||
}
|
||||
flag |= ItemConstants.LOCK;
|
||||
eq.setFlag(flag);
|
||||
|
||||
long period = 0;
|
||||
@@ -250,7 +250,8 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
}
|
||||
|
||||
if (period > 0) {
|
||||
eq.setExpiration(currentServerTime() + DAYS.toMillis(period));
|
||||
long expiration = eq.getExpiration() > -1 ? eq.getExpiration() : currentServerTime();
|
||||
eq.setExpiration(expiration + DAYS.toMillis(period));
|
||||
}
|
||||
|
||||
// double-remove found thanks to BHB
|
||||
|
||||
@@ -107,7 +107,7 @@ public class QuestScriptManager extends AbstractScriptManager {
|
||||
|
||||
public void end(Client c, short questid, int npc) {
|
||||
Quest quest = Quest.getInstance(questid);
|
||||
if (!c.getPlayer().getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED) || !c.getPlayer().getMap().containsNPC(npc)) {
|
||||
if (!c.getPlayer().getQuest(quest).getStatus().equals(QuestStatus.Status.STARTED) || (!c.getPlayer().getMap().containsNPC(npc) && !quest.isAutoComplete())) {
|
||||
dispose(c);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -203,13 +203,13 @@ public class ItemInformationProvider {
|
||||
} else if (itemId >= 1040000 && itemId < 1050000) {
|
||||
theData = eqpStringData;
|
||||
cat = "Eqp/Coat";
|
||||
} else if (itemId >= 20000 && itemId < 22000) {
|
||||
} else if (ItemConstants.isFace(itemId)) {
|
||||
theData = eqpStringData;
|
||||
cat = "Eqp/Face";
|
||||
} else if (itemId >= 1080000 && itemId < 1090000) {
|
||||
theData = eqpStringData;
|
||||
cat = "Eqp/Glove";
|
||||
} else if (itemId >= 30000 && itemId < 35000) {
|
||||
} else if (ItemConstants.isHair(itemId)) {
|
||||
theData = eqpStringData;
|
||||
cat = "Eqp/Hair";
|
||||
} else if (itemId >= 1050000 && itemId < 1060000) {
|
||||
|
||||
Reference in New Issue
Block a user