From 64d3c5c1211169d2046cd6fa4db10b66091e5c16 Mon Sep 17 00:00:00 2001 From: geeckon Date: Sat, 10 Feb 2024 23:44:37 +0200 Subject: [PATCH 1/3] Add bonus action tracker --- .../EasyGiantsFoundryConfig.java | 13 ++++++++++++- .../EasyGiantsFoundryPlugin.java | 2 ++ .../EasyGiantsFoundryState.java | 18 ++++++++++++++++++ .../easygiantsfoundry/FoundryOverlay2D.java | 16 ++++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java index f053746..d9a5e1b 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java @@ -223,11 +223,22 @@ public interface EasyGiantsFoundryConfig extends Config { return true; } + @ConfigItem( + keyName = "bonusActions", + name = "Bonus Actions", + description = "Toggle for Bonus actions text", + position = 5, + section = infoPanelList + ) + default boolean drawBonusActions() { + return true; + } + @ConfigItem( keyName = "shopPoints", name = "Reputation", description = "Toggle for reputation text", - position = 5, + position = 6, section = infoPanelList ) default boolean drawShopPoints() diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java index dbfc44a..866c533 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java @@ -301,6 +301,8 @@ public class EasyGiantsFoundryPlugin extends Plugin return; } + state.addBonusActionReceived(); + if (config.bonusNotification()) { notifier.notify("Bonus - Click tool"); diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java index 47e2b63..94e2fc6 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java @@ -50,6 +50,9 @@ public class EasyGiantsFoundryState @Getter private boolean enabled; + @Getter + private int bonusActionsReceived = 0; + private final List stages = new ArrayList<>(); private double heatRangeRatio = 0; @@ -57,6 +60,7 @@ public class EasyGiantsFoundryState { stages.clear(); heatRangeRatio = 0; + bonusActionsReceived = 0; } public int getHeatAmount() @@ -204,4 +208,18 @@ public class EasyGiantsFoundryState else return 0; } + + public int getBonusActionsExpected() + { + if (getStages().size() >= 6) { + return 3; + } + + return 2; + } + + public void addBonusActionReceived() + { + ++bonusActionsReceived; + } } diff --git a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java index 660271f..c466606 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java @@ -50,6 +50,16 @@ public class FoundryOverlay2D extends OverlayPanel return ColorScheme.PROGRESS_ERROR_COLOR; } + private Color getBonusActionsColor(int received, int expected) + { + if (received >= expected) + { + return ColorScheme.PROGRESS_COMPLETE_COLOR; + } + + return ColorScheme.PROGRESS_INPROGRESS_COLOR; + } + @Override public Dimension render(Graphics2D graphics) { @@ -96,6 +106,12 @@ public class FoundryOverlay2D extends OverlayPanel LineComponent.builder().left("Heat left").right(heatLeft + "").rightColor(getHeatColor(actionsLeft, heatLeft)).build() ); } + if (config.drawBonusActions()) + { + panelComponent.getChildren().add( + LineComponent.builder().left("Bonus actions").right(state.getBonusActionsReceived() + "/" + state.getBonusActionsExpected()).rightColor(getBonusActionsColor(state.getBonusActionsReceived(), state.getBonusActionsExpected())).build() + ); + } } // // int points = plugin.getPointsTracker().getShopPoints(); From 164aa72b0669ee64126e44569a75aee2d43ae87c Mon Sep 17 00:00:00 2001 From: pww918 Date: Wed, 18 Sep 2024 11:29:23 +0400 Subject: [PATCH 2/3] Fix missing imports --- .../java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java index c82e26c..0639963 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java @@ -4,12 +4,14 @@ import static com.toofifty.easygiantsfoundry.EasyGiantsFoundryHelper.getHeatColo import com.toofifty.easygiantsfoundry.enums.Heat; import com.toofifty.easygiantsfoundry.enums.Stage; +import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; +import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.overlay.OverlayPanel; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.LineComponent; From a48d4e160bcf4a361eaf39903a12fe9690c385bb Mon Sep 17 00:00:00 2001 From: pww918 Date: Wed, 18 Sep 2024 11:32:17 +0400 Subject: [PATCH 3/3] Fix style format --- .../easygiantsfoundry/EasyGiantsFoundryConfig.java | 14 +++++++------- .../easygiantsfoundry/EasyGiantsFoundryState.java | 6 +++--- .../easygiantsfoundry/FoundryOverlay2D.java | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java index 9d95679..ae7402c 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java @@ -313,15 +313,15 @@ public interface EasyGiantsFoundryConfig extends Config { return true; } - - @ConfigItem( + + @ConfigItem( keyName = "bonusActions", - name = "Bonus Actions", - description = "Toggle for Bonus actions text", - position = 5, - section = infoPanelList + name = "Bonus Actions", + description = "Toggle for Bonus actions text", + position = 5, + section = infoPanelList ) - default boolean drawBonusActions() + default boolean drawBonusActions() { return true; } diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java index b10de5b..d2dac92 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryState.java @@ -31,7 +31,7 @@ public class EasyGiantsFoundryState @Getter private int bonusActionsReceived = 0; - + @Setter private int smithsOutfitPieces; @@ -194,7 +194,7 @@ public class EasyGiantsFoundryState public int getBonusActionsExpected() { if (getStages().size() >= 6) - { + { return 3; } @@ -205,7 +205,7 @@ public class EasyGiantsFoundryState { ++bonusActionsReceived; } - + public int getCrucibleCount() { int bronze = client.getVarbitValue(VARBIT_BRONZE_COUNT); diff --git a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java index 0639963..76c807b 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay2D.java @@ -40,7 +40,7 @@ public class FoundryOverlay2D extends OverlayPanel this.setPosition(OverlayPosition.BOTTOM_LEFT); } - private Color getHeatColor(int actions, int heat) + private Color getHeatColor(int actions, int heat) { if (heat >= actions) {