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 Client client;
|
||||
private boolean displayTicks;
|
||||
private int fontSize;
|
||||
private Font font;
|
||||
|
||||
@@ -100,9 +101,14 @@ public class PoisonActorOverlay extends Overlay
|
||||
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)
|
||||
@@ -142,4 +148,9 @@ public class PoisonActorOverlay extends Overlay
|
||||
fontSize = size;
|
||||
}
|
||||
}
|
||||
|
||||
void setDisplayTicks(boolean displayTicks)
|
||||
{
|
||||
this.displayTicks = displayTicks;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,4 +85,15 @@ public interface PoisonConfig extends Config
|
||||
{
|
||||
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 net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import static net.runelite.api.Constants.GAME_TICK_LENGTH;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Hitsplat;
|
||||
import net.runelite.api.NPC;
|
||||
@@ -73,11 +74,11 @@ import net.runelite.client.util.ImageUtil;
|
||||
@Singleton
|
||||
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;
|
||||
private static final int VENOM_UTILITY = 999997;
|
||||
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_POISON;
|
||||
@@ -525,5 +526,6 @@ public class PoisonPlugin extends Plugin
|
||||
this.showForPlayers = config.showForPlayers();
|
||||
this.showForNpcs = config.showForNpcs();
|
||||
this.fontSize = config.fontSize();
|
||||
actorOverlay.setDisplayTicks(config.ticks());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user