From 5cea5063109154dc400afb195f6afd815eac2f3e Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 16 Mar 2019 15:27:09 +0000 Subject: [PATCH] Fixed probable Balthus Knights related packet exploit. --- .../network/clientpackets/CharacterCreate.java | 10 +++++----- .../network/clientpackets/CharacterCreate.java | 10 +++++----- .../network/clientpackets/CharacterCreate.java | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java index 0c97523fa3..a7d901b8da 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java @@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket { if (_classId == 190) { - _classId = 188; // EVISCERATOR + _classId = 188; // Eviscerator balthusKnights = true; } - if (_classId == 191) + else if (_classId == 191) { - _classId = 189; // SAYHA_SEER + _classId = 189; // Sayha Seer balthusKnights = true; } - if ((_classId > 138) && (_classId < 147)) + else if ((_classId > 138) && (_classId < 147)) { final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; 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)); return; diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java index 0c97523fa3..a7d901b8da 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java @@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket { if (_classId == 190) { - _classId = 188; // EVISCERATOR + _classId = 188; // Eviscerator balthusKnights = true; } - if (_classId == 191) + else if (_classId == 191) { - _classId = 189; // SAYHA_SEER + _classId = 189; // Sayha Seer balthusKnights = true; } - if ((_classId > 138) && (_classId < 147)) + else if ((_classId > 138) && (_classId < 147)) { final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; 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)); return; diff --git a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java index 0c97523fa3..a7d901b8da 100644 --- a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java +++ b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/network/clientpackets/CharacterCreate.java @@ -174,15 +174,15 @@ public final class CharacterCreate implements IClientIncomingPacket { if (_classId == 190) { - _classId = 188; // EVISCERATOR + _classId = 188; // Eviscerator balthusKnights = true; } - if (_classId == 191) + else if (_classId == 191) { - _classId = 189; // SAYHA_SEER + _classId = 189; // Sayha Seer balthusKnights = true; } - if ((_classId > 138) && (_classId < 147)) + else if ((_classId > 138) && (_classId < 147)) { final String properClass = ClassId.getClassId(_classId).toString().split("_")[0]; 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)); return;