+
Skip to content

Conversation

mewmew
Copy link
Contributor

@mewmew mewmew commented Dec 4, 2024

When syncing object delta information, special care has to be taken for Skull Levers on dlvl=16, since all levers in a group must be pulled before opening the trigger area (refer to the _oVar8 check of OperateLever). This check is not performed when object delta information is synced, and as such, if a player walks down to dlvl=16 when another player is already on dlvl=16 and has opened one Skull Lever (but not all Skull Levers) of a group, then for the new player entering dlvl=16 (and thus receiving object delta information from the player already present on the level) would have the lever group trigger activated and the map changed, even though all Skull Levers of the given group have not yet been pulled. As such, the map state of these two players will differ considerably.

Edit: furthermore, the _oVar8 check is done for other object delta information sync functions (e.g. SyncCrux).

@NiteKat
Copy link
Contributor

NiteKat commented Dec 25, 2024

I've known this bug works for a single player where you pull one of the last set as a speedrun strat. You pull one of the final set using telekenesis, town portal back to town, then immediately come back down (or do any shopping if you need something then go back down) and Diablo's cage would be open without having to hit the other one in the set. Never thought about how this would behave with multiple players. I kind of want to check it out in game and see how that looks when the level desyncs like that now. 😆

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

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载