Combat Style Indicator

IntermediateDisplay

Displays 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

API Classes Used

Key Concepts

  • Get combat style from varbit
  • Convert to readable name
  • Map style IDs to names

Next Steps

  • Learn about Varbits API
  • Add style change detection
  • Add recommended style suggestions