Just speculated whyte the extra_force a little and found somewhat of a possible little problem. For ship movements (and analogs (rockets and space ships in near zero gravity)) its fairly well that the value for steering (in x axis) can be zero and its intensity growing from it in both + and -. Doe this approach can prove a difficult thing for weapon systems, or rotational ship propulsion systems, where it would be better fixed to a certain mesh origin(pivot) - so the impulse would be a constant, vector according to the origin(pivot) and the actual change of the direction would be done just by rotating the mesh, to witch it is bound.
An example white my grad - rotation is defined by the turret-script, where the rotation is defined trough the this.turx.value and this.tury.value, witch at spawn has a 0 value. So if i will the fire back-force act in the right direction, i have to :
this.extra_force({x:0, y:-3, z:2.4},{x:-40000*this.turx.value, y:-70000*this.tury.value, z:0});
(i defined the place, where the force acts to the approximate position of the grad system on the vehicle)
so if its in basic position, then the vector is zero, what means no force being applied. In my case its OK, cause the grad has a backwards oriented amortizator (rear hydraulic wheel axile suspension fixing device). But in some stationary weapon systems would be (a tanks cannon) such behaving a little odd. At the same time, the vector "length" (thus the force power) is not a constant value too, witch may for such kinds of applications be a bad thing, if it should stay constant ...
Changing the actual extra_force script would be bad, its behavior has its good sites, so if there could be another such force-type script added, but whyte mesh-origin(pivot) vector orientation base, it would be a nice and useful addition.