Manage TvT team forfeit.
This commit is contained in:
		@@ -476,53 +476,17 @@ public class TvT extends Event
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "10":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("10", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "9":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("9", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "8":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("8", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "7":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("7", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "6":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("6", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "5":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("5", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "4":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("4", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "3":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("3", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "2":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("2", 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "1":
 | 
			
		||||
			{
 | 
			
		||||
				broadcastScreenMessage("1", 4);
 | 
			
		||||
				broadcastScreenMessage(event, 4);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -546,7 +510,16 @@ public class TvT extends Event
 | 
			
		||||
				player.sendMessage("You have been kicked for been inactive.");
 | 
			
		||||
				if (PVP_WORLD != null)
 | 
			
		||||
				{
 | 
			
		||||
					broadcastScreenMessageWithEffect("Player " + player.getName() + " was kicked for been inactive!", 7);
 | 
			
		||||
					// Manage forfeit.
 | 
			
		||||
					if ((BLUE_TEAM.isEmpty() && !RED_TEAM.isEmpty()) || //
 | 
			
		||||
						(RED_TEAM.isEmpty() && !BLUE_TEAM.isEmpty()))
 | 
			
		||||
					{
 | 
			
		||||
						manageForfeit();
 | 
			
		||||
					}
 | 
			
		||||
					else
 | 
			
		||||
					{
 | 
			
		||||
						broadcastScreenMessageWithEffect("Player " + player.getName() + " was kicked for been inactive!", 7);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -740,34 +713,37 @@ public class TvT extends Event
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	private void manageForfeit()
 | 
			
		||||
	{
 | 
			
		||||
		cancelQuestTimer("10", null, null);
 | 
			
		||||
		cancelQuestTimer("9", null, null);
 | 
			
		||||
		cancelQuestTimer("8", null, null);
 | 
			
		||||
		cancelQuestTimer("7", null, null);
 | 
			
		||||
		cancelQuestTimer("6", null, null);
 | 
			
		||||
		cancelQuestTimer("5", null, null);
 | 
			
		||||
		cancelQuestTimer("4", null, null);
 | 
			
		||||
		cancelQuestTimer("3", null, null);
 | 
			
		||||
		cancelQuestTimer("2", null, null);
 | 
			
		||||
		cancelQuestTimer("1", null, null);
 | 
			
		||||
		cancelQuestTimer("EndFight", null, null);
 | 
			
		||||
		startQuestTimer("EndFight", 10000, null, null);
 | 
			
		||||
		broadcastScreenMessageWithEffect("Enemy team forfeit!", 7);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@RegisterEvent(EventType.ON_PLAYER_LOGOUT)
 | 
			
		||||
	private void OnPlayerLogout(OnPlayerLogout event)
 | 
			
		||||
	{
 | 
			
		||||
		final L2PcInstance player = event.getActiveChar();
 | 
			
		||||
		if (player != null)
 | 
			
		||||
		// Remove player from lists.
 | 
			
		||||
		PLAYER_LIST.remove(player);
 | 
			
		||||
		PLAYER_SCORES.remove(player);
 | 
			
		||||
		BLUE_TEAM.remove(player);
 | 
			
		||||
		RED_TEAM.remove(player);
 | 
			
		||||
		// Manage forfeit.
 | 
			
		||||
		if ((BLUE_TEAM.isEmpty() && !RED_TEAM.isEmpty()) || //
 | 
			
		||||
			(RED_TEAM.isEmpty() && !BLUE_TEAM.isEmpty()))
 | 
			
		||||
		{
 | 
			
		||||
			PLAYER_LIST.remove(player);
 | 
			
		||||
			PLAYER_SCORES.remove(player);
 | 
			
		||||
			BLUE_TEAM.remove(player);
 | 
			
		||||
			RED_TEAM.remove(player);
 | 
			
		||||
		}
 | 
			
		||||
		// If all players left instance end the event.
 | 
			
		||||
		if (PLAYER_LIST.isEmpty())
 | 
			
		||||
		{
 | 
			
		||||
			// Stop timers.
 | 
			
		||||
			for (List<QuestTimer> timers : getQuestTimers().values())
 | 
			
		||||
			{
 | 
			
		||||
				for (QuestTimer timer : timers)
 | 
			
		||||
				{
 | 
			
		||||
					timer.cancel();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			// Destroy world.
 | 
			
		||||
			if (PVP_WORLD != null)
 | 
			
		||||
			{
 | 
			
		||||
				PVP_WORLD.destroy();
 | 
			
		||||
				PVP_WORLD = null;
 | 
			
		||||
			}
 | 
			
		||||
			manageForfeit();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
@@ -808,7 +784,7 @@ public class TvT extends Event
 | 
			
		||||
		}
 | 
			
		||||
		EVENT_ACTIVE = true;
 | 
			
		||||
		
 | 
			
		||||
		// Cancel timers. (In case event started immediately after another event finished.)
 | 
			
		||||
		// Cancel timers. (In case event started immediately after another event was canceled.)
 | 
			
		||||
		for (List<QuestTimer> timers : getQuestTimers().values())
 | 
			
		||||
		{
 | 
			
		||||
			for (QuestTimer timer : timers)
 | 
			
		||||
@@ -827,7 +803,6 @@ public class TvT extends Event
 | 
			
		||||
		// Send message to players.
 | 
			
		||||
		Broadcast.toAllOnlinePlayers("TvT Event: Registration opened for " + REGISTRATION_TIME + " minutes.");
 | 
			
		||||
		Broadcast.toAllOnlinePlayers("TvT Event: You can register at Giran TvT Event Manager.");
 | 
			
		||||
		
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user