From a4e43d2639fea7b90d76f76b5afdafb4eafbd634 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 3 Sep 2018 22:00:38 +0000 Subject: [PATCH] Check if player has a clan before joining one. --- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../RequestPledgeSignInForOpenJoiningMethod.java | 2 +- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../RequestPledgeSignInForOpenJoiningMethod.java | 2 +- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../RequestPledgeSignInForOpenJoiningMethod.java | 2 +- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../RequestPledgeSignInForOpenJoiningMethod.java | 2 +- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- .../network/clientpackets/RequestAnswerJoinPledge.java | 7 ++++++- .../RequestPledgeSignInForOpenJoiningMethod.java | 2 +- .../clientpackets/RequestPledgeWaitingUserAccept.java | 2 +- 19 files changed, 54 insertions(+), 19 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java index 94c2a6dda4..bc31f34f11 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java @@ -57,7 +57,7 @@ public class RequestPledgeSignInForOpenJoiningMethod implements IClientIncomingP if (pledgeRecruitInfo != null) { final L2Clan clan = pledgeRecruitInfo.getClan(); - if (clan != null) + if ((clan != null) && (activeChar.getClan() == null)) { clan.addClanMember(activeChar); activeChar.sendPacket(new JoinPledge(_clanId)); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java index 94c2a6dda4..bc31f34f11 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java @@ -57,7 +57,7 @@ public class RequestPledgeSignInForOpenJoiningMethod implements IClientIncomingP if (pledgeRecruitInfo != null) { final L2Clan clan = pledgeRecruitInfo.getClan(); - if (clan != null) + if ((clan != null) && (activeChar.getClan() == null)) { clan.addClanMember(activeChar); activeChar.sendPacket(new JoinPledge(_clanId)); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java index 94c2a6dda4..bc31f34f11 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java @@ -57,7 +57,7 @@ public class RequestPledgeSignInForOpenJoiningMethod implements IClientIncomingP if (pledgeRecruitInfo != null) { final L2Clan clan = pledgeRecruitInfo.getClan(); - if (clan != null) + if ((clan != null) && (activeChar.getClan() == null)) { clan.addClanMember(activeChar); activeChar.sendPacket(new JoinPledge(_clanId)); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java index 94c2a6dda4..bc31f34f11 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java @@ -57,7 +57,7 @@ public class RequestPledgeSignInForOpenJoiningMethod implements IClientIncomingP if (pledgeRecruitInfo != null) { final L2Clan clan = pledgeRecruitInfo.getClan(); - if (clan != null) + if ((clan != null) && (activeChar.getClan() == null)) { clan.addClanMember(activeChar); activeChar.sendPacket(new JoinPledge(_clanId)); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java index b7d00c6333..bf648a8572 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAnswerJoinPledge.java @@ -81,12 +81,17 @@ public final class RequestAnswerJoinPledge implements IClientIncomingPacket // we must double check this cause during response time conditions can be changed, i.e. another player could join clan if (clan.checkClanJoinCondition(requestor, activeChar, requestPacket.getPledgeType())) { + if (activeChar.getClan() != null) + { + return; + } + activeChar.sendPacket(new JoinPledge(requestor.getClanId())); activeChar.setPledgeType(requestPacket.getPledgeType()); if (requestPacket.getPledgeType() == L2Clan.SUBUNIT_ACADEMY) { - activeChar.setPowerGrade(9); // adademy + activeChar.setPowerGrade(9); // academy activeChar.setLvlJoinedAcademy(activeChar.getLevel()); } else diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java index 94c2a6dda4..bc31f34f11 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeSignInForOpenJoiningMethod.java @@ -57,7 +57,7 @@ public class RequestPledgeSignInForOpenJoiningMethod implements IClientIncomingP if (pledgeRecruitInfo != null) { final L2Clan clan = pledgeRecruitInfo.getClan(); - if (clan != null) + if ((clan != null) && (activeChar.getClan() == null)) { clan.addClanMember(activeChar); activeChar.sendPacket(new JoinPledge(_clanId)); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java index e7b8f4b25a..dae19db0c3 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestPledgeWaitingUserAccept.java @@ -60,7 +60,7 @@ public class RequestPledgeWaitingUserAccept implements IClientIncomingPacket if (_acceptRequest) { final L2PcInstance player = L2World.getInstance().getPlayer(_playerId); - if (player != null) + if ((player != null) && (player.getClan() == null)) { final L2Clan clan = activeChar.getClan(); clan.addClanMember(player);