Skip to content

feat: FINALV1RADIANCETRACKER - Radiance Rotation Tracker for Guild Wars - #20

Merged
burgerfan41 merged 4 commits into
EdenGuild:masterfrom
Good627:FINALV1RADIANCETRACKER
Oct 13, 2026
Merged

burgerfan41 merged 4 commits into
EdenGuild:masterfrom
Good627:FINALV1RADIANCETRACKER

Conversation

@Good627

@Good627 Good627 commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements client-to-client Radiance Rotation Tracking for Paladins/Knights in Wynncraft guild wars.

The feature coordinates continuous Radiance uptime across two or more Guardians by synchronizing cast timestamps over EdenBot's WebSocket room relay. It operates completely independently of status effect HUD overlays or potion packets, ensuring 100% reliability even when potion HUDs are turned off.


Core Mechanics & Flow

  1. Continuous Rotation Alternation:

    • The first Guardian casts Radiance (Bash spell). Active Radiance duration sets to their aspect tier (\8.0s\ Base, \9.0s\ T1, \9.65s\ T2, \10.0s\ T3) and broadcasts to guild members sharing the same group key.
    • The partner Guardian receives a live countdown: \RADIANCE IN s.
    • When the countdown reaches the configured grace threshold, an audible note block pling fires and \CAST RADIANCE\ alerts the partner on screen.
    • The second Guardian casts, their Radiance activates, and the first Guardian immediately receives their countdown for the next rotation cycle, keeping the buff active with zero downtime.
  2. Dynamic Interrupt Handling:

    • If a ready Guardian interrupts the rotation with their own Bash off-cooldown, active Radiance immediately jumps to their aspect tier duration, pending countdown/prompts clear, and a new cast broadcast is transmitted.
    • Strict cooldown isolation: a partner casting never modifies the local player's cooldown timer. Bashing while on cooldown cannot start Radiance or reset active duration.
  3. Robust Cooldown Telemetry & Tablist Parsing:

    • Uses \PlayerTabOverlayAccessor\ to inspect Wynncraft's tablist footer text on the 20 Hz client tick loop (preventing per-frame allocations in render paths).
    • Strict multi-ability regex parsing cleanly isolates adjacent cooldowns (e.g. \Bash: 3s • Radiance (0:15)).
    • Telemetry flicker protection: a single-tick
      ull\ footer omission during UI updates or latency cannot trigger false cast transitions while an existing cooldown is counting down.
  4. Lifecycle & War State Safety:

    • War gating (
      adianceRequireWar) detects war countdowns (25s, 5-4-3-2-1), active tower combat via \WarDPS.isActivelyFighting(), and war termination cues (including territory defense victories).
    • Incoming websocket messages self-filter using normalized undashed UUIDs and game profile usernames, preventing self-echo desync.
    • Disconnecting, switching servers, or disabling the feature cleanly resets group counts, cached timers, and prompts.

Configuration & GUI Controls

  • Grace Period Slider: Configurable advance notice slider in \BridgeConfigScreen\ ranging from \

Good627 and others added 4 commits October 12, 2026 00:28
- Client-to-client Radiance rotation tracking for Paladins/Knights in guild wars
- WebSocket room relay sync via EdenBot bridge when 2+ members share group key
- Continuous rotation flow: first Guardian casts, second gets countdown with audio ping before expiry (default 1.25s grace)
- Dynamic interrupt handling: off-cooldown bash updates active Radiance to aspect tier duration and broadcasts cast
- Strict cooldown isolation: partner casting never alters local cooldown; bash while on cooldown cannot reset Radiance
- Tablist footer parsing with resilient regex and 1-tick flicker protection
- Configurable grace slider (0.0s-3.0s in 0.25s steps), audio ping volume/pitch, aspect tier selection, and war gating
@burgerfan41
burgerfan41 merged commit 7ba03d3 into EdenGuild:master Oct 13, 2026
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.

2 participants