endless-sky/endless-sky

[bug] burst weapons and "stream"

LocalGod79 opened this issue · 7 comments

at the moment, the cooldown does not reflect the number of shots fired, so whether the player fires 10 or 100 out of their possible burst of 120, they still wait for the whole cooldown as though they'd fired the whole salvo...

this mechanic in general needs some work, as it neither functions as a magazine replacement type delay, or a proper cool down mechanic...

I figured it was intentional?

I'm pretty sure that's not true. Each shot you fire adds the "reload" amount to the full-cycle reload count, and the number of burst projectiles you can fire resets when that count gets back down below zero. So if you only fire one shot, it takes less time to "cool down" than if you fired the full burst.

I've found the cause of the bug. If a burst weapon is in stream mode, it will make you wait for the entire reload of the gun completely independent from how much of the actual salvo you've fired, but if the weapon is in cluster mode then it will work as the burst mechanic is intended too.

Here is a weapon to test it on. It has a long enough reload time that it makes this very noticable.
By default, guns are in stream mode, but look at the difference between stream and cluster when you change it.

outfit "EMP Device"
    category "Guns"
    cost 2500000
    thumbnail "outfit/known"
    "mass" 35
    "outfit space" -35
    "weapon capacity" -35
    "gun ports" -1
    weapon
        sound "electron beam"
        "fire effect" "skylance impact"
        "hit effect" "skylance impact"
        "inaccuracy" 360
        "velocity" 800
        "lifetime" 1
        "reload" 3
        "burst count" 60
        "burst reload" 1
        "firing energy" 21.2
        "firing heat" 6.7
        "ion damage" 50
#       "cluster"

Local, you should be able to test the same thing with the weapon you first noticed this on. :)

The Korath Detainer I most notably saw it on.

Now the question is, should this really be changed? The stream mechanic would have to give special treatment to burst weapons to fix this, or we could just give all burst weapons the cluster attribute. And I can see this strange burst behavior with the stream attribute being used by some as a valid mechanic.

perhaps just documentation is sufficient:
• Secondary Weapons default to "stream" rather than "cluster"
• individual weapons carrying both "stream" and burst attributes are subject to full reload after every salvo

I believe that it's everything defaults to stream unless it has a missile strength >0.