diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..fa2ee14956 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (5000). + if (player.getClan().getReputationScore() <= 5000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(5000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_5_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..fa2ee14956 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (5000). + if (player.getClan().getReputationScore() <= 5000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(5000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_5_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..fa2ee14956 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (5000). + if (player.getClan().getReputationScore() <= 5000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(5000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_5_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..fa2ee14956 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (5000). + if (player.getClan().getReputationScore() <= 5000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(5000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_5_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..c73b9f9614 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..c73b9f9614 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 639e1bcdf8..875d0ea86d 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..c73b9f9614 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index c367a7a173..965e22f8f2 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 1d140aceb8..c73b9f9614 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 7c7acf5fc1..2011ba925a 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 26d3e6fcc3..9af8a326aa 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 7c7acf5fc1..2011ba925a 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 26d3e6fcc3..9af8a326aa 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 7c7acf5fc1..2011ba925a 100644 --- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index dd26e852b5..0f7c3b4f94 100644 --- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; @@ -75,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -92,7 +102,10 @@ public class RequestStopPledgeWar implements IClientIncomingPacket } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -103,5 +116,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 7c7acf5fc1..2011ba925a 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index dd26e852b5..0f7c3b4f94 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; @@ -75,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (10000). + if (player.getClan().getReputationScore() <= 10000) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -92,7 +102,10 @@ public class RequestStopPledgeWar implements IClientIncomingPacket } // Reduce reputation. - playerClan.takeReputationScore(5000); + playerClan.takeReputationScore(10000); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_10_000_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -103,5 +116,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index dcbe87502c..f769557ece 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index bc2857e475..0fed328ab6 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.A_CEASE_FIRE_DURING_A_CLAN_WAR_CAN_NOT_BE_CALLED_WHILE_MEMBERS_OF_YOUR_CLAN_ARE_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 29e525f1b0..656ac69ed4 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 85f84b3cd1..756841a7b4 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.THE_CLAN_WAR_CANNOT_BE_STOPPED_BECAUSE_SOMEONE_FROM_YOUR_CLAN_IS_STILL_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 29e525f1b0..656ac69ed4 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 85f84b3cd1..756841a7b4 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.THE_CLAN_WAR_CANNOT_BE_STOPPED_BECAUSE_SOMEONE_FROM_YOUR_CLAN_IS_STILL_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 29e525f1b0..656ac69ed4 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 85f84b3cd1..756841a7b4 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.THE_CLAN_WAR_CANNOT_BE_STOPPED_BECAUSE_SOMEONE_FROM_YOUR_CLAN_IS_STILL_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java index 29e525f1b0..656ac69ed4 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStartPledgeWar.java @@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.clan.ClanWar; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; public class RequestStartPledgeWar implements IClientIncomingPacket @@ -119,12 +120,34 @@ public class RequestStartPledgeWar implements IClientIncomingPacket player.sendPacket(ActionFailed.STATIC_PACKET); return; } - - final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_ALREADY_BEEN_AT_WAR_WITH_THE_S1_CLAN_5_DAYS_MUST_PASS_BEFORE_YOU_CAN_DECLARE_WAR_AGAIN); - sm.addString(clanDeclaredWar.getName()); - player.sendPacket(sm); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; + if (clanWar.getState() == ClanWarState.MUTUAL) + { + player.sendMessage("You have already been at war with " + clanDeclaredWar.getName() + "."); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + if (clanWar.getState() == ClanWarState.BLOOD_DECLARATION) + { + clanWar.mutualClanWarAccepted(clanDeclaredWar, clanDeclaringWar); + ClanTable.getInstance().storeClanWars(clanWar); + for (ClanMember member : clanDeclaringWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + for (ClanMember member : clanDeclaredWar.getMembers()) + { + if ((member != null) && member.isOnline()) + { + member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); + } + } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); + return; + } } final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar); @@ -144,5 +167,6 @@ public class RequestStartPledgeWar implements IClientIncomingPacket member.getPlayer().broadcastUserInfo(UserInfoType.CLAN); } } + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java index 85f84b3cd1..756841a7b4 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestStopPledgeWar.java @@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.clan.ClanPrivilege; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; +import org.l2jmobius.gameserver.network.serverpackets.PledgeReceiveWarList; +import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager; public class RequestStopPledgeWar implements IClientIncomingPacket @@ -74,6 +76,15 @@ public class RequestStopPledgeWar implements IClientIncomingPacket return; } + // Check if clan has enough reputation to end the war (500). + if (player.getClan().getReputationScore() <= 500) + { + final SystemMessage sm = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW); + player.sendPacket(sm); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + for (ClanMember member : playerClan.getMembers()) { if ((member == null) || (member.getPlayer() == null)) @@ -83,12 +94,16 @@ public class RequestStopPledgeWar implements IClientIncomingPacket if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(member.getPlayer())) { player.sendPacket(SystemMessageId.THE_CLAN_WAR_CANNOT_BE_STOPPED_BECAUSE_SOMEONE_FROM_YOUR_CLAN_IS_STILL_ENGAGED_IN_BATTLE); + player.sendPacket(ActionFailed.STATIC_PACKET); return; } } // Reduce reputation. playerClan.takeReputationScore(500); + final SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_CLAN_LOST_500_REPUTATION_POINTS_FOR_WITHDRAWING_FROM_THE_CLAN_WAR); + player.getClan().broadcastToOnlineMembers(sm); + ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId()); for (Player member : playerClan.getOnlineMembers(0)) { @@ -99,5 +114,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket { member.broadcastUserInfo(); } + + player.sendPacket(new PledgeReceiveWarList(player.getClan(), 0)); } }