Combat Style Indicator
IntermediateDisplayDisplays your current combat style (Aggressive, Defensive, etc.). Shows how to access combat configuration.
12 min read
What It Does
Displays your current combat style (Aggressive, Defensive, etc.). Shows how to access combat configuration.
Source Code
java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.client.ui.overlay.Overlay;
5import net.runelite.client.ui.overlay.OverlayManager;
6import net.runelite.client.plugins.Plugin;
7import net.runelite.client.plugins.PluginDescriptor;
8import javax.inject.Inject;
9import java.awt.*;
10
11@PluginDescriptor(
12 name = "Combat Style Indicator",
13 description = "Shows combat style"
14)
15public class CombatStylePlugin extends Plugin {
16 @Inject
17 private Client client;
18
19 @Inject
20 private OverlayManager overlayManager;
21
22 private final Overlay overlay = new Overlay() {
23 @Override
24 public Dimension render(Graphics2D graphics) {
25 int combatStyle = client.getVar(net.runelite.api.Varbits.COMBAT_STYLE);
26 String styleName = getStyleName(combatStyle);
27
28 graphics.setColor(Color.WHITE);
29 graphics.drawString("Style: " + styleName, 10, 10);
30 return new Dimension(150, 20);
31 }
32
33 private String getStyleName(int style) {
34 switch (style) {
35 case 0: return "Aggressive";
36 case 1: return "Accurate";
37 case 2: return "Defensive";
38 case 3: return "Controlled";
39 default: return "Unknown";
40 }
41 }
42 };
43
44 @Override
45 protected void startUp() {
46 overlayManager.add(overlay);
47 }
48
49 @Override
50 protected void shutDown() {
51 overlayManager.remove(overlay);
52 }
53}Code Annotations
Line 25
Get combat style from varbit
Line 26
Convert to readable name
Line 32
Map style IDs to names