Reduce reputation when war is canceled.

This commit is contained in:
MobiusDev
2018-09-06 23:25:46 +00:00
parent fa89a5bd17
commit 4c09d669cf
14 changed files with 154 additions and 280 deletions

View File

@ -183,28 +183,26 @@ public final class ClanWar
{
final L2Clan winnerClan = cancelor.getId() == _attackerClanId ? ClanTable.getInstance().getClan(_attackedClanId) : ClanTable.getInstance().getClan(_attackerClanId);
if (cancelor.getReputationScore() > 5000)
// Reduce reputation.
cancelor.takeReputationScore(5000, true);
player.sendPacket(new SurrenderPledgeWar(cancelor.getName(), player.getName()));
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_WAR_ENDED_BY_YOUR_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
sm.addString(winnerClan.getName());
cancelor.broadcastToOnlineMembers(sm);
sm = SystemMessage.getSystemMessage(SystemMessageId.THE_WAR_ENDED_BY_THE_S1_CLAN_S_DEFEAT_DECLARATION_YOU_HAVE_WON_THE_CLAN_WAR_OVER_THE_S1_CLAN);
sm.addString(cancelor.getName());
winnerClan.broadcastToOnlineMembers(sm);
_winnerClanId = winnerClan.getId();
_endTime = System.currentTimeMillis();
ThreadPool.schedule(() ->
{
cancelor.takeReputationScore(5000, true);
player.sendPacket(new SurrenderPledgeWar(cancelor.getName(), player.getName()));
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_WAR_ENDED_BY_YOUR_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
sm.addString(winnerClan.getName());
cancelor.broadcastToOnlineMembers(sm);
sm = SystemMessage.getSystemMessage(SystemMessageId.THE_WAR_ENDED_BY_THE_S1_CLAN_S_DEFEAT_DECLARATION_YOU_HAVE_WON_THE_CLAN_WAR_OVER_THE_S1_CLAN);
sm.addString(cancelor.getName());
winnerClan.broadcastToOnlineMembers(sm);
_winnerClanId = winnerClan.getId();
_endTime = System.currentTimeMillis();
ThreadPool.schedule(() ->
{
ClanTable.getInstance().deleteclanswars(cancelor.getId(), winnerClan.getId());
}, (_endTime + TIME_TO_DELETION_AFTER_DEFEAT) - System.currentTimeMillis());
}
ClanTable.getInstance().deleteclanswars(cancelor.getId(), winnerClan.getId());
}, (_endTime + TIME_TO_DELETION_AFTER_DEFEAT) - System.currentTimeMillis());
}
public void clanWarTimeout()

View File

@ -75,25 +75,6 @@ public final class RequestStopPledgeWar implements IClientIncomingPacket
return;
}
// LOGGER.info("RequestStopPledgeWar: By leader or authorized player: " + playerClan.getLeaderName() + " of clan: "
// + playerClan.getName() + " to clan: " + _pledgeName);
// L2PcInstance leader = L2World.getInstance().getPlayer(clan.getLeaderName());
// if(leader != null && leader.isOnline() == 0)
// {
// player.sendMessage("Clan leader isn't online.");
// player.sendPacket(ActionFailed.STATIC_PACKET);
// return;
// }
// if (leader.isProcessingRequest())
// {
// SystemMessage sm = SystemMessage.getSystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
// sm.addString(leader.getName());
// player.sendPacket(sm);
// return;
// }
for (L2ClanMember member : playerClan.getMembers())
{
if ((member == null) || (member.getPlayerInstance() == null))
@ -107,6 +88,9 @@ public final class RequestStopPledgeWar implements IClientIncomingPacket
}
}
// Reduce reputation.
playerClan.takeReputationScore(5000, true);
ClanTable.getInstance().deleteclanswars(playerClan.getId(), clan.getId());
for (L2PcInstance member : playerClan.getOnlineMembers(0))