From 3da044ea3a25dbdc26dd10772f49a535f042fcdd Mon Sep 17 00:00:00 2001 From: Damen Date: Fri, 5 Jul 2019 14:25:22 -0400 Subject: [PATCH] Add Dragonfire Shield timer to timers plugin (#9234) --- .../src/main/java/net/runelite/api/AnimationID.java | 1 + .../net/runelite/client/plugins/timers/GameTimer.java | 3 ++- .../runelite/client/plugins/timers/TimersConfig.java | 10 ++++++++++ .../runelite/client/plugins/timers/TimersPlugin.java | 5 +++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/AnimationID.java b/runelite-api/src/main/java/net/runelite/api/AnimationID.java index 7aa4a7f8a3..316feda5d0 100644 --- a/runelite-api/src/main/java/net/runelite/api/AnimationID.java +++ b/runelite-api/src/main/java/net/runelite/api/AnimationID.java @@ -155,6 +155,7 @@ public final class AnimationID public static final int SAND_COLLECTION = 895; public static final int PISCARILIUS_CRANE_REPAIR = 7199; public static final int HOME_MAKE_TABLET = 4067; + public static final int DRAGONFIRE_SHIELD_SPECIAL = 6696; // NPC animations public static final int TZTOK_JAD_MAGIC_ATTACK = 2656; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java index 529103d204..40a6c97ecb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java @@ -78,7 +78,8 @@ enum GameTimer STAFF_OF_THE_DEAD(ItemID.STAFF_OF_THE_DEAD, GameTimerImageType.ITEM, "Staff of the Dead", 1, ChronoUnit.MINUTES), ABYSSAL_SIRE_STUN(ItemID.ABYSSAL_ORPHAN, GameTimerImageType.ITEM, "Abyssal Sire Stun", 30, ChronoUnit.SECONDS, true), HOME_TELEPORT(SpriteID.SPELL_LUMBRIDGE_HOME_TELEPORT, GameTimerImageType.SPRITE, "Home Teleport", 30, ChronoUnit.MINUTES), - MINIGAME_TELEPORT(SpriteID.TAB_QUESTS_RED_MINIGAMES, GameTimerImageType.SPRITE, "Minigame Teleport", 20, ChronoUnit.MINUTES); + MINIGAME_TELEPORT(SpriteID.TAB_QUESTS_RED_MINIGAMES, GameTimerImageType.SPRITE, "Minigame Teleport", 20, ChronoUnit.MINUTES), + DRAGON_FIRE_SHIELD(ItemID.DRAGONFIRE_SHIELD_11284, GameTimerImageType.ITEM, "Dragonfire Shield Special", 2, ChronoUnit.MINUTES); @Getter private final Duration duration; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersConfig.java index dd42787d73..eef5c4d613 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersConfig.java @@ -200,4 +200,14 @@ public interface TimersConfig extends Config { return true; } + + @ConfigItem( + keyName = "showDfsSpecial", + name = "Dragonfire Shield special timer", + description = "Configures whether the special attack cooldown timer for the Dragonfire Shield is displayed" + ) + default boolean showDFSSpecial() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index d8d4c07cee..a1b2a04f1c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -706,6 +706,11 @@ public class TimersPlugin extends Plugin } } + if (config.showDFSSpecial() && lastAnimation == AnimationID.DRAGONFIRE_SHIELD_SPECIAL) + { + createGameTimer(DRAGON_FIRE_SHIELD); + } + lastAnimation = client.getLocalPlayer().getAnimation(); }