ethanmoffat / EndlessClient

An open source client for Endless Online written in C#
MIT License
33 stars 16 forks source link

Fast NPC animations sometimes jump around #316

Open ethanmoffat opened 1 year ago

ethanmoffat commented 1 year ago

NPC animation timing sometimes causes NPCs to jump around when walking quickly. This is because the time between packets for the fastest NPCs is sometimes quicker than the time it takes for all frames of an NPC animation to complete, and NPCAnimator will skip that walk/attack if one is already in progress.

Instead, NPCs should use a similar strategy as characters by taking advantage of the "Replay" functionality of RenderFrameActionTime. Instead of discarding an incoming animation if another is already in progress, Replay can be set to true, which looks closer to what the vanilla client does.