Fixed probable Balthus Knights related packet exploit.

This commit is contained in:
MobiusDevelopment
2019-03-16 15:27:09 +00:00
parent 43b08de980
commit 5cea506310
3 changed files with 15 additions and 15 deletions

View File

@@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket
{ {
if (_classId == 190) if (_classId == 190)
{ {
_classId = 188; // EVISCERATOR _classId = 188; // Eviscerator
balthusKnights = true; balthusKnights = true;
} }
if (_classId == 191) else if (_classId == 191)
{ {
_classId = 189; // SAYHA_SEER _classId = 189; // Sayha Seer
balthusKnights = true; balthusKnights = true;
} }
if ((_classId > 138) && (_classId < 147)) else if ((_classId > 138) && (_classId < 147))
{ {
final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; final String properClass = ClassId.getClassId(_classId).toString().split("_")[0];
for (ClassId classId : ClassId.values()) for (ClassId classId : ClassId.values())
@@ -200,7 +200,7 @@ public final class CharacterCreate implements IClientIncomingPacket
} }
} }
} }
else if (ClassId.getClassId(_classId).level() > 0) if (!balthusKnights && (ClassId.getClassId(_classId).level() > 0))
{ {
client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
return; return;

View File

@@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket
{ {
if (_classId == 190) if (_classId == 190)
{ {
_classId = 188; // EVISCERATOR _classId = 188; // Eviscerator
balthusKnights = true; balthusKnights = true;
} }
if (_classId == 191) else if (_classId == 191)
{ {
_classId = 189; // SAYHA_SEER _classId = 189; // Sayha Seer
balthusKnights = true; balthusKnights = true;
} }
if ((_classId > 138) && (_classId < 147)) else if ((_classId > 138) && (_classId < 147))
{ {
final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; final String properClass = ClassId.getClassId(_classId).toString().split("_")[0];
for (ClassId classId : ClassId.values()) for (ClassId classId : ClassId.values())
@@ -200,7 +200,7 @@ public final class CharacterCreate implements IClientIncomingPacket
} }
} }
} }
else if (ClassId.getClassId(_classId).level() > 0) if (!balthusKnights && (ClassId.getClassId(_classId).level() > 0))
{ {
client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
return; return;

View File

@@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket
{ {
if (_classId == 190) if (_classId == 190)
{ {
_classId = 188; // EVISCERATOR _classId = 188; // Eviscerator
balthusKnights = true; balthusKnights = true;
} }
if (_classId == 191) else if (_classId == 191)
{ {
_classId = 189; // SAYHA_SEER _classId = 189; // Sayha Seer
balthusKnights = true; balthusKnights = true;
} }
if ((_classId > 138) && (_classId < 147)) else if ((_classId > 138) && (_classId < 147))
{ {
final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; final String properClass = ClassId.getClassId(_classId).toString().split("_")[0];
for (ClassId classId : ClassId.values()) for (ClassId classId : ClassId.values())
@@ -200,7 +200,7 @@ public final class CharacterCreate implements IClientIncomingPacket
} }
} }
} }
else if (ClassId.getClassId(_classId).level() > 0) if (!balthusKnights && (ClassId.getClassId(_classId).level() > 0))
{ {
client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
return; return;