Add drone orbit modeling to getDroneMult
#2568
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Drone damage application is especially important in contexts like ratting where tracking frequently comes into play in fitting decisions. As-is, the Pyfa engine always assumes drones hits, but this, of course, isn't accurate.
This proposed change uses approximations of drone behavior to provide a more realistic (but still admittedly lacking) calculation based on the drone's orbit speed, the target's speed, and (very) broad generalizations about dynamic orbit planes. The result is more accurate tracking-based damage numbers relative to the in-game experience.
The biggest downside to this change is that the calculation is unintuitive for small, fast-moving ships. In-game, these ships are generally in some sort of orbit around you, but the calculation used here will result in an extremely low angular velocity to the drones which doesn't take into account orbit ranges or curvature of the flight path and which, in turn, results in better application for slow-moving drones than you'd see in an in-game scenario. Given that the existing chance-to-hit value is simply
1
, I feel this is still a net improvement.Example calculations
An Ishkur with an Ogre II attacking the same Ishkur
Current
Proposed
A Dominix with 5 Ogre IIs attacking the same Dominix
Current
Proposed
These numbers might look weird, but they're a result of the way orbits work and the included approximation of distortions to the orbit plane caused by a moving target - drones orbit stationary targets at a perpendicular, but spend more time approaching targets that are moving at velocities closer to their own cruise speeds.