How is weapon warmup/windup handled?

TL;DR Is weapon windup "averaged", or randomized?

The answer to this question, as well as older versions of the official Stellaris wiki, and the game files, all reference a (semi-)mysterious "windup" for weapons. (Note: I will interchangably use the terms "windup" and "warmup" throughout my question.) Now explanations for how this manifests in game are simple - before firing, weapons must go through a period of warmup (where supposedly they are trained on target and prepared to fire). Practically, this is (probably) only relevant during the first volley, and afterwards it can be lumped into the weapon's cooldown period. Indeed, the modern wiki does exactly that.

However, the precise way in which warmup is handled still seems a little mysterious. In game files it is defined with two values, min_windup and max_windup. This seems to indicate that there is a "range" of values which windup might take, probably randomized in the same manner as damage. This seems intuitive enough. Trouble arises in the wiki however, as only an "averaged" warmup time is listed lumped with the game-files "cooldown" time into a single value, rather than a range of values as might be expected from a randomized windup. This is further compounded by my own anecdotal observations of all (identical) weapons in a fleet firing their first volley simultaneously. With the laser warmup time of 0.2-2.0 days, I would anticipate there to be a roughly 50% chance that any given weapon would go off one day later - which should be noticeable in early-game battles between identically-equipped corvettes.

So, my question: Is the windup time listed in game files actually used as intuitively expected, as a range of values which (in function) randomizes weapon cooldown? Or is it treated as a static "averaged" value in actual game function?


Windup time is uniformly randomized. Fractional times are not truncated and get carried over to the next day, so fractional windup and cooldown times get added up and make a ship eventually skip a day and fire on the next one.

There might be an issue with observing ships firing not at the same day because they start firing at the max available range, and ships enter that range at different moments. When the fleet engages, not all ships are able to fire - the pack at the rear still need to reach the effective range. That might skew the observation.