Skip to content

fix(parser): treat is_offcycle buff records as extensions, graft onto closest stack - #206

Merged
Roddygithub merged 2 commits into
mainfrom
fix/parser-parity-after-179
Aug 10, 2026
Merged

Roddygithub merged 2 commits into
mainfrom
fix/parser-parity-after-179

Conversation

@Roddygithub

@Roddygithub Roddygithub commented Aug 9, 2026 •

Copy link
Copy Markdown
Owner

Ce que contient le PR (2 commits)

  1. fix(ei-compare) : drop des skills interrompus breakbar-only des connected hits (parité 179 → 177).
  2. fix(parser) : les records buff is_offcycle != 0 (refresh sur stack vivante) sont émis en BuffExtensionEvent (miroir du chemin statechange-70) et greffés sur la stack la plus proche de old_duration (règle EI MinBy(|TotalDuration − oldValue|)).

Résultat (commit parser)

Parser : 65 applies + 31 extensions (avant 96 applies). Uptime might 11.241 → 11.771 sur le log 2026-03-09 (EI : 12.07). Tests : 188 parser + 32 buff_state au vert.

Notes

  • DCO : les 2 commits sont maintenant signés.
  • Écart résiduel ~2.5% (drop de 11 applies avec buff_dmg>0 + OffsetNewDuration) — séparé.

… hits

EI books a breakbar-only skill as interrupted (connectedHits = 0) when
the player interrupted an enemy cast with that skill, instead of
counting the result-10 ticks. Skip breakbar-only counting for skills
with a matching InterruptEvent from the same source within the slice.

Verified across the 35-log corpus: the two remaining connectedHits diffs
(skills 5930 / 12621 on 20260508-001302) are the only such cases, and
the new rule clears both without touching any other log. Parity 179 -> 177.

Signed-off-by: Roland Salardon <r.salardon@gmail.com>
@Roddygithub
Roddygithub force-pushed the fix/parser-parity-after-179 branch from c5f9dd8 to 4f639de Compare August 10, 2026 00:55
@Roddygithub Roddygithub changed the title fix(ei-compare): drop interrupted breakbar-only skills from connected hits fix(parser): treat is_offcycle buff records as extensions, graft onto closest stack Aug 10, 2026
@Roddygithub
Roddygithub force-pushed the fix/parser-parity-after-179 branch from 4f639de to aa644a0 Compare August 10, 2026 00:59
… closest stack

EI converts arcdps buff records with is_offcycle != 0 (a refresh on a
living stack) into BuffExtensionEvent that adds duration to the existing
stack closest to oldValue, without consuming a slot or evicting. The
tracker was emitting them as fresh BoonApplyEvents that got evicted at
the 25-stack cap, losing ~0.8 average might stacks vs EI (11.24 vs
12.07 on the 2026-03-09 log).

- parser: emit BuffExtensionEvent(extended=value, new=overstack) for
  is_offcycle applies, mirroring the statechange-70 path.
- buff_state: _process_buff_extension now grafts onto the stack closest
  to old_duration (EI MinBy(|TotalDuration - oldValue|)) instead of the
  shortest expiry.

Uptime 11.241 -> 11.771. Parser tests 188 passed, buff_state 32 passed.

Signed-off-by: Roland Salardon <r.salardon@gmail.com>
@Roddygithub
Roddygithub force-pushed the fix/parser-parity-after-179 branch from aa644a0 to c55fea4 Compare August 10, 2026 01:03
@Roddygithub
Roddygithub merged commit 388b98b into main Aug 10, 2026
11 checks passed
@Roddygithub
Roddygithub deleted the fix/parser-parity-after-179 branch August 10, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant