Fixed declaring and removing clan wars.
This commit is contained in:
parent
68f3055f23
commit
e33c09590d
@ -26,16 +26,20 @@ import org.l2jmobius.gameserver.network.GameClient;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
private int _clanId;
|
||||
|
||||
@Override
|
||||
public void read(ReadablePacket packet)
|
||||
{
|
||||
_pledgeName = packet.readString();
|
||||
_clanId = packet.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,22 +57,21 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clan == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClan(_clanId);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
player.sendMessage("No such clan.");
|
||||
player.sendPacket(SystemMessageId.THERE_IS_NO_SUCH_CLAN);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!playerClan.isAtWarWith(clan.getId()))
|
||||
if (!playerClan.isAtWarWith(enemyClan.getId()))
|
||||
{
|
||||
player.sendMessage("You aren't at war with this clan.");
|
||||
player.sendPacket(SystemMessageId.ENTER_THE_NAME_OF_THE_CLAN_YOU_WISH_TO_END_THE_WAR_WITH);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player who does the request has the correct rights to do it
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_PLEDGE_WAR))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
@ -90,15 +93,28 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
|
||||
// Reduce reputation.
|
||||
playerClan.takeReputationScore(500);
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId());
|
||||
for (Player member : playerClan.getOnlineMembers(0))
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
}
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), enemyClan.getId());
|
||||
|
||||
for (Player member : clan.getOnlineMembers(0))
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets.pledgeV3;
|
||||
import org.l2jmobius.commons.network.ReadablePacket;
|
||||
import org.l2jmobius.gameserver.data.sql.ClanTable;
|
||||
import org.l2jmobius.gameserver.enums.ClanWarState;
|
||||
import org.l2jmobius.gameserver.enums.UserInfoType;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.clan.ClanMember;
|
||||
@ -30,7 +29,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
@ -50,8 +53,8 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaringWar = player.getClan();
|
||||
if (clanDeclaringWar == null)
|
||||
final Clan playerClan = player.getClan();
|
||||
if (playerClan == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -62,73 +65,94 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaringWar.getWarCount() >= 30)
|
||||
|
||||
if (playerClan.getWarCount() >= 30)
|
||||
{
|
||||
client.sendPacket(SystemMessageId.A_DECLARATION_OF_WAR_AGAINST_MORE_THAN_30_CLANS_CAN_T_BE_MADE_AT_THE_SAME_TIME);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaredWar = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clanDeclaredWar == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CANNOT_BE_DECLARED_AGAINST_A_CLAN_THAT_DOES_NOT_EXIST));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar == clanDeclaringWar)
|
||||
|
||||
if (enemyClan == playerClan)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.FOOL_YOU_CANNOT_DECLARE_WAR_AGAINST_YOUR_OWN_CLAN));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((clanDeclaringWar.getAllyId() == clanDeclaredWar.getAllyId()) && (clanDeclaringWar.getAllyId() != 0))
|
||||
|
||||
if ((playerClan.getAllyId() == enemyClan.getAllyId()) && (playerClan.getAllyId() != 0))
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_DECLARATION_OF_CLAN_WAR_AGAINST_AN_ALLIED_CLAN_CAN_T_BE_MADE));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
|
||||
if (enemyClan.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CAN_NOT_BE_DECLARED_AGAINST_A_CLAN_THAT_IS_BEING_DISSOLVED));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar clanWar = clanDeclaringWar.getWarWith(clanDeclaredWar.getId());
|
||||
final ClanWar clanWar = playerClan.getWarWith(enemyClan.getId());
|
||||
if (clanWar != null)
|
||||
{
|
||||
if (clanWar.getClanWarState(clanDeclaringWar) == ClanWarState.WIN)
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.WIN)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_CAN_T_DECLARE_A_WAR_BECAUSE_THE_21_DAY_PERIOD_HASN_T_PASSED_AFTER_A_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
|
||||
sm.addString(clanDeclaredWar.getName());
|
||||
sm.addString(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.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());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
for (ClanMember member : clanDeclaringWar.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
if ((clanWar.getClanWarState(playerClan) != ClanWarState.BLOOD_DECLARATION) || (clanWar.getAttackerClanId() == playerClan.getId()))
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
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(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.BLOOD_DECLARATION)
|
||||
{
|
||||
clanWar.mutualClanWarAccepted(enemyClan, playerClan);
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for (ClanMember member : clanDeclaredWar.getMembers())
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(playerClan, enemyClan);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,16 +26,20 @@ import org.l2jmobius.gameserver.network.GameClient;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
private int _clanId;
|
||||
|
||||
@Override
|
||||
public void read(ReadablePacket packet)
|
||||
{
|
||||
_pledgeName = packet.readString();
|
||||
_clanId = packet.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,22 +57,21 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clan == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClan(_clanId);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
player.sendMessage("No such clan.");
|
||||
player.sendPacket(SystemMessageId.THERE_IS_NO_SUCH_CLAN);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!playerClan.isAtWarWith(clan.getId()))
|
||||
if (!playerClan.isAtWarWith(enemyClan.getId()))
|
||||
{
|
||||
player.sendMessage("You aren't at war with this clan.");
|
||||
player.sendPacket(SystemMessageId.ENTER_THE_NAME_OF_THE_CLAN_YOU_WISH_TO_END_THE_WAR_WITH);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player who does the request has the correct rights to do it
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_PLEDGE_WAR))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
@ -90,15 +93,28 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
|
||||
// Reduce reputation.
|
||||
playerClan.takeReputationScore(500);
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId());
|
||||
for (Player member : playerClan.getOnlineMembers(0))
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
}
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), enemyClan.getId());
|
||||
|
||||
for (Player member : clan.getOnlineMembers(0))
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets.pledgeV3;
|
||||
import org.l2jmobius.commons.network.ReadablePacket;
|
||||
import org.l2jmobius.gameserver.data.sql.ClanTable;
|
||||
import org.l2jmobius.gameserver.enums.ClanWarState;
|
||||
import org.l2jmobius.gameserver.enums.UserInfoType;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.clan.ClanMember;
|
||||
@ -30,7 +29,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
@ -50,8 +53,8 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaringWar = player.getClan();
|
||||
if (clanDeclaringWar == null)
|
||||
final Clan playerClan = player.getClan();
|
||||
if (playerClan == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -62,73 +65,94 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaringWar.getWarCount() >= 30)
|
||||
|
||||
if (playerClan.getWarCount() >= 30)
|
||||
{
|
||||
client.sendPacket(SystemMessageId.A_DECLARATION_OF_WAR_AGAINST_MORE_THAN_30_CLANS_CAN_T_BE_MADE_AT_THE_SAME_TIME);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaredWar = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clanDeclaredWar == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CANNOT_BE_DECLARED_AGAINST_A_CLAN_THAT_DOES_NOT_EXIST));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar == clanDeclaringWar)
|
||||
|
||||
if (enemyClan == playerClan)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.FOOL_YOU_CANNOT_DECLARE_WAR_AGAINST_YOUR_OWN_CLAN));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((clanDeclaringWar.getAllyId() == clanDeclaredWar.getAllyId()) && (clanDeclaringWar.getAllyId() != 0))
|
||||
|
||||
if ((playerClan.getAllyId() == enemyClan.getAllyId()) && (playerClan.getAllyId() != 0))
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_DECLARATION_OF_CLAN_WAR_AGAINST_AN_ALLIED_CLAN_CAN_T_BE_MADE));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
|
||||
if (enemyClan.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CAN_NOT_BE_DECLARED_AGAINST_A_CLAN_THAT_IS_BEING_DISSOLVED));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar clanWar = clanDeclaringWar.getWarWith(clanDeclaredWar.getId());
|
||||
final ClanWar clanWar = playerClan.getWarWith(enemyClan.getId());
|
||||
if (clanWar != null)
|
||||
{
|
||||
if (clanWar.getClanWarState(clanDeclaringWar) == ClanWarState.WIN)
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.WIN)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_CAN_T_DECLARE_A_WAR_BECAUSE_THE_21_DAY_PERIOD_HASN_T_PASSED_AFTER_A_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
|
||||
sm.addString(clanDeclaredWar.getName());
|
||||
sm.addString(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.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());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
for (ClanMember member : clanDeclaringWar.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
if ((clanWar.getClanWarState(playerClan) != ClanWarState.BLOOD_DECLARATION) || (clanWar.getAttackerClanId() == playerClan.getId()))
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
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(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.BLOOD_DECLARATION)
|
||||
{
|
||||
clanWar.mutualClanWarAccepted(enemyClan, playerClan);
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for (ClanMember member : clanDeclaredWar.getMembers())
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(playerClan, enemyClan);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,16 +26,20 @@ import org.l2jmobius.gameserver.network.GameClient;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
private int _clanId;
|
||||
|
||||
@Override
|
||||
public void read(ReadablePacket packet)
|
||||
{
|
||||
_pledgeName = packet.readString();
|
||||
_clanId = packet.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,22 +57,21 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clan == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClan(_clanId);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
player.sendMessage("No such clan.");
|
||||
player.sendPacket(SystemMessageId.THERE_IS_NO_SUCH_CLAN);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!playerClan.isAtWarWith(clan.getId()))
|
||||
if (!playerClan.isAtWarWith(enemyClan.getId()))
|
||||
{
|
||||
player.sendMessage("You aren't at war with this clan.");
|
||||
player.sendPacket(SystemMessageId.ENTER_THE_NAME_OF_THE_CLAN_YOU_WISH_TO_END_THE_WAR_WITH);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player who does the request has the correct rights to do it
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_PLEDGE_WAR))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
@ -90,15 +93,28 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
|
||||
// Reduce reputation.
|
||||
playerClan.takeReputationScore(500);
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId());
|
||||
for (Player member : playerClan.getOnlineMembers(0))
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
}
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), enemyClan.getId());
|
||||
|
||||
for (Player member : clan.getOnlineMembers(0))
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets.pledgeV3;
|
||||
import org.l2jmobius.commons.network.ReadablePacket;
|
||||
import org.l2jmobius.gameserver.data.sql.ClanTable;
|
||||
import org.l2jmobius.gameserver.enums.ClanWarState;
|
||||
import org.l2jmobius.gameserver.enums.UserInfoType;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.clan.ClanMember;
|
||||
@ -30,7 +29,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
@ -50,8 +53,8 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaringWar = player.getClan();
|
||||
if (clanDeclaringWar == null)
|
||||
final Clan playerClan = player.getClan();
|
||||
if (playerClan == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -62,73 +65,94 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaringWar.getWarCount() >= 30)
|
||||
|
||||
if (playerClan.getWarCount() >= 30)
|
||||
{
|
||||
client.sendPacket(SystemMessageId.A_DECLARATION_OF_WAR_AGAINST_MORE_THAN_30_CLANS_CAN_T_BE_MADE_AT_THE_SAME_TIME);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaredWar = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clanDeclaredWar == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CANNOT_BE_DECLARED_AGAINST_A_CLAN_THAT_DOES_NOT_EXIST));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar == clanDeclaringWar)
|
||||
|
||||
if (enemyClan == playerClan)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.FOOL_YOU_CANNOT_DECLARE_WAR_AGAINST_YOUR_OWN_CLAN));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((clanDeclaringWar.getAllyId() == clanDeclaredWar.getAllyId()) && (clanDeclaringWar.getAllyId() != 0))
|
||||
|
||||
if ((playerClan.getAllyId() == enemyClan.getAllyId()) && (playerClan.getAllyId() != 0))
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_DECLARATION_OF_CLAN_WAR_AGAINST_AN_ALLIED_CLAN_CAN_T_BE_MADE));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
|
||||
if (enemyClan.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CAN_NOT_BE_DECLARED_AGAINST_A_CLAN_THAT_IS_BEING_DISSOLVED));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar clanWar = clanDeclaringWar.getWarWith(clanDeclaredWar.getId());
|
||||
final ClanWar clanWar = playerClan.getWarWith(enemyClan.getId());
|
||||
if (clanWar != null)
|
||||
{
|
||||
if (clanWar.getClanWarState(clanDeclaringWar) == ClanWarState.WIN)
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.WIN)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_CAN_T_DECLARE_A_WAR_BECAUSE_THE_21_DAY_PERIOD_HASN_T_PASSED_AFTER_A_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
|
||||
sm.addString(clanDeclaredWar.getName());
|
||||
sm.addString(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.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());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
for (ClanMember member : clanDeclaringWar.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
if ((clanWar.getClanWarState(playerClan) != ClanWarState.BLOOD_DECLARATION) || (clanWar.getAttackerClanId() == playerClan.getId()))
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
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(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.BLOOD_DECLARATION)
|
||||
{
|
||||
clanWar.mutualClanWarAccepted(enemyClan, playerClan);
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for (ClanMember member : clanDeclaredWar.getMembers())
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(playerClan, enemyClan);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,16 +26,20 @@ import org.l2jmobius.gameserver.network.GameClient;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
private int _clanId;
|
||||
|
||||
@Override
|
||||
public void read(ReadablePacket packet)
|
||||
{
|
||||
_pledgeName = packet.readString();
|
||||
_clanId = packet.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,22 +57,21 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clan == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClan(_clanId);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
player.sendMessage("No such clan.");
|
||||
player.sendPacket(SystemMessageId.THERE_IS_NO_SUCH_CLAN);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!playerClan.isAtWarWith(clan.getId()))
|
||||
if (!playerClan.isAtWarWith(enemyClan.getId()))
|
||||
{
|
||||
player.sendMessage("You aren't at war with this clan.");
|
||||
player.sendPacket(SystemMessageId.ENTER_THE_NAME_OF_THE_CLAN_YOU_WISH_TO_END_THE_WAR_WITH);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player who does the request has the correct rights to do it
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_PLEDGE_WAR))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
@ -90,15 +93,28 @@ public class RequestExPledgeEnemyDelete implements ClientPacket
|
||||
|
||||
// Reduce reputation.
|
||||
playerClan.takeReputationScore(500);
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId());
|
||||
for (Player member : playerClan.getOnlineMembers(0))
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
}
|
||||
ClanTable.getInstance().deleteClanWars(playerClan.getId(), enemyClan.getId());
|
||||
|
||||
for (Player member : clan.getOnlineMembers(0))
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
member.broadcastUserInfo();
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets.pledgeV3;
|
||||
import org.l2jmobius.commons.network.ReadablePacket;
|
||||
import org.l2jmobius.gameserver.data.sql.ClanTable;
|
||||
import org.l2jmobius.gameserver.enums.ClanWarState;
|
||||
import org.l2jmobius.gameserver.enums.UserInfoType;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.clan.ClanMember;
|
||||
@ -30,7 +29,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.clientpackets.ClientPacket;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.pledgeV3.ExPledgeEnemyInfoList;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
{
|
||||
private String _pledgeName;
|
||||
@ -50,8 +53,8 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaringWar = player.getClan();
|
||||
if (clanDeclaringWar == null)
|
||||
final Clan playerClan = player.getClan();
|
||||
if (playerClan == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -62,73 +65,94 @@ public class RequestExPledgeEnemyRegister implements ClientPacket
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaringWar.getWarCount() >= 30)
|
||||
|
||||
if (playerClan.getWarCount() >= 30)
|
||||
{
|
||||
client.sendPacket(SystemMessageId.A_DECLARATION_OF_WAR_AGAINST_MORE_THAN_30_CLANS_CAN_T_BE_MADE_AT_THE_SAME_TIME);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final Clan clanDeclaredWar = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (clanDeclaredWar == null)
|
||||
final Clan enemyClan = ClanTable.getInstance().getClanByName(_pledgeName);
|
||||
if (enemyClan == null)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CANNOT_BE_DECLARED_AGAINST_A_CLAN_THAT_DOES_NOT_EXIST));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar == clanDeclaringWar)
|
||||
|
||||
if (enemyClan == playerClan)
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.FOOL_YOU_CANNOT_DECLARE_WAR_AGAINST_YOUR_OWN_CLAN));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((clanDeclaringWar.getAllyId() == clanDeclaredWar.getAllyId()) && (clanDeclaringWar.getAllyId() != 0))
|
||||
|
||||
if ((playerClan.getAllyId() == enemyClan.getAllyId()) && (playerClan.getAllyId() != 0))
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_DECLARATION_OF_CLAN_WAR_AGAINST_AN_ALLIED_CLAN_CAN_T_BE_MADE));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if (clanDeclaredWar.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
|
||||
if (enemyClan.getDissolvingExpiryTime() > System.currentTimeMillis())
|
||||
{
|
||||
client.sendPacket(new SystemMessage(SystemMessageId.A_CLAN_WAR_CAN_NOT_BE_DECLARED_AGAINST_A_CLAN_THAT_IS_BEING_DISSOLVED));
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar clanWar = clanDeclaringWar.getWarWith(clanDeclaredWar.getId());
|
||||
final ClanWar clanWar = playerClan.getWarWith(enemyClan.getId());
|
||||
if (clanWar != null)
|
||||
{
|
||||
if (clanWar.getClanWarState(clanDeclaringWar) == ClanWarState.WIN)
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.WIN)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_CAN_T_DECLARE_A_WAR_BECAUSE_THE_21_DAY_PERIOD_HASN_T_PASSED_AFTER_A_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
|
||||
sm.addString(clanDeclaredWar.getName());
|
||||
sm.addString(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.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());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(clanDeclaringWar, clanDeclaredWar);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
for (ClanMember member : clanDeclaringWar.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
if ((clanWar.getClanWarState(playerClan) != ClanWarState.BLOOD_DECLARATION) || (clanWar.getAttackerClanId() == playerClan.getId()))
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
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(enemyClan.getName());
|
||||
client.sendPacket(sm);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (clanWar.getClanWarState(playerClan) == ClanWarState.BLOOD_DECLARATION)
|
||||
{
|
||||
clanWar.mutualClanWarAccepted(enemyClan, playerClan);
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for (ClanMember member : clanDeclaredWar.getMembers())
|
||||
|
||||
final ClanWar newClanWar = new ClanWar(playerClan, enemyClan);
|
||||
ClanTable.getInstance().storeClanWars(newClanWar);
|
||||
|
||||
broadcastClanInfo(playerClan, enemyClan);
|
||||
}
|
||||
|
||||
private void broadcastClanInfo(Clan playerClan, Clan enemyClan)
|
||||
{
|
||||
for (ClanMember member : playerClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().broadcastUserInfo(UserInfoType.CLAN);
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(playerClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
for (ClanMember member : enemyClan.getMembers())
|
||||
{
|
||||
if ((member != null) && member.isOnline())
|
||||
{
|
||||
member.getPlayer().sendPacket(new ExPledgeEnemyInfoList(enemyClan));
|
||||
member.getPlayer().broadcastUserInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user