Thank you for replying Alex. Though I can see how one might initially see that it is grabbing everything in sight, but there are lots of interfaces in the campaign and the engine which are not there as they are not requested at this time.
As silentstormpt mentioned, this was done in collaboration with quite a number of community members, many of which have been contributing to mods and wanting these features since before I delved into modding.
You're more than welcome to join the Skype channel Alex! We would love to have you you there to discuss these requests and chat with you about the game when you have some time from your busy schedule!
+Collision API (per previous discussion)
CollisionAPI would be exceedingly useful in the case of a multi-ship, or cases where you wanted to build a ship with 'armour' parts that overlap the host ship. We discussed this in PM, I'm just documenting this for the list.
+DamagingProjectileAPI
float elapsed(): Find the most recently fired projectile from a WeaponAPI, or the oldest one fired, or possibly figure out in what sequence each were fired. Knowing the most recently fired projectile you can perform replacements based upon rules such as 1 in 4 are fragmentation rounds.
float getDamageMult(): Find the current damage multiplier
void setDamageMult(float): You could do a per-projectile damage increase or decrease. You could have a weapon that increases or decreases in damage with more bullets fired in a burst, you could nurf damage or increase damage of a projectile that is scripted to do additional onHit damage. Or you could have a value in the weapoon_data.csv that is used by the autresolve, then use this to set in combat damage with scripting.
void setHitPoints(float): Dynamically assign hitpoints to a projectile or manually apply without the need for an applyDamage. Manually perform collision damage etc.
float getMoveSpeed(): Get the speed of the projectile without referring to the CSV values. This should really have a setter, not sure if it's per instance of the projectile, if it is you can have a projectile with dynamic speed. Say a projectile that gets faster the further away it is or slower the further away it is.
void setDamageAmount(float): Similar purpose to get/setDamageMult
+MissileAPI
void setHitPoints(float): Manual collisions and/or damage modifiers, scripted AOE damage to missiles, missiles with regenerative health.
+ShipEngineControllerAPI.ShipEngineAPI
A highly requested section for customisation and dynamic engines. Want an engine that changes colour when engaging 'super' mode? Done! Want an engine that gets 'hotter' on the kelvin scale? Done. By having on the fly customisable engines you can create unique visual styles under many scripted situations.
In particular being able to set our own contrail particles, engine flames and glow sprites would make for some unique faction engines never seen before, and using scripts to make it dynamic would allow certain looks under various situations that the mod author decides upon.
+ShipSystemAPI
Another highly requested section as there are missing setters for this API, but allowing more access to the attributes and setters would be very helpful. Being able to recharge the ammunition in a scripted fashion is useful. You could have the Cool down related to the ship flux, or have the flux per use increase with each use of the system, or change the flux per second based upon some other derived formula that is related to a special shield that absorbs damage. Lots of possibilities.
+ShieldAPI
Changing the shield colour on the fly would be great, but the main and most important request here is for custom shield textures. People really want custom shield textures to differentiate their faction, or to show a system is active etc.
The other aspects such as setting the arc, I think we can already do as I already have a mod that does that, but setting the facing angle or the radius could be really helpful. Having a dynamically expanding shield that can cover a greater area could be a great area denial system and setting the facing angle would let you have a rapidly rotating omni shield.
+ShipAPI
Dynamic venting colour would be requested a bit below the ship engines, dynamic vent colouring that could be related to the vent rate or the amout of flux being vented per second, or maybe even the colour changes as it 'cools down' dynamically.
The vent texture change is fairly high on the priority list, I don't personally see the uniqueness in having a vent texture for your faction, but people really love to do these things.
Anyway there is also requests for changing the HullStyle (all the styles for the ship) on the fly. Ship systems that change the shields and engines styles on the fly would be possible. Customisation of colour and styles in the use of and unique systems are a popular request.
Smaller things like finding if the ship is holding fire, or forcing a ship to hold fire can be used in some AI coding situation, as is the 'isPhased()' method. You can find if a ship is phased already, but the code is longer than it needs to be. Shouldn't it be simpler?
Jitter copies of a ship are something a few people have been wanting to get a hold of for some ship systems, and perform special effects beyond what is provided by the PhaseTeleporter system. You could create some truly unique systems, or create a ship 'blur' effect as it is moving very quickly or through phase. Or possibly create a unique scripted system that makes your one ship appear as 3 or 4 copies, confusing the player (the AI is another issue we'd need to take care of). I think the interface would need more controls, like those listed in the Phase Teleporter system.
float timeSinceLaunch() could be used to find the most recently launched fighter and apply scripted buffs or modifiers based upon
+CombatEntityAPI
void setCollisionRadius(float) - for certain aspects of a mult-part ship collision, and dealing with AI.
+WeaponAPI
Lots of customisation in the WeaponAPI. being able to set and get the damage on the weapon allows for certain scripted circumstances, and getting around the issue of auto-resolve damage and combat onHitEffect damage. Dynamically changing or changing aspects of the Weapon Glow has also been requested by the community.
+MuzzleFlashAPI
A sub-interface of a weapon for dynamically changing aspects of a Weapon as it fires. You could have a system like the Ammo Feeder that changes the look of Ballistic Weapons when firing, or changing the colour of the particles with greater number of projectiles fired as if it is getting hotter, or some kind of charging effect.
+WeaponGlowJitterAPI
Another sub-interface for a energy weapon, allows the mod author to control the vibration/jitter as the vanilla jitter is sometimes too much or too little
Control on the glow could allow to make custom muzzle flashes (that last only a couple of frames) or weapons that heat up without jittering. Right now it necessitate lengthy animations while it could be done with one single layer.
+BattleObjectiveAPI
Want a custom Battle Objective sprite? Maybe make it a sprite of a Starbase or something altogether different, many possibilities.
+BeamAPI
At the moment Beams are statically set in the proj file, and that is it. Being able to dynamically change the colour, width and other attributes can make for some scripted beams that take it to the next level of customisation. A beam that gets 'hotter' or gets wider as it charges up? Would now be possible. Community members also desire the ability to have a custom hit glow sprite to reflect more about the special attributes or lore of the weapon.