My apologies for the long list ; D
#1. Expand StatBonuses to affect the following:
Deceleration - (AFAIK not possible to modify from scripts at all)
Yaw\Pitch\Roll - separately ( currently possible via clientside edit of Thrusters().basePitch/Roll/Yaw )
Thrust - (as in sideways acceleration - currently affected by vec3 Thrusters().thrust)
#2. Ability to set specific Entity as target for Turret / TurretAI
What we have now:
TurretAI().targetedEntity - seems to be ignored or overriden after change
ShipAI().setAttack() - Spamming this every Tick seems to be as far as we can get to fire directly at specific Entity
Request example:
-- When valid, will always aim at Entity, if nil, leaves control to ShipAI/TurretAI
TurretAI().SetAimOverride( _Entity )
#3. Ability to Fire specific Turret on demand ( regardless of target )
What we have now:
TurretAI().shouldFire - is read only
Request example:
-- Turret will try to fire on every tick, if capable
TurretAI().SetFiringEnabled( bool )
-- Try to fire just once, if capable
TurretAI().FireOnce()
#4. Ability to launch Torpedos from scripts
Request example:
TorpedoLauncher().LaunchTorpedo( _Shaft, _TargetEntity )
#5. Ability to assign continuous thrust for Entities/AI Ships
This one is difficult. The purpose is to let AI fly smoothly when turning, strafe as player would, or move out of collisions without rotating.
And that is actually a performance related request.
What we have now:
vec3 Velocity().velocityf - can actually be used with direction vectors, though this seems hacky, and has to be done on tick in scripts.
Request example:
-- What it would do in C++ : apply local space force constantly, until disabled.
Entity/ShipAI/Velocity().SetContinuousThrust( vec3 _LocalSpaceDirection, float _Speed )
#6. Reading pure block plan stats without modifiers
Not sure about this one, AFAIK the only way is to manually count & calculate blocks using formulas from wiki.
The purpose of this is to allow alternative balancing of ships, without costly overrides.
For example, to scale stats of larger ships, without breaking the purpose of Build Mode.
Request example:
BlockPlan().getBaseStats()