Add anti-poison timers to anti-venom potions
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -49,6 +49,7 @@ enum GameTimer
|
|||||||
DMM_FULLTB(SpriteID.SPELL_TELE_BLOCK, GameTimerImageType.SPRITE, "Deadman Mode Full Teleblock", 150, ChronoUnit.SECONDS, true),
|
DMM_FULLTB(SpriteID.SPELL_TELE_BLOCK, GameTimerImageType.SPRITE, "Deadman Mode Full Teleblock", 150, ChronoUnit.SECONDS, true),
|
||||||
DMM_HALFTB(SpriteID.SPELL_TELE_BLOCK, GameTimerImageType.SPRITE, "Deadman Mode Half Teleblock", 75, ChronoUnit.SECONDS, true),
|
DMM_HALFTB(SpriteID.SPELL_TELE_BLOCK, GameTimerImageType.SPRITE, "Deadman Mode Half Teleblock", 75, ChronoUnit.SECONDS, true),
|
||||||
ANTIVENOMPLUS(ItemID.ANTIVENOM4_12913, GameTimerImageType.ITEM, "Anti-venom+", 3, ChronoUnit.MINUTES, true),
|
ANTIVENOMPLUS(ItemID.ANTIVENOM4_12913, GameTimerImageType.ITEM, "Anti-venom+", 3, ChronoUnit.MINUTES, true),
|
||||||
|
ANTIVENOMPLUS_ANTIPOSION(ItemID.SUPERANTIPOISON4, GameTimerImageType.ITEM, "Anti-venom+ Antipoison", 15, ChronoUnit.MINUTES, 3),
|
||||||
SUPERANTIFIRE(ItemID.SUPER_ANTIFIRE_POTION4, GameTimerImageType.ITEM, "Super antifire", 3, ChronoUnit.MINUTES),
|
SUPERANTIFIRE(ItemID.SUPER_ANTIFIRE_POTION4, GameTimerImageType.ITEM, "Super antifire", 3, ChronoUnit.MINUTES),
|
||||||
ANTIDOTEPLUSPLUS(ItemID.ANTIDOTE4_5952, GameTimerImageType.ITEM, "Antidote++", 12, ChronoUnit.MINUTES),
|
ANTIDOTEPLUSPLUS(ItemID.ANTIDOTE4_5952, GameTimerImageType.ITEM, "Antidote++", 12, ChronoUnit.MINUTES),
|
||||||
BIND(SpriteID.SPELL_BIND, GameTimerImageType.SPRITE, "Bind", GraphicID.BIND, 5, ChronoUnit.SECONDS, true),
|
BIND(SpriteID.SPELL_BIND, GameTimerImageType.SPRITE, "Bind", GraphicID.BIND, 5, ChronoUnit.SECONDS, true),
|
||||||
@@ -65,6 +66,7 @@ enum GameTimer
|
|||||||
VENGEANCE(SpriteID.SPELL_VENGEANCE, GameTimerImageType.SPRITE, "Vengeance", 30, ChronoUnit.SECONDS),
|
VENGEANCE(SpriteID.SPELL_VENGEANCE, GameTimerImageType.SPRITE, "Vengeance", 30, ChronoUnit.SECONDS),
|
||||||
ANTIDOTEPLUS(ItemID.ANTIDOTE4, GameTimerImageType.ITEM, "Antidote+", 518, ChronoUnit.SECONDS),
|
ANTIDOTEPLUS(ItemID.ANTIDOTE4, GameTimerImageType.ITEM, "Antidote+", 518, ChronoUnit.SECONDS),
|
||||||
ANTIVENOM(ItemID.ANTIVENOM4, GameTimerImageType.ITEM, "Anti-venom", 1, ChronoUnit.MINUTES, true),
|
ANTIVENOM(ItemID.ANTIVENOM4, GameTimerImageType.ITEM, "Anti-venom", 1, ChronoUnit.MINUTES, true),
|
||||||
|
ANTIVENOM_ANTIPOISON(ItemID.ANTIPOISON4, GameTimerImageType.ITEM, "Anti-venom Antipoison", 12, ChronoUnit.MINUTES, 1),
|
||||||
EXSUPERANTIFIRE(ItemID.EXTENDED_SUPER_ANTIFIRE4, GameTimerImageType.ITEM, "Extended Super AntiFire", 6, ChronoUnit.MINUTES),
|
EXSUPERANTIFIRE(ItemID.EXTENDED_SUPER_ANTIFIRE4, GameTimerImageType.ITEM, "Extended Super AntiFire", 6, ChronoUnit.MINUTES),
|
||||||
SANFEW(ItemID.SANFEW_SERUM4, GameTimerImageType.ITEM, "Sanfew serum", 6, ChronoUnit.MINUTES, true),
|
SANFEW(ItemID.SANFEW_SERUM4, GameTimerImageType.ITEM, "Sanfew serum", 6, ChronoUnit.MINUTES, true),
|
||||||
OVERLOAD_RAID(ItemID.OVERLOAD_4_20996, GameTimerImageType.ITEM, "Overload", 5, ChronoUnit.MINUTES, true),
|
OVERLOAD_RAID(ItemID.OVERLOAD_4_20996, GameTimerImageType.ITEM, "Overload", 5, ChronoUnit.MINUTES, true),
|
||||||
@@ -86,10 +88,12 @@ enum GameTimer
|
|||||||
private final String description;
|
private final String description;
|
||||||
@Getter
|
@Getter
|
||||||
private final boolean removedOnDeath;
|
private final boolean removedOnDeath;
|
||||||
|
@Getter
|
||||||
|
private final Duration initialDelay;
|
||||||
private final int imageId;
|
private final int imageId;
|
||||||
private final GameTimerImageType imageType;
|
private final GameTimerImageType imageType;
|
||||||
|
|
||||||
GameTimer(int imageId, GameTimerImageType idType, String description, Integer graphicId, long time, ChronoUnit unit, boolean removedOnDeath)
|
GameTimer(int imageId, GameTimerImageType idType, String description, Integer graphicId, long time, ChronoUnit unit, long delay, boolean removedOnDeath)
|
||||||
{
|
{
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.graphicId = graphicId;
|
this.graphicId = graphicId;
|
||||||
@@ -97,6 +101,12 @@ enum GameTimer
|
|||||||
this.imageId = imageId;
|
this.imageId = imageId;
|
||||||
this.imageType = idType;
|
this.imageType = idType;
|
||||||
this.removedOnDeath = removedOnDeath;
|
this.removedOnDeath = removedOnDeath;
|
||||||
|
this.initialDelay = Duration.of(delay, unit);
|
||||||
|
}
|
||||||
|
|
||||||
|
GameTimer(int imageId, GameTimerImageType idType, String description, Integer graphicId, long time, ChronoUnit unit, boolean removedOnDeath)
|
||||||
|
{
|
||||||
|
this(imageId, idType, description, graphicId, time, unit, 0, removedOnDeath);
|
||||||
}
|
}
|
||||||
|
|
||||||
GameTimer(int imageId, GameTimerImageType idType, String description, long time, ChronoUnit unit, boolean removeOnDeath)
|
GameTimer(int imageId, GameTimerImageType idType, String description, long time, ChronoUnit unit, boolean removeOnDeath)
|
||||||
@@ -114,6 +124,11 @@ enum GameTimer
|
|||||||
this(imageId, idType, description, graphicId, time, unit, false);
|
this(imageId, idType, description, graphicId, time, unit, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameTimer(int imageId, GameTimerImageType idType, String description, long time, ChronoUnit unit, long delay)
|
||||||
|
{
|
||||||
|
this(imageId, idType, description, null, time, unit, delay, false);
|
||||||
|
}
|
||||||
|
|
||||||
BufferedImage getImage(ItemManager itemManager, SpriteManager spriteManager)
|
BufferedImage getImage(ItemManager itemManager, SpriteManager spriteManager)
|
||||||
{
|
{
|
||||||
switch (imageType)
|
switch (imageType)
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
package net.runelite.client.plugins.timers;
|
package net.runelite.client.plugins.timers;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.time.Instant;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxPriority;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxPriority;
|
||||||
@@ -41,9 +43,22 @@ class TimerTimer extends Timer
|
|||||||
setPriority(InfoBoxPriority.MED);
|
setPriority(InfoBoxPriority.MED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean render()
|
||||||
|
{
|
||||||
|
final boolean rendered = super.render();
|
||||||
|
|
||||||
|
if (rendered)
|
||||||
|
{
|
||||||
|
final Duration fromStart = Duration.between(getStartTime(), Instant.now());
|
||||||
|
return !fromStart.minus(timer.getInitialDelay()).isNegative();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public GameTimer getTimer()
|
public GameTimer getTimer()
|
||||||
{
|
{
|
||||||
return timer;
|
return timer;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,8 @@ public class TimersPlugin extends Plugin
|
|||||||
removeGameTimer(SANFEW);
|
removeGameTimer(SANFEW);
|
||||||
removeGameTimer(ANTIVENOM);
|
removeGameTimer(ANTIVENOM);
|
||||||
removeGameTimer(ANTIVENOMPLUS);
|
removeGameTimer(ANTIVENOMPLUS);
|
||||||
|
removeGameTimer(ANTIVENOM_ANTIPOISON);
|
||||||
|
removeGameTimer(ANTIVENOMPLUS_ANTIPOSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config.showAntiFire())
|
if (!config.showAntiFire())
|
||||||
@@ -502,6 +504,7 @@ public class TimersPlugin extends Plugin
|
|||||||
if (config.showAntiPoison() && event.getMessage().contains(SUPER_ANTIVENOM_DRINK_MESSAGE))
|
if (config.showAntiPoison() && event.getMessage().contains(SUPER_ANTIVENOM_DRINK_MESSAGE))
|
||||||
{
|
{
|
||||||
createGameTimer(ANTIVENOMPLUS);
|
createGameTimer(ANTIVENOMPLUS);
|
||||||
|
createGameTimer(ANTIVENOMPLUS_ANTIPOSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.showMagicImbue() && event.getMessage().equals(MAGIC_IMBUE_MESSAGE))
|
if (config.showMagicImbue() && event.getMessage().equals(MAGIC_IMBUE_MESSAGE))
|
||||||
@@ -556,6 +559,7 @@ public class TimersPlugin extends Plugin
|
|||||||
if (config.showAntiPoison() && event.getMessage().contains(ANTIVENOM_DRINK_MESSAGE))
|
if (config.showAntiPoison() && event.getMessage().contains(ANTIVENOM_DRINK_MESSAGE))
|
||||||
{
|
{
|
||||||
createGameTimer(ANTIVENOM);
|
createGameTimer(ANTIVENOM);
|
||||||
|
createGameTimer(ANTIVENOM_ANTIPOISON);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.showAntiPoison() && event.getMessage().contains(SANFEW_SERUM_DRINK_MESSAGE))
|
if (config.showAntiPoison() && event.getMessage().contains(SANFEW_SERUM_DRINK_MESSAGE))
|
||||||
|
|||||||
@@ -30,8 +30,10 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import lombok.Getter;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
|
|
||||||
|
@Getter
|
||||||
public class Timer extends InfoBox
|
public class Timer extends InfoBox
|
||||||
{
|
{
|
||||||
private final Instant startTime;
|
private final Instant startTime;
|
||||||
|
|||||||
Reference in New Issue
Block a user