Skip to content

Conversation

@frolv
Copy link
Collaborator

@frolv frolv commented Feb 3, 2026

Logging out of then back into an ongoing ToB raid briefly changes the client's location to ELSEWHERE as it loads in. This location change caused the challenge to reinitialize its active room data tracker once it corrected to the active room, restarting from tick 0 and sending bad data to the server.

This updates room tracker initialization to ignore location ELSEWHERE as the only way that can happen in an active raid is when relogging.

Logging out of then back into an ongoing ToB raid briefly changes the
client's location to ELSEWHERE as it loads in. This location change
caused the challenge to reinitialize its active room data tracker once
it corrected to the active room, restarting from tick 0 and sending bad
data to the server.

This updates room tracker initialization to ignore location ELSEWHERE as
the only way that can happen in an active raid is when relogging.
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1614966dc0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +302 to +307
if (location == Location.ELSEWHERE) {
// ELSEWHERE should only occur during a raid when logging out then
// back in (since actually going ELSEWHERE would terminate the
// TheatreChallenge). Don't reinitialize the data tracker.
locationChangedThisTick = true;
return;

Choose a reason for hiding this comment

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

P2 Badge Clear room tracker when actually leaving raid

When the player genuinely leaves the raid (teleporting out or finishing and exiting), Location.fromWorldPoint will also return ELSEWHERE. With this early return, the existing roomDataTracker is no longer cleared immediately; instead cleanup only happens after queueRaidEnd’s 3‑tick deferred end, while onTick continues to call roomDataTracker.tick() in ENDING. That means a real exit can still emit a few extra ticks/events and inflate room timing or send stale room data. Previously, initializeRoomDataTracker() would clear the tracker right away on ELSEWHERE. Consider clearing the tracker (or suppressing roomDataTracker.tick) when ELSEWHERE is reached outside the relogging case.

Useful? React with 👍 / 👎.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

no dumb bot it returns LOBBY

@frolv frolv merged commit 3936d03 into main Feb 4, 2026
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