-
Notifications
You must be signed in to change notification settings - Fork 21
Home
View patch notes & version history
Tracks PvP performance by keeping track of various stats. Mostly useful for 1v1 PvP fights that involve overhead prayers and/or gear switching, Last Man Standing & PvP arena "NHing" being the perfect examples. Multi will cause problems.
Potentially inaccurate: there are some imperfections and assumptions in this plugin, but it is generally accurate for most popular gear setups & spec weapons.
๐ถ 1. | OP | Tracks if you successfully hit your opponent off-prayer or not. For example, if your opponent is using protect from melee, you must hit him with magic or ranged for a successful off-pray hit.
๐ถ 2. | eD | Tracks expected damage. Every hit, this looks at you and your opponent's current gear, and calculates average damage based on accuracy, max hit, & prayers. This does not track your actual hits in any way, it doesn't involve hitsplats. Due to the high variance in OSRS combat, it's normal for fights to commonly stray from this.
๐ถ 3. | D | Tracks damage dealt. Looks at hitsplats on both players and keeps a count of damage dealt.
๐ถ 4. | M | Tracks successful magic hits and overall magic luck. Looks at how many magic attacks you hit (as opposed to splashing), vs. how many magic attacks you expected to hit.
๐ถ 5. | P | Tracks successful offensive prayer usage. For example, using Rigour or Eagle Eye while ranging is a successful offensive prayer, but Augury while ranging is not. This data is only available for the client player, so opponents have no data.
๐ถ 6. | HP | Tracks HP healed during a fight. This includes all health restored: base regen, blood barrage, food, etc.. This data is only available for the client player, so opponents have no data.
๐ถ 7. | rH | Tracks the amount of times you got attacked with melee or range while wearing robes. You don't want to be wearing robes while tanking - the lower, the better.
๐ถ 8. | KO | Tracks every 'chance' to KO you got based on your max hits vs. opponent's HP, and gives you an overall chance to KO based on every chance you got. Opponent HP isn't perfectly tracked, and hitsplat timings are weird, so this isn't 100% reliable, but generally close enough.
๐ถ 9. | GB | Tracks ghost barrages and their expected damage during a fight. This is likely irrelevant, unless you are fighting in PvP arena and the fight lasted over 2-3 minutes. This data is only available for the client player, so opponents have no data.
More in-depth details on all of these stats can be found below below. If you are using the plugin outside LMS, be sure to check the configuration and set the stats, ring, and crossbow ammo according to what you're most likely to use.
This plugin is a bit of a community project at this point. Special thanks to some of the most notable/frequent contributors & helpers:
- Mazhar for collaborating with me on this plugin during its initial release. He's inspired many of the ideas and helped with a lot of the implementation - expected damage was mostly done by him, and that is definitely the most informative statistic of the plugin.
- LogicalSolutions for creating & hosting the entirety of the PvP-Hub, fixing the Fight Analysis/Merge process to be used in PvP-Hub, sharing good feedback, helping to test new features, and quickly submitting various fixes.
- Sacca for implementing opponent HP tracking, KO chance statistic, Hits on Robes statistic, adding support for tons of new gear & spec weapons, and also submitting various fixes.
- Technically not contributors, but, Pan1c 07 & Lagunarium for frequently providing me with very detailed & valuable insights into top-1% PvPer perspectives & concerns, as well as greatly aiding in testing/improving new features.
All other contributors are greatly appreciated as well! No matter how big or small your contribution, this plugin wouldn't be where it is today without everyone's help.
This plugin is created for the official RuneLite client only, so please refrain from contacting me for issues unrelated to RuneLite.
If you have any problems or questions that don't warrant a whole issue, feel free to contact me on Discord: matsyir (don't add, just DM).
UI Overview (from 1.5.0):
The stats are displayed as such: "successful off-pray hits / total attacks (success %)". See the gif/video or panel for example. The success percentage will be green if it is the highest one. The success percentage is not a guaranteed way of determining if a player performed the best. It is a good general idea, but it is merely saying who hit off-pray more often than on-pray. You need to take into account weapons' attack speeds, total number of attacks, and armor used while attacking & tanking to get the full picture, but nonetheless this is a helpful metric to have. Combined with the expected damage, it gives a pretty good result.
I can't guarantee accuracy for use outside of LMS, because of the way attack styles are determined: that is by checking the Player's current animation. There are definitely a few random weapons I still haven't thought about that won't be included. But I am confident it will work in over 90% of cases, since people tend to stick to fairly common PvP loadouts. Thankfully, most weapons AnimationIDs are re-used (e.g all normal scim slashes share one animation, crossbow is same with all bolts). Due to this, loads of weapons we haven't even tested are supported.
It would take forever to make a nicely formatted list of these, and on top of that many weapon animations are re-used, so more than I know are supported. Check out the variable names & comments in this file for a full breakdown of supported weapons/what I've tested. All LMS gear should be supported, as well as general popular pking gear, including some less common weapons like anchor, the 4 godsword specs, revenant weapons, dmace, etc. Basically all F2P weapons should be supported as well but I don't think this would be useful for F2P. There are surely some uncommon but relevant weapons or specs I forgot about so feel free to submit those as an issue if you notice it in a fight, or not mentioned in the file.
This gives you an average expected damage value, using OSRS accuracy/damage calculations, depending on opponent's gear, pray, if you're using a special attack, and a few other factors. It does not involve hitsplats in any way, does not look at actual damage dealt. It only calculates average "expected" damage, and displays the cumulative value for that fight and the difference with the opponent. For example, if you've dealt 3 attacks, granting 10, 20, and 5 damage respectively, you'd have 35 total expected damage. If your opponent had a total of 40 expected damage at the time, your expected damage would be displayed as "35 (-5)".
Currently, it does not check for offensive prayers. It assumes that you always use the right offensive prayer, and it assumes that you are using one of the 25% prayers for defence, but not augury while getting maged, since you would more likely be trying to range/melee at that time. We could detect the player's offensive prayer, but not the opponent's. To make that fair, we use equal estimations for both players, such that the inaccuracies should be handed out evenly in close matchups.
This also is not 100% reliable, but it too should work in the vast majority of cases. This component is able to retrieve item stats dynamically, from cached wiki data, for the vast majority of relevant items. Some very obscure items won't have stats. One problem is bolts/ammo, we can't detect which are used, so there are configs to choose which ones are used for the estimations. Another is rings, we can't detect that either. Base spell damage also needs to be hardcoded based on animation, which is not completely possible since animations are shared between different spells. However, all other melee gear stats or general range/mage gear stats can be automatically retrieved and used for damage calculations.
The damage calculations were taken from a variety of sources, including but not limited to, the official osrs wiki, Bitterkoekje & Koekenpan's dps spreadsheet (as well as some direct knowledge from them, big thanks!), a remake of Bitterkoekje's old combat formulas thread, QFC: 317-318-461-66138854. The damage calculations can be found all across this file. Range Ammo Data is in this file.
This statistic used to be referred to as "Deserved Damage'. The functionality was not changed when it was renamed to Expected Damage.
Stats are currently fixed for both the player and opponent, they can be changed from the config, but the default stats are currently potted max main stats: 118 Attack/Strength, 120 Defence, 112 Range, 99 Magic
All weapon & gear stats are loaded dynamically. The exceptions to this are stats for rings and ammo (bolts/arrows), and base magic spell damage. We can't detect what bolts/rings are used, and we must manually hardcode all base spell damage. Special attacks with damage or accuracy modifiers also have to be manually hardcoded.
- Dragon Claws
- Dragon Dagger (all variations)
- Armadyl Godsword
- Vesta's Longsword
- Statius' Warhammer
- Voidwaker
- Osmuten's Fang
- Dragon Warhammer (only the damage boost, not the def reduction)
Ammo is either specified in config, or assumed. In LMS, for crossbows, ammo is forced to be regular diamond bolts (e) or opal dragon bolts (e) depending on weapon used. Bolt specs assume no diary completion. Antifire potions & anti-dragon shields are never taken into account for dragonfire bolts, if chosen.
- Rune Crossbow [config ammo]
- Dragon Crossbow [config ammo]
- Armadyl Crossbow (w/ spec) [config ammo]
- Zaryte Crossbow [config ammo]
- Dragon Hunter Crossbow [config ammo]
- Blowpipe [config ammo]
- Light Ballista [Dragon Javelins assumed]
- Heavy Ballista (w/ spec) [Dragon Javelins assumed]
- Dark Bow (w/ spec) [Dragon Arrows assumed]
- Magic Shortbow [Amethyst Arrows assumed]
- Magic Shortbow (i) [Amethyst Arrows assumed]
- Craw's Bow [Ammo bonus built into weapon - fixed ammo stats]
RCB Ammo config options:
- Runite Bolts
- Diamond Bolts (e)
- Dragonfire Bolts (e)
ACB/DCB/DHCB Ammo config options (includes RCB Ammo):
- Diamond Dragon Bolts (e)
- Dragonfire Dragon Bolts (e)
- Opal Diamond Bolts (e)
Blowpipe Ammo config options:
- Adamant Darts
- Rune Darts
- Dragon Darts
Based on animations, which are re-used for many spells, so can't be fully accurate. Other sets of spells could be added but it's tedious. Submit an issue if you'd make use of more.
- Ice Barrage (Any multi-target ancient spell will use ice barrage damage - yes, even smoke burst, can't currently differentiate)
- Ice Blitz (Any single-target ancient spell will use ice blitz damage)
- Fire Surge/Wave/Blast (Any elemental variant will use fire, and fire strike will be treated as fire blast since they use the same animation)
This is very straightforward, it is actual damage dealt, looking at hitsplats. This should be completely reliable, even if the attack animation is unknown. The only thing that would cause this to fail is if the player runs far enough so that they aren't rendered at all while they get hit (and you never see the hitsplat). It is displayed with the difference compared to the opponent, similarly to expected damage.
This tracks how many magic attacks you successfully hit, in other words, attacks where you don't splash. It also tracks your magic accuracy every magic attack, and saves "expected" number of successful magic hits. The "expected magic hits" number is effectively a cumulative total of your accuracy(0-1) every time you use magic. The stats are displayed as successfulHitCount / totalMagicAtkCount (luck%). You can find the number of "expected hits" on the tooltip (when hovering over the statistic). The luck percentage works as such:
- 100%: expected luck/RNG
- Above 100%: lucky (more successful hits than expected). 200% = hit 2x more than expected.
- Under 100%: unlucky (less successful hits than expected). 0% = every attack splashed, didn't hit once.
So for example, if you have 12/15 (133%) as this statistic, then you successfully hit 12 of 15 attacks, and you got more than you expected meaning you were lucky. You expected to hit 9 attacks in this case (this would be on the tooltip, or feel free to check the formula for it below).
The percentage is calculated as: (successfulHitCount / deservedHitCount). Or the deservedHitCount can be derived from (successfulHitCount / luckPercentage).
Bare in mind that the accuracy is calculated the same way as in the Expected Damage statistic, this means it also suffers from the same imperfections. Namely, Augury is always assumed to be enabled while casting, and never used while getting hit. This can make your magic hit stats appear overwhelmingly unlucky, if your opponent often uses Augury defensively, or if you don't consistently use it while casting.
This tracks how many offensive prayers you got successfully. Displayed similarly to successful off-pray attacks: successfulOffensivePrayerCount / totalAttackCount (success%). This data is only available for the client player, not opponents.
The following offensive prayers are tracked:
Melee: Piety, Ultimate Strength
Ranged: Rigour, Eagle Eye
Magic: Augury, Mystic Might
This is also straightforward to use, this feature tracks all increases in the main player's HP level during a fight and saves the total health restored during a fight, including regen from all sources.
(WIP section)
(WIP section)
Tracks ghost barrages and their expected damage during a fight. This data is only available for the client player, so opponents have no data. A ghost barrage is when a player casts barrage without any animation, so it's an invisible barrage. They happen under specific pid-related conditions, so they're especially a problem in duel arena where pid doesn't change. This statistic is likely not very relevant, unless you participate in high-level fights at duel arena. This statistic assumes any magic xp without a magic attack animation to go with it is a barrage, so it isn't accurate if you aren't actually using barrage.
When you click on a fight, it will open up a new window displaying a table of all attacks dealt during the fight for both players, including as many details as possible like attack style, minimum/maximum hit, accuracy, average hit, was it a special attack, was it off-pray, etc. This should be relatively straightforward to use if you want to.
If you click on any row within this table of attack logs, it will open up a new window with detailed information about each attack, including gear, prayers, detected animation/combat style, and stats (although, unless using the fight analysis, stats will always be the config's stats, or detected LMS build stats)
You can also right click a fight to see a quick summary of attacks & weapons used.
This feature has been broken for quite some time and was removed for the time being, see PvP-Hub below for similar functionality.
Generously created & hosted by LogicalSolutions, and introduced in 1.7.4, this new opt-in feature automatically uploads all of your fights to the PvP-Hub website, where it can be publicly viewed by anyone. This is disabled by default - the plugin remains entirely client-side if you do not manually opt-into this feature, and there will be a warning popup when you attempt to do so.
To use this feature, the plugin needs to send some fight data to a server:
Like any website or online service, that server is reached through an IP address. This is simply how devices communicate over the internet.
When the plugin sends data to the server, the server can technically see the IP address the request came from. This is normal for any internet request. However, your IP address is not stored or logged. The server receives the request, processes it, and does not save your IP.
The website source code is available here:
View the source code on GitHub
This feature is completely optional.
- The setting is disabled by default.
- If the checkbox is disabled, no data is sent to the server. If it is enabled, data is only sent to the server when you finish a fight. This data includes your fight data, IP, and a uniquely generated fight ID. It includes your RSN unless you also enable the "Hide RSN on PvP-Hub" option.
- If you enable it, and your opponent also has it enabled, the website can automatically use Advanced Analysis.
- Advanced Analysis lets you view the full fight, including more accurate calculations, extra details such as ammo, rings used, and more.
- If your opponent does not have the plugin, or has this setting disabled, the plugin will use your existing gear settings instead.
If "Hide RSN on PvP-Hub" is enabled, the plugin replaces your RSN in PvP-Hub uploads with a generated name like
Hidden-ABCDE.
This is not based on your device, hardware, Windows username, or RuneScape account. The plugin creates a random ID once,
stores it locally in your RuneLite profile config, and derives the Hidden-XXXXX name from that ID. The hidden name is
stable so your uploaded fights can still be grouped under the same hidden identity.
Your hidden name is shown in the PvP Performance Tracker side panel while this setting is enabled. If you want to keep that hidden identity private, do not show the panel on stream, screenshots, or screen share.
To change your hidden name, reset the stored anonymous ID. You can do this with RuneLite's native config reset button, or
manually by removing the pvpHubAnonymousId value from your RuneLite profile data for this plugin. After it is removed,
the plugin will generate a new random ID the next time the hidden name is needed.
- Occasionally, certain attacks won't be counted, since their animation will be cancelled/stalled and the attack will go undetected. Also known as ghost attacks. Since attack styles are currently determined using animations, I don't think it's possible to fix at the moment. This is uncommonly seen with Ice Barrage, and very common when using darts on rapid. You can notice this happen if you attack, but don't see any changes to stats (except damage dealt, which does not rely on animations). This is generally rare enough that it's not too significant of a problem.
- Double deaths are not tracked. This can be fixed using the onPlayerDeath event - it's changing how the existing code works around deaths that is tricky.
- There is no attempt to support multi at the moment, but I would assume it works to a certain extent, on 1 opponent at a time.
- Attacks before both players attacked each-other are not saved. This is an unintended consequence of preventing unrelated interactions during a fight being interpreted as getting a new target/starting a new fight. (2021/01/19 update: This may have accidentally been fixed at some point, I haven't seen it in a while, but I'm not sure)
Not because they can't work, simply because I don't have their AnimationIDs.
- Nightmare staves: Only the Volatile Nightmare Staff is currently supported.
- If the plugin isn't working and fails to launch or create the panel, go to the config, hit "Reset", and then turn the plugin off and on again. This should resolve any data-related problems. Beware that this resets your fight history, so back it up if you want to.
- If you get lag spikes upon a fight ending, it will help to reduce the limit in the config, or reset your fight history (by right-clicking the total stats panel).
This plugin is created for the official RuneLite client only, so please refrain from contacting me for issues unrelated to RuneLite.
If you're switching PCs or use multiple PCs and would like to include your fight history in both clients, you'll need to manually import it, since it is only saved on the initial PC. Here's how:
- On your initial PC where you have stats saved, right click the total stats panel, click "Copy Fight History", and that will copy the data to your clipboard.
- Paste the data into a text document and save that to the cloud where you can access it from your new PC, or transfer files however you prefer.
- On your new PC, right click the total stats panel and click "Import Fight History", paste the data, and press OK. The data should be imported from there and added to any existing stats.
The data is saved in this file: %userprofile%/.runelite/pvp-performance-tracker2/FightHistoryData.json - you may also replace this file entirely, or copy it to create a backup. You should be fine to leave backups in this folder as long as you give them a unique name, but if you want to be extra safe you should copy them elsewhere.
If you're here to learn or improve at PvP - this plugin is just one of many ways to see your progress/mistakes & one of many tools to improve. Regardless if you're a brand new, intermediate, or veteran PvPer, there's a ton of in-game configs, other RuneLite plugins, and strange game mechanics you may not know everything about. The resource(s) below should help get you up to speed on all the basic mechanics, settings, and plugins that will help you improve in LMS, and most other PvP scenarios. These resources may or may not mention this plugin, they're not explicitly guides relating to this plugin.
-
LMS / PvP Guide by Lagunarium (Jun 2026)
Even after PvPing on OSRS + RS2 for over 10 years myself (although quite casually compared to these guys), this video taught/reminded me of a few tricks, and helped me further understand the importance of certain things I already knew about. Particularly, how to optimize my client settings, and which plugins to use.
There are so many new plugins & in-game features available since ~2020 at this point. They're allowed, and most of your opponents are using these plugins - may as well level the playing field by getting every tool which you'd make use of. I strongly encourage you to watch the "Essential Plugins" section of this video regardless of your skill level. The LMS Item Upgrades TierLists may surprise you as well, at least worth peeking.
In my case, I was too stuck in my ways to turn off vial-smashing & make the change from top-switching to mid/bottom-switching, as well as turning on spell filtering/reordering. These 2 changes alone massively improved my 1t-barrage consistency, but there's a lot more valuable info in the video. Some of the LMS upgrade tier list decisions surprised me as well, but the explanations make sense.
-
Example high-level fights by Pan1c, ft. Oda, Rhys, and more (Jul 2023)
This isn't a guide by any means, just a compact compilation of very high-level fights. You can learn a lot by simply watching these and trying to understand what both players are doing, and why. These kinds of videos are just generally insightful if you're able to properly understand/analyze them. One quirk about PvP Arena is that PID never changes, so you're either off-PID the whole fight, or you have PID the whole fight.
I don't fully understand it myself, nor can I explain it, but there are some things you "should" be doing differently whether you have PID or if you're off-PID. Pan1c is off-PID during the fight at 2:03 against Rhys (Rhys has PID), and in the following fight against dbu, Pan1c has PID. For the entire fight due to the PvP Arena quirk. You can study both players' behavior to try and understand how they play differently when off-PID vs on-PID.
Another good video of high-level fights I'm a big fan of is Westham vs. Odablock 1v1 in the Billion Dollar Race by Westham (Jun2025). It's in wildy so you won't be able to follow PID-related decisions as easily, but it's still very insightful to watch.
Dates are in yyyy-mm-dd. You may be able to find additional details in the PR link beside the version number.
-
๐ถ
1.8.2PRTBD? 2026-07-??: Improved filter logic/efficiency. Improved overall performance & responsiveness - various UI threading optimizations. Customizable UI ~ New config options for: hide panel BG images, center vs. side-align text, and customize nearly all colors, including a dropdown for preset color styles/configurations. Various UI & code/comment improvements & clarifications. Standardized 95% of Color uses into PvpColorScheme class. Adjusted red skull placement again. -
๐ถ
1.8.1PR2026-07-02: Fixed filter bug introduced in1.8.0where no fights would appear in your panel if the filter was empty, which is most of the time/default behavior. oops! Improved filter sanitization/validation. Added new filter where you can search for >X attacks, and added tooltip to clarify filter functionality (1. RSN filter, 2. BorderStyle filter, 3. >X, <X, >=X, <=X total attacks from the client player). Moved death icon (red skull) to minimize text & flag clipping/overlapping. -
๐ถ
1.8.0PR2026-06-30: Massive UI rework - now uses images for FightPerformancePanel backgrounds. Display world flag/location instead of number by default. New border styles (aka background images) for different KO types: Spec KO, Max hit KO, and Spec Max Hit KO for now (can also filter by these). PvP-Hub: Fixes for fight merges, automatically fetch merged info from the website and display it locally. Various UI improvements, minor fixes, and some code cleanup/refactoring. Auto-backup/copy the ongoing fight history json on every plugin launch, if it was loaded successfully. Skips doing this if the backup exists and is the same size or larger than the ongoing json. -
๐ถ
1.7.8PR2026-06-25: Updated recently added "brewed/potted" column to display the full level change vs. max boost for that skill. Various QOLs and UI Improvements. If opted into PvP-Hub, you can now right click a fight to open it there, and right click total stats to reset your hidden name. The PvP-Hub Upload delay config was changed to "Instant" by default, and force-changed for anyone still on the previous default (a warning will be shown in chat if you got force-changed). Added colored statistic backgrounds, text shadows on nearly all labels. -
๐ถ
1.7.7PR2026-06-22: New fight log column which displays if your stats were potted, brewed down, or neutral during your attacks (only for client player). Thanks to @LogicalSolutions for implementing most of the functionality for this, and Pan1c+Lagunarium for the suggestion. -
๐ถ
1.7.6PR2026-06-22: Fix attack timings in fight logs to allow fight merges on PvP-Hub to work properly. Sort same-tick attack fight logs by attacker name for visual consistency when comparing between 2 clients, instead of prioritizing local player. Thanks to @LogicalSolutions for figuring out & fixing the issue causing tick delays, and thanks to Pan1c & Lagunarium for noticing these issues & hopping on a call to provide a solid demonstration/example. -
๐ถ
1.7.5PR2026-06-20: Properly apply guaranteed expected damage from bolt procs (still being averaged on every hit) (Thx to @LogicalSolutions for the fix, and Port Khazard for spotting this issue). Various LMS fixes: default to B-ring(i) instead of normal, properly use LMS bolts where relevant. Config clarifications. Removed unimbued rings from ring config.1.7.5was originally released on 2026-06-19, but Adam decided to revert to1.7.3for the DMM finale to avoid any new potential rare issues, as we've seen occur in a previous DMM breach (totally understandable). Also note that the1.7.5version still displays1.7.4as the version inside the client. One can confirm they're on1.7.5by noticing the lack of unimbued rings in the ring config. -
๐ถ
1.7.4PR2026-06-18: Added opt-in upload to PvP-Hub. Massive thanks to @LogicalSolutions for creating & hosting this feature, as well as being quick with communication & revisions! Also fixed some LMS issues: the dragon cbow newly included to the max/med build had no ammo assigned to it, so it had no range strength and almost no expected damage. Zerk builds were failing to be detected ever since the defence went from 45 to 50 like 2 years ago, so the stats were incorrect. -
๐ถ
1.7.3PR2026-03-25: Fix bow of Faerdhinen itemID issues after game data update, adjustments to include new LMS changes. Thanks to @Sacca-1 for these fixes! -
๐ถ
1.7.2PR2026-03-20: Track ely damage reduction & SOTD spec melee damage reduction, by tracking the spotanim shown on players for these effects. Also displays when these proc in the fight logs. Improved KO chance for dragon claws & dark bow special attacks. Scorching bow now correctly uses dragon arrows for its ammo. Thanks to @Sacca-1 for these fixes! -
๐ถ
1.7.1PR2025-11-28: Support for god spells, special attacks for arkan blade, burning claws & dark bow. Double deaths now tracked. New statistic labels & improved tooltips. Various calculation & detection improvements. Renamed Deserved damage to Expected damage. Thanks to @Sacca-1 for many fixes included here -
๐ถ
1.7.0PR2025-06-20: New statistic, 'hits on robes', tracks how many times you got hit by range/mage while wearing robes, which you want to avoid. Configurable to look at either robes, both robes, bottom, or top. New basic Frame/Window "Display Attack Summary", shows a basic overview of attacks used (like a simplified/summary fight log). Various calculation tweaks/improvements, label clarifications, and various internal code cleanup. Thanks to @Sacca-1 for implementing hits on robes + tweaks, and @OstlerDev for a fight detection tweak. -
๐ถ
1.6.3PR2025-06-06: Fix: A rare crash was introduced in1.6.2, patched that. Thanks to Adam for the heads up & guidance/suggestions. Apparently some players in dmmt were affected, sorry about that ๐ข. It was a weird threading issue that didn't come up often and wasn't seen even after over 10hrs of testing. -
๐ถ
1.6.2PR2025-05-13: Further improve HP tracking of the new KO chance tracking statistic (thanks to @Sacca-1 for the PR again!). Also proper support for deadman skins of voidwaker, ags, dark bow, volatile. Added on-update message -
๐ถ
1.6.1PR2025-04-15: Improve HP tracking of the new KO chance tracking statistic (thanks to @Sacca-1 for the PR once again!) -
๐ถ
1.6.0PR2025-04-12: New statistic: KO chance tracking, both as count and percentage chance/sum of percentage chance. Big thanks to @Sacca-1 for this PR! -
๐ถ
1.5.11PR2025-02-22: Fix: properly track deaths for players using alternative death animations, like the leagues ones. (Thanks to @Macweese for this fix!) -
๐ถ
1.5.10PR2024-11-03: Add common pvp rings, as well as support for varlamore weapons & venator bow (Thanks to @Macweese for these fixes!) -
๐ถ
1.5.9PR2024-08-23: Minor fix for a major bug: Plugin was unavailable due to the itemID offset changing from 512 to 2048, and we were still using hardcoded values. Old/existing fight data was not yet migrated, but should still persist so it can be updated/migrated in a future update. -
๐ถ
1.5.8PR2024-01-16: Minor fixes to adapt to new RuneLite APIs. "Flatlaf fix". Thanks to @YvesW for this fix! -
๐ถ
1.5.7PR2023-04-21: Decently major fixes: Voidwaker spec support, DWH spec support (damage boost only, not def reduction) Support opal dragon bolts(e) in LMS for stronger cbows. Viggora's chainmace & Inquisitor's mace tracking (coded awhile ago but never updated). Thanks to random LMS lobby/bank players 'DannyMaulz' & 'ELL Cucuy' for helping me test the voidwaker spec before release. -
๐ถ
1.5.6PR2022-09-18: Decently major fixes: Osmuten's fang support (attacks & spec, thanks to Mazhar for this), adjusted opal & diamond bolts (e) accuracy increases since they were using PvM values, support newly added LMS items, detect LMS stats based on build type. Data format changed and was updated/migrated. -
๐ถ
1.5.5PR2022-08-03: Minor fix: RuneLite update broke the plugin, updated HitsplatType to HitsplatID. No actual changes. Thanks to Mazhar for this PR. -
๐ถ
1.5.4PR2022-04-27: Minor fixes: Actually Fix Zaryte Crossbow this time, it had no bolts assigned to it so while the animation was detected from 1.5.3, it was being used with 0 range strength. (really gotta test these lol, but I don't own a ZCB). Thanks to Mazhar for this PR. -
๐ถ
1.5.3PR2022-03-22: Minor fixes: Fix Zaryte Crossbow animation detection, only the PvM animation was included; PvP uses different animations for crossbows. -
๐ถ
1.5.2PR2022-03-18: Track Zaryte Crossbow animation (no spec or passive, this also failed until 1.5.4), track Ancient Godsword spec (assume +25dmg from effect), fix Trouver Parchment Void detection. -
๐ถ
1.5.1PR2022-01-06: Minor fixes: Fixed a visual bug related to how AGS specs' max hits were stored, include LMS lobby in "restrict to LMS" setting -
๐ถ
1.5.0PR2021-11-08: Added client-side ghost barrage detection, improved TotalStatsPanel, and various other UI/tooltip improvements. Fixed new fights being shown in the fight history panel if they didn't respect the name filter. -
๐ถ
1.4.8PR2021-09-22: Added name filtering on the fight history panel, to only show fights with certain usernames. -
๐ถ
1.4.7PR2021-08-08: Fix dlong special attack animation detection, for the dlong=vls feature added in1.4.6. It wasn't flagged as a spec, so VLS spec never happened either. -
๐ถ
1.4.6PR2021-08-06: Fix crystal armor max hit boost (was improperly calculated/applied in the wrong place). Track Dragon Longsword as Vesta's Longsword for DMM practice purposes (and no one really uses dlong anyways, but it can be toggled off). Also fixed void, noticed an issue with it while fixing crystal armor - it wasn't detecting the itemIDs properly so the dps calc never knew you had void on. -
๐ถ
1.4.5PR2021-07-18: Significant fixes: fix bolt detection outside of LMS - crossbows better than RCB have been mistakenly using regular diamond bolts (e) outside of LMS since the1.4.1update, regardless of config. Fix tome of fire detection/max hit buff for Fire spells. Added the Varrock LMS map to LMS detection. -
๐ถ
1.4.4PR2021-07-10: Minor fixes/additions: Added new "Max Rendered Fights" option to limit amount of shown fights in the Fight History panel, so that you can save more fights for Total Stats without the lag that comes with it. Also added support for crystal armor buffs on new fae bow & cbow. -
๐ถ
1.4.3PR2021-03-18: Minor fixes: fixed a UI issue where text on the TotalStatsPanel would overlap and make no sense, also clarified the "config warning" label. -
๐ถ
1.4.2PR2021-02-01: Added ability to drag & drop files into the fight data input (for fight analysis), rather than having to copy-paste. Fixed visual bug with fight merge Fight Log order, fixed/updated TotalStatsPanel. -
๐ถ
1.4.1PR2021-01-25: Minor updates regarding the previous update, mostly UI improvements. Re-formatted "Magic Hit Luck" formatting, so 100% is the expected/neutral luck, rather than 0%. Fights started in LMS will always use LMS levels/ring/bolts regardless of config, so you may freely set your config without taking LMS into consideration, and when going back to LMS it will use the proper config. -
๐ถ
1.4.0PR2021-01-20: Pretty big update, but not much for average users: added fight analysis/merge, Fight Log Detail panel, option to copy fight as Discord msg, changed "Magic Hit Luck" formatting. -
๐ถ
1.3.5PR2021-01-13: Added HP healed statistic, "config warning" to make sure users acknowledge that there is a config, and saved more data for an upcoming feature. -
๐ถ
1.3.4PR2020-09-18: Minor fix: There was a bug where if you or another player attacked anything after interacting with each other (by following, trading, teleothering, etc), the plugin would assume you started fighting them and track your attacks as a fight against them. There was a check put in place to prevent this from happening. -
๐ถ
1.3.3PR2020-09-15: New statistic: offensive prayer tracking (for the player only). Fixed a bug that triggered a modal on initial load/installation, and removed that modal entirely since even when working as expected it could have odd behavior during client load on Mac. Also added config sections to make the config more intuitive/less cluttered. -
๐ถ
1.3.2PR2020-05-12: Minor changes: Stopped using config storage to store fight history data and logs. This means the data won't automatically save across different PCs, but you can achieve that with the import/export functionality. It also means many more fights can be reliably saved, and the data should never get corrupted with normal use. Also added void, tome of fire, and smoke battlestaff buffs to deserved damage. -
๐ถ
1.3.1PR2020-05-08: Minor fix: for some users, the fight history data was corrupted and was unable to be loaded, causing the plugin to be unable to launch. This was changed so the data should automatically get reset if it fails to be loaded, allowing users to continue using the plugin. -
๐ถ
1.3PR2020-05-02: Two new stats: damage dealt, magic hits 'luck', and the fight log which displays all attacks in a table. Config additions and various other minor improvements -
๐ถ
1.2PR2020-04-19: Significant fix: special attacks outside of LMS were not detected since we were only checking for LMS-specific ItemIDs -
๐ถ
1.1PR2020-03-30: Major fix: Deserved damage was making calculations with gear from 1 tick in the past, so it was invalid. Now fixed -
๐ถ
1.0PR2020-03-25: New statistic: Deserved damage, save fights across restarts, various optimizations -
๐ถ
1.0-SNAPSHOTPR2020-03-13: Basic initial release: Off-pray stats only - with overlay & panel
I am happy to see other features/stats come into this plugin in the future, feel free to submit issues/suggestions & PRs. If you find a weapon that doesn't work, let me know as well. If you have any problems or questions that don't warrant a whole issue, feel free to contact me on Discord: matsyir (don't add, just DM - if you need a common server to DM, join the official Runelite discord).
Note that I'm not super active on RS lately myself, so this project is not among my highest priorities - but I'm happy to keep supporting it, especially for significant issues that may affect most average users with average gear setups in places like LMS.
- Home
- Stat #1: Off-pray hits
- Stat #2: Expected damage
- Stat #3: Damage dealt
- Stat #4: Magic Hits
- Stat #5: Offensive Prayers
- Stat #6: HP Healed
- Stat #7: Hits on Robes
- Stat #8: KO Chances
- Stat #9: Ghost Barrages
- Fight Logs & Detail Windows
- Fight Analysis/Merge
- PvP Hub Website
- Known Issues
- Troubleshooting
- Data Import, Export & Backup
- Helpful Resources & Guides
- Patch Notes & Version History

