Related to this issue:
I looked into the issue a bit more, since this isn't actually exactly exclusive to the slingshot. For the longest time there was always this small pause between killing mobs.
Notice how my character here pauses every time the target it's killed has died. Generally you can cancel this "pause" by moving your character or using the mouse, but it'd be a big QoL improvement to be able to simply hold F and not have your character do this strange pause.
After looking into it, I stumbled upon line 2315 in components/playercontroller.lua
if retarget ~= nil and CanEntitySeeTarget(self.inst, retarget) then
After putting some thought into it, I realised the player wasn't actually checking whether or not retarget was dead, so I applied another check.
if (retarget ~= nil and not retarget.replica.health:IsDead()) and CanEntitySeeTarget(self.inst, retarget) then
And after testing in-game, I get much smoother combat!
That little pause between killing mobs is gone, and this improves the QoL of combat so much! This also fixes the issue with slingshot speed resetting when holding F on a horde of mobs.
Hope this may get fixed
1. Spawn a horde of mobs
2. Hold the attack button
3. Notice how there is a little pause between each mob you kill