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

Ashenvale: Add cross-raid boss health syncing #126

Merged
merged 2 commits into from
Dec 15, 2023

Conversation

emmericp
Copy link
Member

No description provided.

Basic idea is to set wow.base_path in your global VS Code config to
whereever you have WoW installed and then bind this script to some
hotkey (I have it on Ctrl+D), it then copies the addon from whereever
you are developing it to all variants of the game.

Requires Linux, macOS, or WSL2 with rsync installed. It's a bit slow
on WSL, I guess someone who carse about windows should write a
PowerShell variant...
Observed boss health for Ashenvale is now synced to both RAID and YELL
chats. We also propagate syncs received from one to the other.

The idea is to use YELL chat to propagate from one raid to another.
Basically if a raid has a player at boss A and another player at boss B
then the player at B will know health of A and propagate to others at A.
These, in turn, will tell their raid who may have someone at boss C who
then tells others at boss C etc.

Syncs are limited to 10 messages per second total (across both chats),
and I'm attempting to do some basic prevention of duplicate sending, but
it's not super reliable because there are large latencies involved.

Also refactor the HealthTracker a bit, it's no longer some weird
singleton with some effectively global state. It's now an object which
you should only have a single instance of because of singleton-like
dependencies it has. Anyhow, this cleans up state management and
resolves some problems with multiple event registrations.
@emmericp emmericp merged commit 3a57446 into DeadlyBossMods:master Dec 15, 2023
1 check passed
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