This isn't so much a suggestion and more of a query.
In an unrelated discussion in the Unofficial Discord, it came to my knowledge that the Ion Beam and Tachyon Lance have slightly different on-hit beam effects. Fine, they're different weapon formats, but while playing "spot the difference" I noticed something odd:
float emp = beam.getDamage().getFluxComponent() * 1f;
float dam = beam.getDamage().getDamage() * 1f;
float emp = beam.getWeapon().getDamage().getFluxComponent() * 0.5f;
float dam = beam.getWeapon().getDamage().getDamage() * 0.25f;
These are the bits that choose the damage values for the EMP arcs both weapons can generate (Ion Beam above, Tachyon Lance below). Fine, the multipliers are different, but what is the difference between these?
beam.getWeapon().getDamage()...
beam.getDamage()...
I looked in the API, and both the WeaponAPI and BeamAPI have this "getDamage()" method to the DamageAPI, while BeamAPI
also has the "getWeapon()" method to get a WeaponAPI. Here, the Ion Beam goes straight from the BeamAPI to the damage instance, but the Tachyon Lance takes a detour through its WeaponAPI to achieve the same thing.
What is the significance of this? Is there any reason to use one format over the other? All I can think of is that one is a burst beam and one is a sustained beam, does that cause a difference in what is handled by the DamageAPI?