From e75d7986894f02fc9185e3209dcd4e350d86f0fd Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Tue, 9 Jan 2018 00:55:34 +0100 Subject: [PATCH] Add Antidote++ timer to TimerPlugin Add missing Antidote++ timer to TimerPlugin Closes #334 Signed-off-by: Tomas Slusny --- .../client/plugins/timers/GameTimer.java | 3 ++- .../client/plugins/timers/TimersConfig.java | 10 ++++++++ .../client/plugins/timers/TimersPlugin.java | 23 ++++++++++++++++++ .../plugins/timers/antidoteplusplus.png | Bin 0 -> 751 bytes 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/timers/antidoteplusplus.png 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 29b28a214c..c961e68e24 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 @@ -45,7 +45,8 @@ public enum GameTimer FULLTB("teleblock", 5, ChronoUnit.MINUTES), HALFTB("teleblock", 150, ChronoUnit.SECONDS), SUPERANTIVENOM("antivenom", 3, ChronoUnit.MINUTES), - SUPERANTIFIRE("superantifire", 2, ChronoUnit.MINUTES); + SUPERANTIFIRE("superantifire", 2, ChronoUnit.MINUTES), + ANTIDOTEPLUSPLUS("antidoteplusplus", 12, ChronoUnit.MINUTES); private final String imageResource; 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 f7e1ad04e3..12f77b56df 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 @@ -134,4 +134,14 @@ public interface TimersConfig extends Config { return true; } + + @ConfigItem( + keyName = "showAntidotePlusPlus", + name = "Antidote++ timer", + description = "Configures whether antidote++ timer is displayed" + ) + default boolean showAntidotePlusPlus() + { + 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 124cdbb123..12098e141c 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 @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.timers; +import static net.runelite.client.plugins.timers.GameTimer.ANTIDOTEPLUSPLUS; import static net.runelite.client.plugins.timers.GameTimer.ANTIFIRE; import static net.runelite.client.plugins.timers.GameTimer.CANNON; import static net.runelite.client.plugins.timers.GameTimer.EXANTIFIRE; @@ -38,9 +39,11 @@ import com.google.common.eventbus.Subscribe; import com.google.inject.Provides; import javax.inject.Inject; import net.runelite.api.ChatMessageType; +import net.runelite.api.ItemID; import net.runelite.client.config.ConfigManager; import net.runelite.client.events.ChatMessage; import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.MenuOptionClicked; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; @@ -110,6 +113,26 @@ public class TimersPlugin extends Plugin { removeGameTimer(SUPERANTIFIRE); } + + if (!config.showAntidotePlusPlus()) + { + removeGameTimer(ANTIDOTEPLUSPLUS); + } + } + + @Subscribe + public void onMenuOptionClicked(MenuOptionClicked event) + { + if (config.showAntidotePlusPlus() + && event.getMenuOption().contains("Drink") + && (event.getId() == ItemID.ANTIDOTE1_5958 + || event.getId() == ItemID.ANTIDOTE2_5956 + || event.getId() == ItemID.ANTIDOTE3_5954 + || event.getId() == ItemID.ANTIDOTE4_5952)) + { + // Needs menu option hook because drink message is intercepting with antipoison message + createGameTimer(ANTIDOTEPLUSPLUS); + } } @Subscribe diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/timers/antidoteplusplus.png b/runelite-client/src/main/resources/net/runelite/client/plugins/timers/antidoteplusplus.png new file mode 100644 index 0000000000000000000000000000000000000000..e269b23c73fe46fb281e282a4d9c31c3bf66bc0c GIT binary patch literal 751 zcmVPx%sYygZR7l62mQ8CDQ51&Xd+to8)275C(v5q;l@?-3mtFW5y6_hWqM}fwpi39x z+HDu^ims%Bf)OkTVsWK{8^MJwrA-ZKrqg6{&v7vy$)xkqX5d0*CV9_u&U@~;Q7FBX zr0+$Q{-R9q$%6*koj%&_9uEF_c>Cc`sjyWRb*X+C#)Ponf9>Pyl}mX3Vq1!YsZ2B$ z33r1(HC9{AH!?5Jkx-@+yD=W94wFb~dFfbu03yfhbFW-b^+j#$OGqVi2 zHJzE61^~QnI?1zcw}yT{z?9oZr_(vVQLY<_sUb+`s0$W`?;qpX>rNs%HBwIwYsw7Y z_i^lb@Crm#kx?5Pui&~<5MhV_>+3JkIy}JEr;mjjp|DSz%_ipNY9I=mgoTsO6Zfg> zI#5bML;!>xG!&hvPl1c`+Yk{51S|ql1X6^0eQ~lrU0rK{S>VoYMT82~3oS795g7lx zq)Kkzy@qPlPCfm*a|BHa76IBK+*q8?rOiygR&z25v?h>Nu!vyUbXHO&ckW+@7w?u)vn&ECj?Sc|q?Q#L zPWX&9Zq_*M;?j_o0Km3&%AoA@RobkGHg2)eEECbQUa?sTZM+#YVWA$<5+Lf?(=VlB zT2sobm{!|_0W;d|9=?6u10X6HC_%ufx)qsaR|x*e0KRW<)ahYw*Tc^rhslgp<45x9 zS|ds`9l$WqJ240XgI4PVo)_R?-^1sv-BUwb6`l8w9ybzU!$8ny?Cf;WY4@=C=6CK1 hQ2Jjg|6TrZ@*ngq8*}r8Wz7Hp002ovPDHLkV1mwkTvPx6 literal 0 HcmV?d00001