Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Forced Downtime events #6583

Draft
wants to merge 7 commits into
base: dragonflight
Choose a base branch
from

Conversation

kfinch
Copy link
Collaborator

@kfinch kfinch commented Dec 30, 2023

Description

Adds a Normalizer that inserts fabricated "forced downtime" events into the event stream. Specific fights can be configured to add forced downtime events to times when the selected player doesn't have targets to damage / heal due to way the fight flows (for example Tindral intermissions). Further modules can consume the downtime events to give better analysis - for example not yelling at the player for failing to use a cooldown during an intermission.

This pull request includes the normalizer, and a scheme to easily specify downtime windows for fights. This pull request does NOT include modules that consume the events. The normalizer on its own does not do anything visible to the user.

Planned follow-on work to use these events:

  • Show forced downtime windows in most 'timeline' views / graphs
  • Don't count forced downtime against the player for 'active time' calculation
  • Don't count forced downtime against the player for 'cooldown util' calculation

Areas for discussion:

  • What do people think should count as 'forced downtime'? Tindral intermissions are pretty unambiguous, but there are many more gray areas.
    • Should the short period with no target between Fyrakk P1 and I1 count?
    • Should we try to detect when all adds are dead in Gnarlroot intermission and count that?
    • Should we count some segments as downtime for damage dealers but not healers? (ex. Painsmith Intermission)
    • Should any player specific mechanics count as 'Forced Downtime'? I'd say we should be as conservative as possible with this, and the only mechanic that should count for this in DF is Sark 'downstairs' phase.
  • What modules should use these events?
  • Is everyone happy with the field definitions for the DowntimeSpec and the ForcedDowntimeEvent objects?

Testing

Check fights with configured downtime and make sure the events are inserted as expected

  • Test report URL: /report/9zxZVkYqb3aWdCLf/22-Heroic+Tindral+Sageswift,+Seer+of+the+Flame+-+Kill+(7:13)/Azlann/standard/events

@kfinch kfinch changed the title Draft: Forced Downtime events [WIP] Forced Downtime events Dec 30, 2023
@kfinch kfinch marked this pull request as draft December 30, 2023 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant