Prevent visual bug on older clients where mobs appear to teleport to player - #3533
Conversation
|
It seems that the next movement spline starting too soon after the unroot trips up the client. In the 1.8 sniffs it's the same packet used to unroot the creature (MSG_MOVE_UNROOT) but it only begins chasing again on the next world update. In our core it happens immediately after, Unit::Update updates MotionMaster after it's updated the auras (where unroot happens). |
530c3eb to
1cd14e4
Compare
Sure I made that change and included your comment, also confirmed it still fixes the issue for me. |
1cd14e4 to
e338cb6
Compare
| SetRootedReal(apply); | ||
| MovementPacketSender::SendMovementFlagChangeToAll(this, MOVEFLAG_ROOT, apply); | ||
|
|
||
| // Hackfix: Old clients teleport unit to last point if new spline begins right after uproot. |
There was a problem hiding this comment.
typo uproot instead of unroot
There was a problem hiding this comment.
I am not able to edit it myself, my browser doesn't support the web editor anymore, I need you to fix the typo before I can merge it.
There was a problem hiding this comment.
Yep fixed, sorry about that
If a mob breaks out of root or stun, and the player has moved away, the mobs will appear to teleport beside the player (presumably to the end location of their movement spline) on older clients.
e338cb6 to
b946ec8
Compare
…angos#3533) If a mob breaks out of root or stun, and the player has moved away, the mobs will appear to teleport beside the player (presumably to the end location of their movement spline) on older clients. (cherry picked from commit 5a30f33)

🍰 Pullrequest
If a mob breaks out of root or stun, and the player has moved away, the mobs will appear to teleport beside the player (presumably to the end location of their existing movement spline?) on clients 1.6.1 and older.
Now I really have no idea if this fix is proper or not... Honestly, I've had sporadic attempts fixing this problem for years now without any luck, but I was getting annoyed at how irritating it was to AoE farm mobs with this bug present so I sat down for a few hours tonight trying random shit until surprisingly this worked. Maybe it'll get the ball rolling on a real fix, or maybe the conditional
StopMovingis good enough of an improvement for the older clients.Feel free to just close this if there's a better solution.
Proof
Before (stun):
https://github.com/user-attachments/assets/5f22ad07-1b46-42a2-b2d2-f281bd1b6801
Before (root):
https://github.com/user-attachments/assets/8d2e6b26-e687-4f2a-90b5-d07c22782a0b
After (stun):
https://github.com/user-attachments/assets/a1f8b9c6-9ee4-46d5-91b4-479150e4266d
After (root):
https://github.com/user-attachments/assets/6b56f68d-6240-4f82-a001-1ab0d00494bc
Issues
How2Test