Speed field ignored for certain missiles
A difficult one to explain.
The speed field in a mobj's thing definition appears to be ignored for missiles that are spawned via actions that do anything more than simply fire said missile (i.e if the action is also used to perform a melee attack).
Namely, Bruisershot (HellKnight/Barron), HeadShot (CacoDemon), TroopShot (Imp) and Tracer (Revenants).
Not a bug. The speed of missiles is governed by whatever shoots it, not the definition of the Thing itself. The only time that the speed is taken from the definition is when the shooter does not specify it.
The speeds of Mancubus, Revenant (I made a mistake listing this one originally) and Arachnotron missiles are controllable using the speed fields in the missile mobjs thing def.
So why are these, but not the others?
Through further discussion with Danij, I have learnt that the speeds for Troopshot, Headshot and Bruisershot are hardcoded due to the fact that -fast alters the speed of these specific missiles (i.e it doesn't alter the speed of any other missiles).
Correct. The issue here is the implementation of "fast mode". Ideally this should be redesigned as a server-side modifier similar to the existing damage and health modifiers.
Also available in: Atom