[ZScript] Smooth scaling of weapon/psprite animation speed
Posted: Thu Nov 09, 2017 11:11 am
The attached pk3 adds three new weapons to the game (which you'll have to “give” yourself from the console): “SpeedScalingPistol”, “SpeedScalingShotgun”, and “SpeedScalingChaingun”. The rate of fire of these weapons is controlled by the CVar “weapon_speed_scale”. If set to a negative number, then for each tic of animation, that many tics will be skipped. If set to a positive number, then for each tic of animation, that many tics will be added. This can be a fraction; “weapon_speed_scale -0.5” makes the weapons fire at 1.5× their normal rate.
If you think you could use this in your mod, take a look inside the pk3. You'll need to copy the class “PSpriteSpeedScaler” and the struct “PSpriteSpeedScalerSet” into your mod. Then, on your weapon classes, add a PSpriteSpeedScalerSet field, and call it from the Tick method as shown.
The main use case I had in mind for this is RPG-like mods, where attack speed is affected by the player character's skills and attributes.
Hope it helps!
If you think you could use this in your mod, take a look inside the pk3. You'll need to copy the class “PSpriteSpeedScaler” and the struct “PSpriteSpeedScalerSet” into your mod. Then, on your weapon classes, add a PSpriteSpeedScalerSet field, and call it from the Tick method as shown.
The main use case I had in mind for this is RPG-like mods, where attack speed is affected by the player character's skills and attributes.
Hope it helps!