arcdps: gw2 dps meter (and general combat metrics tool)
 WARNING: MODIFYING GUILD WARS 2 THROUGH ANY 3RD PARTY TOOLS IS NOT SUPPORTED BY ARENANET OR NCSOFT.
 DO NOT CONTACT SUPPORT ABOUT GAME CLIENT ISSUES WHILE USING THIS TOOL. THERE IS NO HELP OR WARRANTY.
 THIS IS ENTIRELY AT YOUR OWN RISK AND YOU ASSUME ALL RESPONSIBILITY.


how to install, update, or uninstall
 place d3d11.dll next to gw2-64.exe while the game is not running, optionally can be renamed to dxgi.dll.
 addons and arcdps config folder will be created next to gw2-64.exe after starting the client.
 to update, replace dll.
 to reset, exit gw2 and remove the config folder above.
 to remove, exit gw2 and delete the dll.
 expect to have to update after major game changes.
 most errors will disable logging and extension data.

how to use
 don't be a dick.
 by default, holding alt and shift is required for hotkeys, t is the hotkey for options.
 right click on windows to bring up their independent options (if available).

something isn't working
 check your 'gw2 install dir/addons/arcdps/' folder for an arcdps.log.
 if nothing is drawn make sure the dll is in the right place.
 if the game crashes at character select, some other application is interfering (razer cortex, razer synapse).
 if you get an image modified error, some other application is interfering (eg bitdefender, citrix 22, razer cortex, razer synapse, groupy).
 if windows are drawn but a hotkey isn't working, some other application may have a global hook installed (zoom).
 if you get a file creation error, make sure gw2 has read/write permission to the paths mentioned, or run as admin.
 if you notice an issue in accuracy, compare area skills vs self skills, try and isolate which gear/buff/trait may be causing it.
 if you suspect arcdps as the cause of a crash, remove all addons and chainloads and try to repeat the crash.
 check the troubleshooting pin in the arcdps-issues channel on discord to avoid repeat questions.
 if your issue is not in the pins, describe in detail and attach the complete arcdps or lastcrash or event viewer 'windows error reporting' log.

evtc logging
 pve: starts on player combat enter, boss set by damage event on boss, stops when all players exit combat.
 wvw: starts on player vs player damage, stops when all squad players exit combat.
 map: starts on joining instance type map, ends on leaving to character select.
 npc id can be found via detail window and looking for species in title, or tooltip in target list after attacking.
 logs are written to 'documents/gw2/addons/arcdps/arcdps.cbtlogs/.../date-time.evtc' by default.

extensions and parsing data
 most extensions and links to parsing tools can be found on elite insights' discord.
 place next to gw2 exe or in gw2 install dir/bin64/.
 api example code and readme: https://www.deltaconnected.com/arcdps/api/
 evtc writing code and readme: https://www.deltaconnected.com/arcdps/evtc/

translations
 place translation in gw2 install dir/addons/arcdps/, named arcdps_lang.ini.
 /u/Snowy1794: https://raw.githubusercontent.com/Snowy1794/Arcdps-translation-Chinese-simplified/master/arcdps_lang.ini (chinese simplified).
 /u/bluelovers: https://raw.githubusercontent.com/bluelovers/ws-gw2-arcdps/master/packages/arcdps-lang-ini/lib/arcdps_lang.ini (chinese traditional).
 creating a translation: https://www.deltaconnected.com/arcdps/translations/

limitations
 area is missing buff extension source (eg. signet of inspiration) - not notified by server.
 area is missing percent-based damage (eg. matthias' hadouken) - not notified by server.
 area is missing some siphon damage (eg. food, sigil, some traits) - not notified by server.
 area is missing healing - not notified by server.
 area is missing hard cc - not notified by server.
 area is missing combo finishers - not notified by server.
 area condition damage uses simulated attribute building from gear, traits, and buffs, on a simulated server tick.
 area condition damage scaling in levels 1 to 79 is different from the game's scaling.
 area condition damage on-skill-use procs on animation start instead of on skill use - not notified by server.
 area breakbar damage missing on some breakbar changes initiated by damageless skills.
 area breakbar damage missing for breakbar changes that cause a breakbar to recharge (does not affect deactivate).
 area strike damage notify bubble may cause some events (eg. deimos) to be out of range - not notified by server.
 area strips ignore last-stack stability, cc and strip indistinguishable.
 area skill activation will only count skills which have animations (no shouts, no instants) - not notified by server.
 area overstack and applied do not include ignored stacks (lower than lowest existing stack) - not notified by server.

changes
 mar.13.2024: changed buff table default sorting to subgroup.
 mar.13.2024: changed buff table sort by area stats option to be selectable.
 mar.13.2024: copied buff table sort by area stats option to area stats.
 mar.13.2024: enabled area stats subgroup and profession sorting on non-basic stats.
 mar.13.2024: added area stats option to also match scroll position if matching sort.
 mar.09.2024: reworded some rt click options in area stats to better represent current behavior.
 mar.09.2024: moved format string and other options to better group similar options.
 mar.09.2024: added buff table option to choose area stats index to follow sorting.
 mar.09.2024: removed buff table option to hide button bar, use the individual options instead.
 mar.09.2024: removed defunc button to reset window positions.
 mar.07.2024: moved window menu around in options to better indicate intent of previous change.
 mar.06.2024: removed original area stats and buff table logic, extras are now the primary system.
 mar.04.2024: maybe gw2 update fix.
 feb.20.2024: override duration remaining on buffs with infinite duration to also be infinite.
 feb.20.2024: added buff window option to hide title button bar categories.
 feb.07.2024: fix some things maybe.
 feb.05.2024: fix ram limit log trimmer since some time ago.
 feb.05.2024: also fixes some oddities like individual history failing.
 feb.05.2024: fall back to global excludes setting if none set in area stats windows.
 feb.05.2024: added overrides for ruleset via guild hall buff presence.
 feb.05.2024: set as wvw log, using wvw conditions, if controlled player has a ruleset buff.
 feb.05.2024: evtc: added cbts_ruleset if controlled player is using a rulset.
 jan.31.2024: fixed persistent/advanced stats resetting if not in squad.
 jan.31.2024: possibly fixed a bug that could assign the wrong stats if using multiple windows.
 jan.31.2024: removed restrictions on primary area stats window.
 jan.09.2024: copied subgroup/profession sort option to area stats.
 jan.09.2024: added missing save for auto-open error log ini key.
 jan.09.2024: split fight history count key to a squad and individual value.
 jan.09.2024: added parsing 'url' key in arcdps_lang.ini to pull new translation file (always).
 dec.16.2023: possibly fixed out-of-range skill id on some events.
 dec.13.2023: fixed cbts_effect2 still clamping duration to u16.
 dec.13.2023: additional fixes for dec12.
 dec.13.2023: updated for dec12 game build maybe (untested).
 dec.01.2023: fixed npc attribute reset.
 dec.01.2023: fixed buffremoveall not triggering last stack remove overrides.
 nov.28.2023: updated for nov28 game build maybe.
 nov.28.2023: removed long obsolete overrides for soulbeast, undead, scavenging runes.
 nov.28.2023: fixed condi sim sometimes rounding to 1 when it shouldnt (small numbers on invuln).
 nov.13.2023: un-break subgroups.
 nov.12.2023: un-break some experiment-related things in previous builds.
 nov.11.2023: api: delayed player scrape til in world (fixes self sporadically not set).
 nov.10.2023: attempt to match game killing condition tick behavior.
 nov.10.2023: force refresh attributes on combat enter (consistent fix for uninit attributes).
 nov.10.2023: allow agents lingering (fixes missing agent on some events after despawn).
 nov.10.2023: disable clicking modifier option unless modifiers held.
 nov.07.2023: removed defunc option suppress objective achievements.
 nov.07.2023: removed options suppress objective quests and events.
 nov.07.2023: evtc: fixed? buff change value to proper precalc value (difference to old).
 nov.07.2023: evtc: buff_dmg in cbts_buffinitial is original duration.
 oct.23.2023: updated d3d11 and dxgi export list.
 oct.19.2023: updated for oct19 game build, probably not entirely.
 oct.19.2023: check source/target reaction before adding to strip or cleanse.
 oct.01.2023: updated for sep26 game build, probably not entirely.
 sep.20.2023: fixed self skills not calculating without dps window.
 sep.20.2023: fixed kits not using weapon stats (since previous).
 sep.20.2023: fixed pet damage estimating high.
 sep.20.2023: capped all tooltip max widths as a workaround to blowouts.
 sep.12.2023: updated for sep12 game build maybe.
 sep.12.2023: evtc: reset all polled stats on spawn (previously only on logstart).
 sep.09.2023: fixed a bug that could stall or freeze the game in several previous builds.
 sep.02.2023: evtc/api: fixed buff change events using wrong values.
 aug.30.2023: fixed is-loaded (ui hide) detection maybe.
 aug.30.2023: more fat trimming, more efficient implementation for formula filters.
 aug.27.2023: fixed some buff conditions failing since previous.
 aug.25.2023: fixed imgui input filtering if camera is mouse-controlled.
 aug.24.2023: fixed wrong scaling for profession text in display options since previous.
 aug.24.2023: fixed hidable windows from not hiding in same map loading screens.
 aug.22.2023: added default ids for new strikes.
 aug.22.2023: "fixed" missing implementations for several formula filters (since forever...).
 aug.22.2023: removed d3d9 support code.
 aug.22.2023: save session before updater restarts client.
 aug.22.2023: evtc: CBTS_EFFECT2 is_flanking if effect is on moving platform (coords relative to platform).
 jul.26.2023: fixed stray window size constraint in area stats tooltip.
 jul.26.2023: evtc: fixed map log not resetting properly in some (short) instances.
 jul.19.2023: fixed missing guids for effects since previous.
 jul.19.2023: fixed cbts language since previous.
 jul.19.2023: changed cbts_effect2 orientation (again, sorry) to original*1000 clamped to int16.

download
 here (20240315-194656)