The speed at which a weapon swing animates is managed by FormulaHelper.GetMeleeWeaponAnimTime() (which is overridable by mods). This does the following work, which I understand is reverse engineered from classic by Allofich.
Code: Select all
float speed = 3 * (115 - player.Stats.LiveSpeed);
return speed / classicFrameUpdate;
Then there's the matter of gesture sensitivity to trigger/retrigger an attack animation. Gesture initiation is measured based on percent of mouse travel over screen area. This is tuned by AttackThreshold in settings. This is going to be highly variable based on user's selected resolution and whether DFU is running in exclusive fullscreen or borderless fullscreen over desktop.
The default AttackThreshold value is intended to trigger after a small amount of mouse travel at 1080p (default is 0.03), but I find that I need a much more sensitive value (about 0.0075 - 0.015) to feel good on my 4K/UHD display. Classic never had this issue as it was tuned on a fixed 320x200 area for measuring mouse travel. Classic never had to contend with varying resolutions and aspect ratios.
It's really up to the user to configure this based on their personal environment to whatever feels good to them. A value that is too high relative to the user's display area is going to feel a lot more sluggish than when this is properly tuned. There's also the option to enable click-to-attack which eliminates gesture initiation delay altogether.
I am open to feedback and tuning this further in DFU, with a focus on animation speed specifically for now (not gesture initiation). Please keep feedback grounded in a numerical basis to work from and I'll sort through comments into an outcome before 1.0.
Cheers!