Skip to content

Commit

Permalink
Add run energy to player banner
Browse files Browse the repository at this point in the history
Also fixes the player banners layout manager
  • Loading branch information
TheStonedTurtle committed Mar 27, 2020
1 parent dfaa369 commit 848fd11
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,15 @@ public void onGameTick(final GameTick tick)
myPlayer.updatePlayerInfo(client, itemManager);
changed = true;
}
else
{
final int energy = client.getEnergy();
if (myPlayer.getStats().getRunEnergy() != energy)
{
myPlayer.getStats().setRunEnergy(energy);
changed = true;
}
}

if (!Objects.equals(client.getLocalPlayer().getName(), myPlayer.getUsername()))
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/thestonedturtle/partypanel/data/Stats.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public class Stats
private final Map<Skill, Integer> baseLevels = new HashMap<>();
private final Map<Skill, Integer> boostedLevels = new HashMap<>();
private int specialPercent;
private int runEnergy;
private int combatLevel;
private int totalLevel;

Expand All @@ -65,5 +66,6 @@ public Stats(final Client client)

specialPercent = client.getVar(VarPlayer.SPECIAL_ATTACK_PERCENT) / 10;
totalLevel = client.getTotalLevel();
runEnergy = client.getEnergy();
}
}
14 changes: 9 additions & 5 deletions src/main/java/thestonedturtle/partypanel/ui/PlayerBanner.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
import net.runelite.api.SpriteID;
import net.runelite.client.game.SpriteManager;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout;
import net.runelite.client.ui.PluginPanel;
import net.runelite.client.util.ImageUtil;
import thestonedturtle.partypanel.data.PartyPlayer;
Expand All @@ -55,6 +54,7 @@ public class PlayerBanner extends JPanel
private static final Dimension STAT_ICON_SIZE = new Dimension(18, 18);
private static final Dimension ICON_SIZE = new Dimension(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT);
private static final String SPECIAL_ATTACK_NAME = "Special Attack";
private static final String RUN_ENERGY_NAME = "Run Energy";

private final JPanel statsPanel = new JPanel();
private final JLabel iconLabel = new JLabel();
Expand All @@ -78,17 +78,20 @@ public PlayerBanner(final PartyPlayer player, SpriteManager spriteManager)
));

statsPanel.setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH, 30));
statsPanel.setLayout(new DynamicGridLayout(1, 3));
statsPanel.setLayout(new GridBagLayout());
statsPanel.setOpaque(false);

final GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
createIconPanel(spriteManager, SpriteID.SKILL_HITPOINTS, Skill.HITPOINTS.getName(), String.valueOf(player.getSkillBoostedLevel(Skill.HITPOINTS)), c);
c.gridy++;
c.gridx++;
createIconPanel(spriteManager, SpriteID.SKILL_PRAYER, Skill.PRAYER.getName(), String.valueOf(player.getSkillBoostedLevel(Skill.PRAYER)), c);
c.gridy++;
c.gridx++;
createIconPanel(spriteManager, SpriteID.MULTI_COMBAT_ZONE_CROSSED_SWORDS, SPECIAL_ATTACK_NAME, player.getStats() == null ? "0%" : String.valueOf(player.getStats().getSpecialPercent()) + "%", c);
c.gridy++;
c.gridx++;
createIconPanel(spriteManager, SpriteID.MINIMAP_ORB_RUN_ICON, RUN_ENERGY_NAME, player.getStats() == null ? "0%" : String.valueOf(player.getStats().getRunEnergy()) + "%", c);
c.gridx++;

recreatePanel();
}
Expand Down Expand Up @@ -177,6 +180,7 @@ public void refreshStats()
statLabels.getOrDefault(Skill.HITPOINTS.getName(), new JLabel()).setText(String.valueOf(player.getSkillBoostedLevel(Skill.HITPOINTS)));
statLabels.getOrDefault(Skill.PRAYER.getName(), new JLabel()).setText(String.valueOf(player.getSkillBoostedLevel(Skill.PRAYER)));
statLabels.getOrDefault(SPECIAL_ATTACK_NAME, new JLabel()).setText(player.getStats() == null ? "0%" : String.valueOf(player.getStats().getSpecialPercent()) + "%");
statLabels.getOrDefault(RUN_ENERGY_NAME, new JLabel()).setText(player.getStats() == null ? "0%" : String.valueOf(player.getStats().getRunEnergy()) + "%");

statsPanel.revalidate();
statsPanel.repaint();
Expand Down

0 comments on commit 848fd11

Please sign in to comment.