Custom Ghost Walking buff when TvT member resurrects.
This commit is contained in:
@@ -67,6 +67,7 @@ public class TvT extends Event
|
||||
// NPC
|
||||
private static final int MANAGER = 70010;
|
||||
// Skills
|
||||
private static final SkillHolder GHOST_WALKING = new SkillHolder(100000, 1); // Custom Ghost Walking
|
||||
private static final SkillHolder KNIGHT = new SkillHolder(15648, 1); // Knight's Harmony (Adventurer)
|
||||
private static final SkillHolder WARRIOR = new SkillHolder(15649, 1); // Warrior's Harmony (Adventurer)
|
||||
private static final SkillHolder WIZARD = new SkillHolder(15650, 1); // Wizard's Harmony (Adventurer)
|
||||
@@ -466,11 +467,19 @@ public class TvT extends Event
|
||||
{
|
||||
player.setIsPendingRevive(true);
|
||||
player.teleToLocation(BLUE_SPAWN_LOC, false, PVP_WORLD);
|
||||
// Make player invulnerable for 30 seconds.
|
||||
GHOST_WALKING.getSkill().applyEffects(player, player);
|
||||
// Reset existing activity timers.
|
||||
resetActivityTimers(player); // In case player died in peace zone.
|
||||
}
|
||||
else if (RED_TEAM.contains(player))
|
||||
{
|
||||
player.setIsPendingRevive(true);
|
||||
player.teleToLocation(RED_SPAWN_LOC, false, PVP_WORLD);
|
||||
// Make player invulnerable for 30 seconds.
|
||||
GHOST_WALKING.getSkill().applyEffects(player, player);
|
||||
// Reset existing activity timers.
|
||||
resetActivityTimers(player); // In case player died in peace zone.
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -570,8 +579,7 @@ public class TvT extends Event
|
||||
((((zone == BLUE_PEACE_ZONE) && (character.getTeam() == Team.BLUE)) || //
|
||||
((zone == RED_PEACE_ZONE) && (character.getTeam() == Team.RED)))))
|
||||
{
|
||||
startQuestTimer("KickPlayer" + character.getObjectId(), PVP_WORLD.getDoor(BLUE_DOOR_ID).isOpen() ? INACTIVITY_TIME * 60000 : (INACTIVITY_TIME * 60000) + (WAIT_TIME * 60000), null, character.getActingPlayer());
|
||||
startQuestTimer("KickPlayerWarning" + character.getObjectId(), PVP_WORLD.getDoor(BLUE_DOOR_ID).isOpen() ? (INACTIVITY_TIME / 2) * 60000 : ((INACTIVITY_TIME / 2) * 60000) + (WAIT_TIME * 60000), null, character.getActingPlayer());
|
||||
resetActivityTimers(character.getActingPlayer());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -582,8 +590,14 @@ public class TvT extends Event
|
||||
{
|
||||
if (character.isPlayer() && character.getActingPlayer().isOnCustomEvent())
|
||||
{
|
||||
cancelQuestTimer("KickPlayer" + character.getObjectId(), null, character.getActingPlayer());
|
||||
cancelQuestTimer("KickPlayerWarning" + character.getObjectId(), null, character.getActingPlayer());
|
||||
final L2PcInstance player = character.getActingPlayer();
|
||||
cancelQuestTimer("KickPlayer" + character.getObjectId(), null, player);
|
||||
cancelQuestTimer("KickPlayerWarning" + character.getObjectId(), null, player);
|
||||
// Removed invulnerability shield.
|
||||
if (player.isAffectedBySkill(GHOST_WALKING))
|
||||
{
|
||||
player.getEffectList().stopSkillEffects(true, GHOST_WALKING.getSkill());
|
||||
}
|
||||
}
|
||||
return super.onExitZone(character, zone);
|
||||
}
|
||||
@@ -718,6 +732,14 @@ public class TvT extends Event
|
||||
}
|
||||
}
|
||||
|
||||
private void resetActivityTimers(L2PcInstance player)
|
||||
{
|
||||
cancelQuestTimer("KickPlayer" + player.getObjectId(), null, player);
|
||||
cancelQuestTimer("KickPlayerWarning" + player.getObjectId(), null, player);
|
||||
startQuestTimer("KickPlayer" + player.getObjectId(), PVP_WORLD.getDoor(BLUE_DOOR_ID).isOpen() ? INACTIVITY_TIME * 60000 : (INACTIVITY_TIME * 60000) + (WAIT_TIME * 60000), null, player);
|
||||
startQuestTimer("KickPlayerWarning" + player.getObjectId(), PVP_WORLD.getDoor(BLUE_DOOR_ID).isOpen() ? (INACTIVITY_TIME / 2) * 60000 : ((INACTIVITY_TIME / 2) * 60000) + (WAIT_TIME * 60000), null, player);
|
||||
}
|
||||
|
||||
private void manageForfeit()
|
||||
{
|
||||
cancelQuestTimer("10", null, null);
|
||||
|
Reference in New Issue
Block a user