Skip to content

[core] Fixes the issue when players get stuck in a BCNM when they disconnect during opening the chest.#10869

Open
PocketDev89 wants to merge 2 commits into
LandSandBoat:basefrom
PocketDev89:fix-battlefield-relog-stuck
Open

[core] Fixes the issue when players get stuck in a BCNM when they disconnect during opening the chest.#10869
PocketDev89 wants to merge 2 commits into
LandSandBoat:basefrom
PocketDev89:fix-battlefield-relog-stuck

Conversation

@PocketDev89

@PocketDev89 PocketDev89 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

Fixes a case where a player is left permanently stuck inside a battlefield arena and cannot leave.

win a BCNM, open the loot chest, then disconnect before the ejection. On relog you are stranded in the arena, the exit does nothing, and the only way out is a warp item.

Steps to test these changes

Enter a BCNM

Defeat the battlefield and open the loot chest.
Force close the client before the ejection plays out.
Log back in.

on relog you are ejected to the battlefield exit within a few seconds.

@PocketDev89 PocketDev89 changed the title [core] Eject players stranded in a battlefield after disconnecting [core] Fixes the issue when players get stuck in a BCNM when they disconnect during opening the chest. Jul 23, 2026
@Skold177

Skold177 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This does look like it would fix the issue - however I would also recommend clearing the character variable on LEAVE_CODE_EXIT (player runs away from the battlefield) and inside of onEventFinishWin(by this point they should be outside) As its written it looks like if you leave the battlefield manually and then log out(outside, at the burning circle), you will get moved when you log in, which isnt quite correct.

Clear battlefieldRecoveryId when a player leaves the arena under their own
power. Every legitimate exit (running out, and leaving after a win or loss)
routes through leavecode EXIT, so a player who leaves manually and then logs
out at the burning circle is no longer wrongly ejected on relog. The
disconnect teardown path uses WARPDC and keeps the marker, so a player who
drops during the post-win loot window is still recovered.
@PocketDev89

PocketDev89 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

This does look like it would fix the issue - however I would also recommend clearing the character variable on LEAVE_CODE_EXIT (player runs away from the battlefield) and inside of onEventFinishWin(by this point they should be outside) As its written it looks like if you leave the battlefield manually and then log out(outside, at the burning circle), you will get moved when you log in, which isnt quite correct.

Ah! you're right. Appreciate it. Just give you an update on my fixes and retested it

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