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 context menu 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.
 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.
 if your issue is not in the discord pins, describe it in detail and attach the latest complete arcdps 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 percent-based damage - not notified by server.
 area is missing siphon damage - not notified by server.
 area is missing healing - not notified by server.
 area is missing combo finishers - not notified by server.
 area is missing buff extension source - 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 execute - not notified by server.
 area breakbar damage missing on some breakbar changes initiated by damageless skills.
 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.

changes
 jul.23.2024: fixed apc thread eating all the cpu in previous.
 jul.21.2024: fixed more gadget things.
 jul.16.2024: updated for july 16 game build maybe.
 jul.16.2024: added reapers frost, petrify, freeze to cc counter.
 jul.16.2024: downs contribution threshold changed from since-90 to since-full.
 jul.16.2024: fixed downs contribution not counting downing hit.
 jul.16.2024: fixed kills contribution not counting killing hit.
 jul.16.2024: maybe fixed players in eotm.
 jul.16.2024: evtc: fixed bit 1 on is_moving never set (and updated docs).
 jul.09.2024: added vindicator dodge detection.
 jul.09.2024: added unhindered combatant dodge detection.
 jul.09.2024: added experimental detection for some movement skills.
 jul.09.2024: prevent counting stun against some targets.
 jul.09.2024: prevent counting fear-like as both nocast and launch.
 jul.09.2024: removed daze from counting as cc (full loss of control only).
 jul.09.2024: added experimental area stat duration disabled (ms player would be disabled by cc).
 jul.09.2024: added experimental area stat stunbreak recovered.
 jul.09.2024: added missing implementation for percent condition attribute type.
 jul.09.2024: renamed accumulated to normalized, basic to individual, squad to current fight stats.
 jul.09.2024: rearranged area stats stat selection... again.
 jul.09.2024: fix buff table crash when using subgroup-only.
 jul.09.2024: fix buff table self-top, no player index subgroup number, subgroup average colour.
 jul.09.2024: merge skills with the same name in skill lists and tooltips.
 jul.09.2024: prevent minion split in skill list for buff events (fix buff generation not showing minion component).
 jul.09.2024: evtc: cbtr_crowdcontrol value is duration ms, value+overstack_value is defiance calculation.
 jul.09.2024: evtc: added experimental cbts_stunbreak.
 jul.09.2024: evtc: cbts_instancestart value is u32 map socket (ip).
 jun.27.2024: prevent cc counter from counting hitting self.
 jun.27.2024: added minimum height option to area stats (canvas window for 0 padding no background).
 jun.27.2024: added title align option to area stats.
 jun.27.2024: added focusing disable option to area stats (canvas window).
 jun.27.2024: added missing handling of additional stats bar properties to bar combine.
 jun.27.2024: added experimental crowd control detection (launch, knockback, knockdown, pull, sink, float).
 jun.27.2024: added experimental area stat crowd control count (sum of above plus daze, stun, fear, taunt).
 jun.27.2024: added source agent override for chilled to the bone.
 jun.27.2024: fixed a fake breakbar damage event.
 jun.27.2024: evtc: above is cbtr_crowdcontrol (12) in combat result enum, as direct damage event.
 jun.27.2024: evtc: added cbts_glider, value = 1 or 0 for deployed or stowed.
 jun.27.2024: evtc: changed cbts_weapswap, value is now the old set.
 jun.27.2024: strings: changed window style x/y strings just window style (using side by side for x/y input).
 jun.21.2024: fixed a crash in previous.
 jun.21.2024: added area stats display option to combine background bars across multiple area stats windows.
 jun.21.2024: fixed bar padding style option affecting bar percent.
 jun.21.2024: fixed downs contribution counting too far back since previouses.
 jun.21.2024: prefer last target if target agent is removed.
 jun.21.2024: prevent untarget from changing last target.
 jun.21.2024: strings: updated some strings (removing "don't" in area stats and buffs and flipping checkbox).
 jun.19.2024: fixed some 0 src, 0 dst events being filtered.
 jun.18.2024: possibly fixed contribution ratio going over 100.
 jun.18.2024: evtc: possibly fixed squadmembers not being in the agent table in some situations.
 jun.18.2024: evtc: possibly fixed squad ground markers initial positions.
 jun.14.2024: removed cerus and deimos fractal fight from default list.
 jun.14.2024: fixed update check (manual update required).
 jun.14.2024: evtc: added cbts_arcbuild, src_agent is null-terminated full version string as in arcdps.log.
 jun.14.2024: evtc: fixed missing hitbox widths in previous.
 jun.13.2024: further adjusted some squad stats (damage out/in/contributions as totals).
 jun.13.2024: fixed some bars being initialized grey.
 jun.13.2024: kills contribution clamped to current combat (maybe fix contirbution ratio exceeding 100).
 jun.13.2024: fixed squad and accumulated stats historical juggling in previous.
 jun.13.2024: fixed string formatting and number formatting in some places.
 jun.13.2024: evtc: fixed untagged events at end of log (teamchange).
 jun.13.2024: evtc: fixed death/down events being swapped in previous.
 jun.12.2024: added global option to area stats combat time to store individual durations using squad timing (not retroactive for history).
 jun.12.2024: fixed or maybe changed log end combat duration update behavior to respect combat time from damage option.
 jun.12.2024: fixed buff table unecessary bottom padding when header row and title bar disabled.
 jun.12.2024: added anon mode option to area stats and area buffs display options to hide names, professions, and colours for non-pov.
 jun.12.2024: added kills contribution stat to area stats - damage while down until dead.
 jun.12.2024: added contribution ratio stat to area stats - downs plus kills contribution as percentage of total dps against players.
 jun.12.2024: reworked down count, died count, res time, and res count into squad and accumulated stats.
 jun.12.2024: reworked all squad and accumulated stats to use the history system.
 jun.12.2024: moved area stats persist reset to stats category, reworded.
 jun.12.2024: evtc: logs will include a limited set of statechange events for all participating agents in all modes for nicer replay potential.
 jun.12.2024: evtc: updated statechange docs to be more readable (above events are described as "limited to agent table").
 jun.12.2024: evtc: instanced content logs will include all initialized agents unconditonally.
 jun.12.2024: evtc: non-instanced content logs will filter out agents that do not interact with the squad, or gadgets far or without health.
 jun.12.2024: evtc: removed cbts_last90beforedown, redundant as healthpercent is part of the limited set.
 jun.12.2024: evtc: teamchange will happen at despawn rather than spawn, value is now oldteam.
 jun.12.2024: evtc: targetable will apply to character and players as well (stealth).
 jun.12.2024: evtc: entercombat value will be profid, entercombat buffdmg will be elite spec id (in case of mid-log change).
 jun.12.2024: evtc: added warning if potential run-on boss species id exists in log.
 jun.12.2024: api: set raw elite in agent add.
 jun.09.2024: evtc/api: fixed initial is-active value on some buffs.
 jun.08.2024: changed default log folder name again to "npc name (id)" due to dynamic map names, this change is not retroactive.
 jun.04.2024: added cm ids to default.
 jun.04.2024: changed default log folder name to "map name - npc name", this change is not retroactive.
 jun.04.2024: set minions as eligible to start/set log target (also syncs timing in those cases).
 may.21.2024: removed previous restrictions on valid checks.
 may.21.2024: dll file assembly version changed to 1.yyyy.mdd.hmm.
 may.21.2024: removed defunc option to treat quest/event npcs as bosses.

download
 here (20240723-184501)