From 142a845657c07cb8d88f51f667bb4d010fd6ee5f Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 21 Sep 2021 21:36:54 +0000 Subject: [PATCH] Prohibit triggering class change icon after last change. --- .../classchange/ExRequestClassChangeVerifying.java | 11 ++++++++--- .../classchange/ExRequestClassChangeVerifying.java | 11 ++++++++--- .../classchange/ExRequestClassChangeVerifying.java | 11 ++++++++--- .../classchange/ExRequestClassChangeVerifying.java | 9 +++++++-- .../classchange/ExRequestClassChangeVerifying.java | 9 +++++++-- .../classchange/ExRequestClassChangeVerifying.java | 9 +++++++-- 6 files changed, 45 insertions(+), 15 deletions(-) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 08c341770d..9955e29baf 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -67,25 +67,30 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player) || !fourthClassCheck(player)) + if (!fourthClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FIFTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); } diff --git a/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 6cb0e0ffef..a347982123 100644 --- a/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_8.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -67,25 +67,30 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player) || !fourthClassCheck(player)) + if (!fourthClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FIFTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExClassChangeSetAlarm.STATIC_PACKET); } diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 6cb0e0ffef..a347982123 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -67,25 +67,30 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player) || !fourthClassCheck(player)) + if (!fourthClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FIFTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExClassChangeSetAlarm.STATIC_PACKET); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 2369d78944..efab8b8251 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -67,18 +67,23 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 25cd2f7fdf..0b18b3ee4f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -67,18 +67,23 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExClassChangeSetAlarm.STATIC_PACKET); } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java index 19a539f7a3..6a3ba815c5 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/classchange/ExRequestClassChangeVerifying.java @@ -61,18 +61,23 @@ public class ExRequestClassChangeVerifying implements IClientIncomingPacket } else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player)) + if (!secondClassCheck(player)) { return; } } else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP)) { - if (!firstClassCheck(player) || !secondClassCheck(player) || !thirdClassCheck(player)) + if (!thirdClassCheck(player)) { return; } } + else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) + { + // No more class changes. + return; + } player.sendPacket(ExClassChangeSetAlarm.STATIC_PACKET); }