Ok, the formatting probably confuses you, there is the formatted method:
/**
* Starts the TvTEvent fight<br>
* 1. Set state EventState.STARTING<br>
* 2. Close doors specified in configs<br>
* 3. Abort if not enought participants(return false)<br>
* 4. Set state EventState.STARTED<br>
* 5. Teleport all participants to team spot<br><br>
*
* @return boolean<br>
*/
public static boolean startFight()
{
setState(EventState.STARTING);
// not enought participants
if (_teams[0].getParticipatedPlayerCount() < Config.TVT_EVENT_MIN_PLAYERS_IN_TEAMS || _teams[1].getParticipatedPlayerCount() < Config.TVT_EVENT_MIN_PLAYERS_IN_TEAMS)
{
setState(EventState.INACTIVE);
_teams[0].cleanMe();
_teams[1].cleanMe();
return false;
}
closeDoors();
setState(EventState.STARTED); // set state to STARTED here, so TvTEventTeleporter know to teleport to team spot
// teleport all participants to there team spot
for (TvTEventTeam team : _teams)
{
for (String playerName : team.getParticipatedPlayerNames())
{
L2PcInstance playerInstance = team.getParticipatedPlayers().get(playerName);
if (playerInstance == null)
continue;
// implements Runnable and starts itself in constructor
new TvTEventTeleporter(playerInstance, team.getCoordinates(), false, false);
}
}
return true;
}
After applying your patch, the code should look something like this:
/**
* Starts the TvTEvent fight<br>
* 1. Set state EventState.STARTING<br>
* 2. Close doors specified in configs<br>
* 3. Abort if not enought participants(return false)<br>
* 4. Set state EventState.STARTED<br>
* 5. Teleport all participants to team spot<br><br>
*
* @return boolean<br>
*/
public static boolean startFight()
{
setState(EventState.STARTING);
// not enought participants
if (_teams[0].getParticipatedPlayerCount() < Config.TVT_EVENT_MIN_PLAYERS_IN_TEAMS || _teams[1].getParticipatedPlayerCount() < Config.TVT_EVENT_MIN_PLAYERS_IN_TEAMS)
{
setState(EventState.INACTIVE);
_teams[0].cleanMe();
_teams[1].cleanMe();
return false;
}
closeDoors();
setState(EventState.STARTED); // set state to STARTED here, so TvTEventTeleporter know to teleport to team spot
// teleport all participants to there team spot
for (TvTEventTeam team : _teams)
{
for (String playerName : team.getParticipatedPlayerNames())
{
L2PcInstance playerInstance = team.getParticipatedPlayers().get(playerName);
if (playerInstance == null)
continue;
// implements Runnable and starts itself in constructor
new TvTEventTeleporter(playerInstance, team.getCoordinates(), false, false);
}
}
// Remove player from his party
for (TvTEventTeam team : _teams)
{
for (String playerName : team.getParticipatedPlayerNames())
{
L2PcInstance playerInstance = team.getParticipatedPlayers().get(playerName);
final L2Party party = playerInstance.getParty();
if (party != null)
party.removePartyMember(playerInstance, MessageType.Expelled);
}
}
return true;
}
Do you notice the problem here?