Add config option to display time left on poison timers as ticks
This commit is contained in:
@@ -28,6 +28,7 @@ public class PoisonActorOverlay extends Overlay
|
|||||||
{
|
{
|
||||||
private final PoisonPlugin plugin;
|
private final PoisonPlugin plugin;
|
||||||
private final Client client;
|
private final Client client;
|
||||||
|
private boolean displayTicks;
|
||||||
private int fontSize;
|
private int fontSize;
|
||||||
private Font font;
|
private Font font;
|
||||||
|
|
||||||
@@ -100,9 +101,14 @@ public class PoisonActorOverlay extends Overlay
|
|||||||
cycle += POISON_TICK_TICKS;
|
cycle += POISON_TICK_TICKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int timeLeftMillis = (cycle - tickCount) * Constants.GAME_TICK_LENGTH;
|
int timeLeft = (cycle - tickCount);
|
||||||
|
|
||||||
return String.valueOf(timeLeftMillis / 1000);
|
if (!displayTicks)
|
||||||
|
{
|
||||||
|
timeLeft = timeLeft * Constants.GAME_TICK_LENGTH / 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
return String.valueOf(timeLeft);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderOverlayFor(Graphics2D g, Actor actor, int damage, String timeLeft, boolean venomed)
|
private void renderOverlayFor(Graphics2D g, Actor actor, int damage, String timeLeft, boolean venomed)
|
||||||
@@ -142,4 +148,9 @@ public class PoisonActorOverlay extends Overlay
|
|||||||
fontSize = size;
|
fontSize = size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setDisplayTicks(boolean displayTicks)
|
||||||
|
{
|
||||||
|
this.displayTicks = displayTicks;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,4 +85,15 @@ public interface PoisonConfig extends Config
|
|||||||
{
|
{
|
||||||
return 8;
|
return 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "ticks",
|
||||||
|
name = "Gametick timers",
|
||||||
|
description = "Use gameticks instead of seconds for timers",
|
||||||
|
position = 4
|
||||||
|
)
|
||||||
|
default boolean ticks()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import javax.inject.Singleton;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.Actor;
|
import net.runelite.api.Actor;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
|
import static net.runelite.api.Constants.GAME_TICK_LENGTH;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.Hitsplat;
|
import net.runelite.api.Hitsplat;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
@@ -73,11 +74,11 @@ import net.runelite.client.util.ImageUtil;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class PoisonPlugin extends Plugin
|
public class PoisonPlugin extends Plugin
|
||||||
{
|
{
|
||||||
private static final int POISON_TICK_MILLIS = 18000;
|
static final int POISON_TICK_TICKS = 30;
|
||||||
static final int VENOM_THRESHOLD = 1000000;
|
static final int VENOM_THRESHOLD = 1000000;
|
||||||
private static final int VENOM_UTILITY = 999997;
|
private static final int VENOM_UTILITY = 999997;
|
||||||
private static final int VENOM_MAXIMUM_DAMAGE = 20;
|
private static final int VENOM_MAXIMUM_DAMAGE = 20;
|
||||||
static final int POISON_TICK_TICKS = 30;
|
private static final int POISON_TICK_MILLIS = POISON_TICK_TICKS * GAME_TICK_LENGTH;
|
||||||
|
|
||||||
private static final BufferedImage HEART_DISEASE;
|
private static final BufferedImage HEART_DISEASE;
|
||||||
private static final BufferedImage HEART_POISON;
|
private static final BufferedImage HEART_POISON;
|
||||||
@@ -525,5 +526,6 @@ public class PoisonPlugin extends Plugin
|
|||||||
this.showForPlayers = config.showForPlayers();
|
this.showForPlayers = config.showForPlayers();
|
||||||
this.showForNpcs = config.showForNpcs();
|
this.showForNpcs = config.showForNpcs();
|
||||||
this.fontSize = config.fontSize();
|
this.fontSize = config.fontSize();
|
||||||
|
actorOverlay.setDisplayTicks(config.ticks());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user