Making Olympiad participants invulnerable at match end.

This commit is contained in:
MobiusDev
2018-03-11 12:23:52 +00:00
parent f747e61acc
commit b6f09dba3a
22 changed files with 404 additions and 24 deletions

View File

@ -487,4 +487,8 @@ public abstract class AbstractOlympiadGame
protected abstract void healPlayers();
protected abstract void untransformPlayers();
protected abstract void makePlayersInvul();
protected abstract void removePlayersInvul();
}

View File

@ -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);
}
}
}

View File

@ -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();