Fix bug: remote player on different level writes to dPlayer[][] on the host#8519
Fix bug: remote player on different level writes to dPlayer[][] on the host#8519StephenCWills merged 1 commit intodiasurgical:masterfrom
Conversation
|
The call to That said, I am still a little concerned about what you said regarding the Lines 708 to 718 in 4f6a172 Probably, the easiest thing to do is just skip packet header processing for EDIT: On further inspection, we should probably move the Lines 738 to 739 in 4f6a172 |
|
player.isOnActiveLevel() returns true in this case, so checking it won't help. See above debugger screenshot which shows player.currentDungeonLevel == 1 and currLevel == 1 also. |
|
I updated the pull request. Is this what you had in mind? |
|
Understood, I haven't tested this case. Sorry for the trouble. Edit: The PR looks correct now. I think that's what @StephenCWills mentioned. Thanks for working on it @jwkeating |
|
nice work |
Bug repro: Player A creates multiplayer game and goes to dungeon level 1. Player B joins and goes to dungeon level 1. Player B moves a few tiles and then exits the game. Player B rejoins the game. Player A can now see player B's cursor selection in dungeon level one despite the fact player B has rejoined in town.
Cause: On Player A's computer, StartStand() is called for Player B when Player B is not valid ("" for player name, 0 health, etc), and StartStand() writes to dPlayer[][] for Player A's dungeon level 1 despite the fact Player B is not on dungeon level 1. Bug was introduced in recent commit 5a08031 "[Bugfix] Update players directions on joining"
See debugger screenshot:
