space-wizards / space-station-14

A multiplayer game about paranoia and chaos on a space station. Remake of the cult-classic Space Station 13.
https://spacestation14.io
MIT License
2.54k stars 3.15k forks source link

Slipping prediction issues #29859

Open slarticodefast opened 1 month ago

slarticodefast commented 1 month ago

Description

If you throw slippery items at a moving mob or player, they sometimes get slipped even while the item is in the air. This is not supposed to happen since #24494. There are some prediction problems happening with SlipCausingAttemptEvent in ThrownItemSystem.cs.

Reproduction Case 1:

Case 2:

Additional context If a slippery item like soap is thrown above a moving mob or player, the SlipCausingAttemptEvent is supposed to cancel the slip, but this sometimes only happens on the server, but not on the client. This prediction problem was already mentioned in #24494, but disregarded as uncommon. My recent change to throwing mechanics (#29726) made thrown items fly less far and therefore a little slower, causing more slip events that have to get cancelled and more of these mispredictions to happen. You can compare the current upstream to c8a87ceaab which is the last commit before my PR. The bug happens in both, but is more rare before.

luizwritescode commented 1 month ago

Recently I've seen an artifact spawn slippery items (banana peels iirc) as multiple players slipped and got "stuck" with a horizontal sprite at the same time. It was pretty funny, but I guess this should be fixed since visual bugs will invite players to break RP and chat in LOOC. image While Case 2 is pretty easy to reproduce, Case 1 is not. After testing many soap throws while running, depending on the distance: