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

raidboss: update ARR/HW/SB timelines to use InCombat lines #5555

Merged
merged 13 commits into from
Jun 19, 2023
Merged

raidboss: update ARR/HW/SB timelines to use InCombat lines #5555

merged 13 commits into from
Jun 19, 2023

Conversation

wexxlee
Copy link
Contributor

@wexxlee wexxlee commented Jun 13, 2023

Intending this PR to finish out the remaining work from #5440 . Marked as draft pending discussion below.

Right now, it includes timeline updates for everything in 02-arr, using 0x104 lines to start the timeline vs. engage or zone-seal messages where it makes sense. There's a few of the coils fights where there are various pre-boss add encounters, so using 0x104 lines -- at least by themselves -- will produce inaccurate results. I've added comments where needed.

Before I start tackling later expansions, this issue of using 0x104 lines in encounters with pre-boss adds will become a more common issue, particularly in dungeon and alliance content (some of the alex raids as well, and doubtless there are others). There's probably at least two options, maybe more, but wanted to discuss approach before I dig in further:

  1. Continue to use engage or zone-seal messages (as-is) where 0x104 lines have the potential to start the timeline early. (Easiest)
  2. Use a combination of engage/zone-seal messages for the initial timeline encounter, and use 0x104 lines with large windows for later encounters. While this might be viable in some current content where spacing between bosses and mobs is at least somewhat predictable, it becomes inaccurate as soon as the content can be unsync'd (if not sooner). It would also require a pretty intensive re-look at older fight content to try to figure out exactly how to space out the timeline entries between combat and what appropriate look-back windows for 0x104 lines would be.

TLDR: leaning toward option 1 since I think this is nice-to-have work and not break-fix?

@quisquous
Copy link
Owner

Use a combination of engage/zone-seal messages for the initial timeline encounter, and use 0x104 lines with large windows for later encounters.

I think this is not possible, as timelines automatically end when out of combat (unless the trigger set is flagged to not do so). So, if there is an initial encounter and it ends, then the timeline will reset and I don't think what you're suggesting is possible.

That said, I think (1) is the correct answer as well.

I thiiiink there should be no case where we use Engage lines anymore. If a fight could use in combat lines, it doesn't need engage. There may be places (e.g. t6 or whatever) where we could use Engage but couldn't use in combat, but I think zone sealing is better there if we can. I'm not sure if there's anything that doesn't have a zone seal and also can't use in combat lines.

@wexxlee
Copy link
Contributor Author

wexxlee commented Jun 13, 2023

There may be places (e.g. t6 or whatever) where we could use Engage but couldn't use in combat, but I think zone sealing is better there if we can. I'm not sure if there's anything that doesn't have a zone seal and also can't use in combat lines.

I haven't gone through exhaustively yet to look at all the use cases, but that tracks with what I've seen in the early content: Engage is always paired with zone-seal. I'll keep an eye out for edge cases where using InCombat or zone-seal exclusively won't work though.

@wexxlee
Copy link
Contributor Author

wexxlee commented Jun 14, 2023

I think this is not possible, as timelines automatically end when out of combat (unless the trigger set is flagged to not do so).

Been thinking about this more, and it looks like most (all?) timelines hare a reset/jump 0 when ever the zone is no longer sealed, e.g.:

0.0 "--Reset--" sync / 00:0839::.*is no longer sealed/ window 10000 jump 0

Would it make sense to either replace (or perhaps just supplement) these with a corresponding InCombat regex for when the player is out of combat? E.g.:

0.0 "--Reset--" sync / 104:[^:]*:0($|:)/ window 10000 jump 0

Especially in multi-zone instances and older content, I'm guessing this might be a case-by-case thing, but in newer raid/trial content where there is only a single combat encounter, it might have some usefulness? Or just redundant at this point?

@quisquous
Copy link
Owner

Yes true, reset lines are redundant in anything that does not have resetWhenOutOfCombat: false, set on the trigger set. We could remove them at this point too, I think!

ui/raidboss/data/03-hw/raid/a10n.txt Outdated Show resolved Hide resolved
ui/raidboss/data/03-hw/raid/a3n.txt Outdated Show resolved Hide resolved
ui/raidboss/data/03-hw/raid/a5s.txt Outdated Show resolved Hide resolved
ui/raidboss/data/03-hw/raid/a7s.txt Show resolved Hide resolved
ui/raidboss/data/03-hw/trial/sophia-ex.txt Outdated Show resolved Hide resolved
@quisquous
Copy link
Owner

also cc @JLGarber FYI and for any opinions

@github-actions github-actions bot added the docs label Jun 16, 2023
@wexxlee
Copy link
Contributor Author

wexxlee commented Jun 16, 2023

Yes true, reset lines are redundant in anything that does not have resetWhenOutOfCombat: false, set on the trigger set. We could remove them at this point too, I think!

I removed the reset lines based on zone-unseal messages, but I wasn't sure about the 0x21 ones, since that still seems to be the default in most timelines. It sounds like those are redundant too, so is there any reason to keep them around? If not, I'll go back and remove those as well (minus any content like Lost City (Hard) and O5N/S that has that property). We should probably also remove them from the shell that we use for new content too then.

@quisquous
Copy link
Owner

Yes true, reset lines are redundant in anything that does not have resetWhenOutOfCombat: false, set on the trigger set. We could remove them at this point too, I think!

I removed the reset lines based on zone-unseal messages, but I wasn't sure about the 0x33 ones, since that still seems to be the default in most timelines. It sounds like those are redundant too, so is there any reason to keep them around? If not, I'll go back and remove those as well (minus any content like Lost City (Hard) and O5N/S that has that property). We should probably also remove them from the shell that we use for new content too then.

Yeah, I think we could remove reset lines in general other than the ones with the reset false property.

# -ii 23F2 23F8 2400 240C

# Exfaust
3.8 "--sync--" sync / 1[56]:[^:]*:Exdeath:23F2:/ window 3.8,0
0.0 "--sync--" sync / 104:[^:]*:1($|:)/ window 0,1
Copy link
Owner

@quisquous quisquous Jun 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

o4s has a door boss. It uses the auto here to start the timeline for Exdeath vs Neo Exdeath. EDIT: I guess technically this will still work as the Neo auto will still resync the timeline. I just think it looks a little weird when the timeline is like "hey here's the door boss jk it's the final boss" and it'd be better to just not use a combat line here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

o4s has a door boss. It uses the auto here to start the timeline for Exdeath vs Neo Exdeath. EDIT: I guess technically this will still work as the Neo auto will still resync the timeline. I just think it looks a little weird when the timeline is like "hey here's the door boss jk it's the final boss" and it'd be better to just not use a combat line here.

I was thinking the same as your edit - but yeah, I guess that will look a little awkward.

If we still want to avoid sync's/starts based on autos, and not have those few seconds of UI dystopia, we could use a combat line for both the door and final bosses, and shorten the sync on the second one so that it only looks back 200 seconds instead of all the way to 0. And then add a jump to 800 on the AddedCombatant line for Neo Exdeath? (Granted, I may be over-engineering this, but since the door boss issue is going to come up at least 6 more times before this PR is done, figured I'd propose it now...)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can go either way. I think either of these approaches are good:

  • just don't start the timeline until we know for sure
  • start some "we're not sure" shared section with "Door Boss Ability?" "Final Boss Ability?" lines and then jump to the right one when we know.

Also, re: before this PR is done, for my own sake of reviewing this, once o4s is sorted out, can I land this one, and then the other ones be done in a separate PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can go either way. I think either of these approaches are good:

  • just don't start the timeline until we know for sure
  • start some "we're not sure" shared section with "Door Boss Ability?" "Final Boss Ability?" lines and then jump to the right one when we know.

Also, re: before this PR is done, for my own sake of reviewing this, once o4s is sorted out, can I land this one, and then the other ones be done in a separate PR?

I lean toward your first option. I know we do the "not sure" stub elsewhere, but the autos occur early enough, and there's a long enough delay before real abilities start, that I think certainty is better than a stub. I'll revert the o4s stuff and mark the PR as ready.

ui/raidboss/data/04-sb/raid/o6s.txt Show resolved Hide resolved
@JLGarber
Copy link
Collaborator

Nothing to add at this point, I think this is a good change.

@wexxlee wexxlee changed the title raidboss: update timelines to use 0x104 InCombat lines raidboss: update ARR, HW, and SB timelines to use 0x104 InCombat lines Jun 18, 2023
@cactbotbot
Copy link
Collaborator

cactbotbot commented Jun 18, 2023

@wexxlee Thanks for your contribution! 🌵🚀

@wexxlee wexxlee changed the title raidboss: update ARR, HW, and SB timelines to use 0x104 InCombat lines raidboss: update ARR/HW/SB timelines to use InCombat lines Jun 18, 2023
@wexxlee wexxlee marked this pull request as ready for review June 18, 2023 10:06
@quisquous quisquous merged commit a44b96f into quisquous:main Jun 19, 2023
github-actions bot pushed a commit that referenced this pull request Jun 19, 2023
…lines (#5555)

Intending this PR to finish out the remaining work from #5440 . Marked
as draft pending discussion below.

Right now, it includes timeline updates for everything in 02-arr, using
0x104 lines to start the timeline vs. engage or zone-seal messages where
it makes sense. There's a few of the coils fights where there are
various pre-boss add encounters, so using 0x104 lines -- at least by
themselves -- will produce inaccurate results. I've added comments where
needed.

Before I start tackling later expansions, this issue of using 0x104
lines in encounters with pre-boss adds will become a more common issue,
particularly in dungeon and alliance content (some of the alex raids as
well, and doubtless there are others). There's probably at least two
options, maybe more, but wanted to discuss approach before I dig in
further:

1. Continue to use engage or zone-seal messages (as-is) where 0x104
lines have the potential to start the timeline early. (Easiest)
2. Use a combination of engage/zone-seal messages for the initial
timeline encounter, and use 0x104 lines with large windows for later
encounters. While this might be viable in some current content where
spacing between bosses and mobs is at least somewhat predictable, it
becomes inaccurate as soon as the content can be unsync'd (if not
sooner). It would also require a pretty intensive re-look at older fight
content to try to figure out exactly how to space out the timeline
entries between combat and what appropriate look-back windows for 0x104
lines would be.

TLDR: leaning toward option 1 since I *think* this is nice-to-have work
and not break-fix? a44b96f
github-actions bot pushed a commit that referenced this pull request Jun 19, 2023
…lines (#5555)

Intending this PR to finish out the remaining work from #5440 . Marked
as draft pending discussion below.

Right now, it includes timeline updates for everything in 02-arr, using
0x104 lines to start the timeline vs. engage or zone-seal messages where
it makes sense. There's a few of the coils fights where there are
various pre-boss add encounters, so using 0x104 lines -- at least by
themselves -- will produce inaccurate results. I've added comments where
needed.

Before I start tackling later expansions, this issue of using 0x104
lines in encounters with pre-boss adds will become a more common issue,
particularly in dungeon and alliance content (some of the alex raids as
well, and doubtless there are others). There's probably at least two
options, maybe more, but wanted to discuss approach before I dig in
further:

1. Continue to use engage or zone-seal messages (as-is) where 0x104
lines have the potential to start the timeline early. (Easiest)
2. Use a combination of engage/zone-seal messages for the initial
timeline encounter, and use 0x104 lines with large windows for later
encounters. While this might be viable in some current content where
spacing between bosses and mobs is at least somewhat predictable, it
becomes inaccurate as soon as the content can be unsync'd (if not
sooner). It would also require a pretty intensive re-look at older fight
content to try to figure out exactly how to space out the timeline
entries between combat and what appropriate look-back windows for 0x104
lines would be.

TLDR: leaning toward option 1 since I *think* this is nice-to-have work
and not break-fix? a44b96f
@wexxlee wexxlee deleted the timeline-updates branch June 19, 2023 10:02
github-actions bot pushed a commit to SiliconExarch/cactbot that referenced this pull request Jun 19, 2023
…lines (quisquous#5555)

Intending this PR to finish out the remaining work from quisquous#5440 . Marked
as draft pending discussion below.

Right now, it includes timeline updates for everything in 02-arr, using
0x104 lines to start the timeline vs. engage or zone-seal messages where
it makes sense. There's a few of the coils fights where there are
various pre-boss add encounters, so using 0x104 lines -- at least by
themselves -- will produce inaccurate results. I've added comments where
needed.

Before I start tackling later expansions, this issue of using 0x104
lines in encounters with pre-boss adds will become a more common issue,
particularly in dungeon and alliance content (some of the alex raids as
well, and doubtless there are others). There's probably at least two
options, maybe more, but wanted to discuss approach before I dig in
further:

1. Continue to use engage or zone-seal messages (as-is) where 0x104
lines have the potential to start the timeline early. (Easiest)
2. Use a combination of engage/zone-seal messages for the initial
timeline encounter, and use 0x104 lines with large windows for later
encounters. While this might be viable in some current content where
spacing between bosses and mobs is at least somewhat predictable, it
becomes inaccurate as soon as the content can be unsync'd (if not
sooner). It would also require a pretty intensive re-look at older fight
content to try to figure out exactly how to space out the timeline
entries between combat and what appropriate look-back windows for 0x104
lines would be.

TLDR: leaning toward option 1 since I *think* this is nice-to-have work
and not break-fix? a44b96f
github-actions bot pushed a commit to SiliconExarch/cactbot that referenced this pull request Jun 19, 2023
…lines (quisquous#5555)

Intending this PR to finish out the remaining work from quisquous#5440 . Marked
as draft pending discussion below.

Right now, it includes timeline updates for everything in 02-arr, using
0x104 lines to start the timeline vs. engage or zone-seal messages where
it makes sense. There's a few of the coils fights where there are
various pre-boss add encounters, so using 0x104 lines -- at least by
themselves -- will produce inaccurate results. I've added comments where
needed.

Before I start tackling later expansions, this issue of using 0x104
lines in encounters with pre-boss adds will become a more common issue,
particularly in dungeon and alliance content (some of the alex raids as
well, and doubtless there are others). There's probably at least two
options, maybe more, but wanted to discuss approach before I dig in
further:

1. Continue to use engage or zone-seal messages (as-is) where 0x104
lines have the potential to start the timeline early. (Easiest)
2. Use a combination of engage/zone-seal messages for the initial
timeline encounter, and use 0x104 lines with large windows for later
encounters. While this might be viable in some current content where
spacing between bosses and mobs is at least somewhat predictable, it
becomes inaccurate as soon as the content can be unsync'd (if not
sooner). It would also require a pretty intensive re-look at older fight
content to try to figure out exactly how to space out the timeline
entries between combat and what appropriate look-back windows for 0x104
lines would be.

TLDR: leaning toward option 1 since I *think* this is nice-to-have work
and not break-fix? a44b96f
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.

5 participants