thorium-nova
thorium-nova copied to clipboard
Torpedos: Make torpedos find new targets
Torpedos are designed to have a specific guidance range, supplied by their guidance module. This dictates how close a torpedo needs to be to maintain a target lock. If the target moves outside of that range, the target should be lost.
This behavior hasn't been implemented yet. Currently, the torpedo maintains the target lock regardless of distance.
So, we need to do two things:
- Make it so the torpedo loses its target lock when its distance to its target is greater than the guidance range.
- Make the torpedo pick a new target, based on its guidance mode.
It will pick a target within its guidance range based on which guidance mode its using
- Visible guidance mode: Pick the closest target that is visible. So cloaked or stealthy ships won't be targeted.
- Infrared guidance mode: Pick the hottest target (we'll have to create a function for figuring out the overall heat of a ship based on the heat of its systems)
- Gravimetric guidance mode: Pick the most massive target.
This can all be done in the TorpedoMovementSystem
or in a new system just for this purpose. Though it doesn't hurt to do it in the TorpedoMovementSystem
.