ROF
| Flag: | ROF |
| File(s): | rules(md).ini |
| Values: | Countries and Difficulty: Floating point values: Any decimal number (clearer range should be added in Template:Values).
For Weapons: Unsigned integers: All non-negative whole numbers from 0 to either 32767, 2147483647 or 4294967295. |
| Default: | 1.0 (Countries and Difficulty), 0 for Weapons |
| Applicable to: | Countries (TS-YR), Difficulty(TS- YR), Weapons |
In Weapons
Define how many frames the firer cannot fire after the last shot of this weapon is fired.
Specifically, each unit has a Rearm Delay, which controls how many frames the unit cannot fire its weapon again after one shot, and the value of ROF= applies to the situations in items 2 and 5 of the RearmDelay calculation rules.
RearmDelay calculation rules
- If firer is BuildingType and ammo is greater than 1, use 1;
- If the weapon has any of IsSonic/UseSparkParticles/UseFireParticles/IsRailgun[1], then take the value of the weapon's ROF=;
- If there is no weapon, use 1[2];
- If CurrentBurstIndex < the weapon's Burst value
- when CurrentBurstIndex <= 0, use a random value between 3 and 5;
- when 0 < CurrentBurstIndex <= 4:
- If firer is vehicle, use BurstDelay[CurrentBurstIndex - 1];
- If undefined, use a random value between 3 and 5;
- If firer is not vehicle, use a random value between 3 and 5;
- If firer is vehicle, use BurstDelay[CurrentBurstIndex - 1];
- when CurrentBurstIndex > 4, use a random value between 3 and 5;
- If CurrentBurstIndex >= the weapon's Burst value (meaning this is the last shot in a burst, which is the most common scenario), first multiply the ROF value by the owner's ROFMultiplier, then add a random value between 0 and 2.
- If the level that grants ROF Abilities is reached, then also multiply by the value of [General]→VeteranROF=;
- If it is an occupied garrisonable building, then divide by the number of occupying objects
- If the value of [CombatDamage]→OccupyROFMultiplier= is higher than 0, then further divide by that value
- If connected to a Bunker=yes building and the unit is not a building and the value of [CombatDamage]→BunkerROFMultiplier= is not equal to 0, then further divide by that value
Ares Info
In Ares, it is allowed for the support weapon of Prism Tower to use an actual weapon, in this case, the ROF of that weapon serves as the original PrismSupportDelay.
Phobos Info
Starting from Phobos Build#32, the ROF random delay is customizable. Refer to Phobos Documentation.
Starting from Phobos Build#34, Spawner.DelayFrames can be used to set the minimum number of game frames in between each spawn ejecting from the spawner. By default this is 9 frames for missiles launcher and 20 for everything else.
Bugs/Side-Effects/Unexpected Limitations
See Burst#Bugs.
In Countries
Specifies the "Rate of Fire" multiplier applied to all weapons owned by that country. RearmDelay will be multiplied by this value
In Difficulty
Specifies the "Rate of Fire" multiplier applied to all weapons in that difficulty. RearmDelay will be multiplied by this value
Footnotes
- ↑ For the latter three, it must also have a correctly defined particle system
- ↑ Generally, this is only used when obtaining the ROF value of a specific weapon in places where other calculations of rearm delay are required, such as MobileFire=no and C4=yes.
See Also
- DisableWeapons.Duration (Ares Only)