Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/main/java/io/blert/challenges/tob/TheatreChallenge.java
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,14 @@ private void updateLocation() {
log.debug("Location changed to {}", loc);
location = loc;

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;
Comment on lines +302 to +307

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

}

if (roomDataTracker == null || !location.inRoomInstance(roomDataTracker.getRoom())) {
// When entering a new instance for the first time, its room data tracker must be initialized.
initializeRoomDataTracker();
Expand Down