Open slarticodefast opened 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. While Case 2 is pretty easy to reproduce, Case 1 is not. After testing many soap throws while running, depending on the distance:
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
inThrownItemSystem.cs
.Reproduction Case 1:
Case 2:
Build a monkey corridor like this:
Spawn an AI monkey and immediately throw soap at him
It will run towards you while the soap flies above him
Sometimes he slips on the client but not on the server, causing him to fall down but keep running towards the gas analyzer. Afterwards his sprite is bugged and will stay horizontal.
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.