With permission from the Phoenix mod team (thanks Erayser ) Stargazer and I have been trying to wrap our heads around their Stargate mod shield system and create a hybrid with our Star Trek: Continuum shield system. Their shield system is visually superior to ours as it uses a subsystem for the shield itself and (with the use of non-penetration secondary hit fx) allows for different hit fx on the shield and on the ship hull if you have the collision meshes all correct. Our scripting system makes our shields functionally superior to theirs though as we can have the shields drop to 0% health when ships cloak, we only had subsystems to fake a shield health bar.
The main drawback to their subsystem method is that you can have weapons on the ships blocked from firing by the subsystem collision mesh, even though the joints are outside that collision mesh. The trick is that this subsystem collision mesh substitutes for the ship collision mesh to block the weapons from hitting the ship collision mesh and triggering the alternate hit effect, which is the whole point of trying to go down this path.
There is a better way though, can we please have a flag on a subsystem to allow the ship that it’s mounted on to ignore the subsystem collision mesh? So that a ship’s own beams, pulses and torpedoes/missiles will pass through it unmolested?
This will mean that we can simply have the sphereoid shield collision mesh in the subsystem, the non-penetrate fx as the shield hit fx and the hit fx as the hull hit fx. Using the “spawn weapons fire on hit” functionality we can spawn a sphere-burst weapon with no FX to apply the damage to the shields while still allowing the non-penetrate fx to be played correctly when the weapon hits the hull. If the subsystem is set to damageable then the shield will be destroyed, fail and after a short time start to regenerate. Multiple mods would benefit from this simplification of the shield mechanics, the rest of the issue is just attack and armour families
Allowing effects and animations for subsystems would also allow us to put shield fail FX into a subsystem “events” file directly instead of scripting it in elsewhere, just set the on/off animation to play when the shield system hits 1% health, have the collision mesh for the shield move up 10000m out of the way so the ship’s hull can be hit and you’re covered! Currently we just move the joint that the shield is mounted on, but having this in the subsystem itself could simplify things
So, to summarise, my request distils down to three items:
Flag in subsystem file to allow ship that its mounted on to ignore the subsystem collision mesh and fire any weapon through it without triggering any FX or interrupting missiles
Allow an events file for subsystems in the same fashion as there is one for ships
Allow an animation for subsystems so we can move the collision mesh up when the subsystem health is 0