Making Olympiad participants invulnerable at match end.
This commit is contained in:
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -333,6 +333,9 @@ public abstract class AbstractOlympiadGame
|
||||
player.setCurrentHp(player.getMaxHp());
|
||||
player.setCurrentMp(player.getMaxMp());
|
||||
player.getStatus().startHpMpRegeneration();
|
||||
|
||||
// Add invul state.
|
||||
player.setIsInvul(true);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -380,6 +383,9 @@ public abstract class AbstractOlympiadGame
|
||||
player.setCurrentMp(player.getMaxMp());
|
||||
player.getStatus().startHpMpRegeneration();
|
||||
|
||||
// Remove invul state.
|
||||
player.setIsInvul(false);
|
||||
|
||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||
{
|
||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
|
||||
@@ -492,4 +498,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract int[][] getReward();
|
||||
|
||||
protected abstract String getWeeklyMatchType();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
@@ -807,4 +807,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -445,7 +445,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
* Fifth stage: battle is running, returns true if winner found.
|
||||
* @return
|
||||
*/
|
||||
private final boolean checkBattle()
|
||||
private boolean checkBattle()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -462,7 +462,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
/**
|
||||
* Sixth stage: winner's validations
|
||||
*/
|
||||
private final void stopGame()
|
||||
private void stopGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -473,15 +473,6 @@ public final class OlympiadGameTask implements Runnable
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_zone.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
@@ -490,13 +481,40 @@ public final class OlympiadGameTask implements Runnable
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_zone.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Seventh stage: game cleanup (port players back, closing doors, etc)
|
||||
*/
|
||||
private final void cleanupGame()
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -1094,4 +1094,42 @@ public class OlympiadGameTeams extends AbstractOlympiadGame
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void makePlayersInvul()
|
||||
{
|
||||
for (Participant participant : _teamOne)
|
||||
{
|
||||
if (participant.getPlayer() != null)
|
||||
{
|
||||
participant.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
for (Participant participant : _teamTwo)
|
||||
{
|
||||
if (participant.getPlayer() != null)
|
||||
{
|
||||
participant.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removePlayersInvul()
|
||||
{
|
||||
for (Participant participant : _teamOne)
|
||||
{
|
||||
if (participant.getPlayer() != null)
|
||||
{
|
||||
participant.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
for (Participant participant : _teamTwo)
|
||||
{
|
||||
if (participant.getPlayer() != null)
|
||||
{
|
||||
participant.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
@@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
|
||||
protected abstract void healPlayers();
|
||||
|
||||
protected abstract void untransformPlayers();
|
||||
|
||||
protected abstract void makePlayersInvul();
|
||||
|
||||
protected abstract void removePlayersInvul();
|
||||
}
|
||||
|
@@ -797,4 +797,30 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
player2.stopTransformation(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void makePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(true);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removePlayersInvul()
|
||||
{
|
||||
if (_playerOne.getPlayer() != null)
|
||||
{
|
||||
_playerOne.getPlayer().setIsInvul(false);
|
||||
}
|
||||
if (_playerTwo.getPlayer() != null)
|
||||
{
|
||||
_playerTwo.getPlayer().setIsInvul(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -485,7 +485,7 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
_game.cleanEffects();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -494,7 +494,16 @@ public final class OlympiadGameTask implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
_game.cleanEffects();
|
||||
_game.makePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stadium.updateZoneStatusForCharactersInside();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -507,6 +516,15 @@ public final class OlympiadGameTask implements Runnable
|
||||
*/
|
||||
private void cleanupGame()
|
||||
{
|
||||
try
|
||||
{
|
||||
_game.removePlayersInvul();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_game.playersStatusBack();
|
||||
|
Reference in New Issue
Block a user