timers: Fix leagues area teleport bug
Teleporting using a trailblazer leagues area teleport previously caused a home or minigame teleport timer to be created, depending on which of the two was most recently stored as `lastTeleportClicked`. To avoid this, a new TeleportWidget has been registered which does not follow any code paths in the plugin.
This commit is contained in:
@@ -162,6 +162,7 @@ public class WidgetID
|
|||||||
public static final int CHAMBERS_OF_XERIC_STORAGE_UNIT_INVENTORY_GROUP_ID = 551;
|
public static final int CHAMBERS_OF_XERIC_STORAGE_UNIT_INVENTORY_GROUP_ID = 551;
|
||||||
public static final int DUEL_INVENTORY_GROUP_ID = 421;
|
public static final int DUEL_INVENTORY_GROUP_ID = 421;
|
||||||
public static final int DUEL_INVENTORY_OTHER_GROUP_ID = 481;
|
public static final int DUEL_INVENTORY_OTHER_GROUP_ID = 481;
|
||||||
|
public static final int TRAILBLAZER_AREAS_GROUP_ID = 512;
|
||||||
|
|
||||||
static class WorldMap
|
static class WorldMap
|
||||||
{
|
{
|
||||||
@@ -936,4 +937,9 @@ public class WidgetID
|
|||||||
{
|
{
|
||||||
static final int CONTAINER = 6;
|
static final int CONTAINER = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class TrailblazerAreas
|
||||||
|
{
|
||||||
|
static final int TELEPORT = 59;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -544,7 +544,10 @@ public enum WidgetInfo
|
|||||||
GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER),
|
GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER),
|
||||||
HALLOWED_SEPULCHRE_TIMER_CONTAINER(WidgetID.HALLOWED_SEPULCHRE_TIMER_GROUP_ID, WidgetID.HallowedSepulchreTimer.CONTAINER),
|
HALLOWED_SEPULCHRE_TIMER_CONTAINER(WidgetID.HALLOWED_SEPULCHRE_TIMER_GROUP_ID, WidgetID.HallowedSepulchreTimer.CONTAINER),
|
||||||
|
|
||||||
HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, WidgetID.EncounterHealthBar.CONTAINER);
|
HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, WidgetID.EncounterHealthBar.CONTAINER),
|
||||||
|
|
||||||
|
TRAILBLAZER_AREA_TELEPORT(WidgetID.TRAILBLAZER_AREAS_GROUP_ID, WidgetID.TrailblazerAreas.TELEPORT),
|
||||||
|
;
|
||||||
|
|
||||||
private final int groupId;
|
private final int groupId;
|
||||||
private final int childId;
|
private final int childId;
|
||||||
|
|||||||
@@ -32,7 +32,9 @@ import net.runelite.api.widgets.WidgetInfo;
|
|||||||
enum TeleportWidget
|
enum TeleportWidget
|
||||||
{
|
{
|
||||||
HOME_TELEPORT,
|
HOME_TELEPORT,
|
||||||
MINIGAME_TELEPORT;
|
MINIGAME_TELEPORT,
|
||||||
|
TRAILBLAZER_AREA_TELEPORT,
|
||||||
|
;
|
||||||
|
|
||||||
private static final Collection HOME_TELEPORT_IDS = ImmutableList.of(
|
private static final Collection HOME_TELEPORT_IDS = ImmutableList.of(
|
||||||
WidgetInfo.SPELL_LUMBRIDGE_HOME_TELEPORT.getId(),
|
WidgetInfo.SPELL_LUMBRIDGE_HOME_TELEPORT.getId(),
|
||||||
@@ -56,6 +58,10 @@ enum TeleportWidget
|
|||||||
{
|
{
|
||||||
return MINIGAME_TELEPORT;
|
return MINIGAME_TELEPORT;
|
||||||
}
|
}
|
||||||
|
else if (widgetId == WidgetInfo.TRAILBLAZER_AREA_TELEPORT.getId())
|
||||||
|
{
|
||||||
|
return TRAILBLAZER_AREA_TELEPORT;
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user