agility plugin: fix brimhaven timer resetting when failing obstacles

This commit is contained in:
Adam
2018-08-21 08:50:08 -04:00
parent bdeff5ee10
commit d1d6d26b60

View File

@@ -32,6 +32,7 @@ import java.util.Map;
import java.util.Objects;
import javax.inject.Inject;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.Item;
import net.runelite.api.ItemID;
@@ -72,6 +73,7 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
description = "Show helpful information about agility courses and obstacles",
tags = {"grace", "marks", "overlay", "shortcuts", "skilling", "traps"}
)
@Slf4j
public class AgilityPlugin extends Plugin
{
private static final int AGILITY_ARENA_REGION_ID = 11157;
@@ -238,24 +240,26 @@ public class AgilityPlugin extends Plugin
{
if (isInAgilityArena())
{
// Hint arrow has no plane, and always returns the current plane
WorldPoint newTicketPosition = client.getHintArrowPoint();
if (!Objects.equals(lastArenaTicketPosition, newTicketPosition))
{
// We don't want to notify when players first enter the course
if (lastArenaTicketPosition != null && newTicketPosition != null)
{
if (config.notifyAgilityArena())
{
notifier.notify("Ticket location changed");
}
WorldPoint oldTickPosition = lastArenaTicketPosition;
if (config.showAgilityArenaTimer())
{
showNewAgilityArenaTimer();
}
lastArenaTicketPosition = newTicketPosition;
if (oldTickPosition != null && newTicketPosition != null
&& (oldTickPosition.getX() != newTicketPosition.getX() || oldTickPosition.getY() != newTicketPosition.getY()))
{
log.debug("Ticked position moved from {} to {}", oldTickPosition, newTicketPosition);
if (config.notifyAgilityArena())
{
notifier.notify("Ticket location changed");
}
lastArenaTicketPosition = newTicketPosition;
if (config.showAgilityArenaTimer())
{
showNewAgilityArenaTimer();
}
}
}
}