Possibly, but I’m not going to prioritize it.
In the mean time, here’s a the script I’m using to test the Griff Krait. Much like the traditional one, only it spawns them near the station to save work. (Name it script.js and put it in the addons folder.)
Code: Select all
// Configuration -- customize here
this.role = "griff_krait_rich_pirate";
this.count = 3;
// Standard attributes
this.name = "Spawn-" + this.role;
this.author = "Jens Ayton";
this.copyright = "This script is hereby placed in the public domain.";
this.version = "1.0.1";
this.description = "Script to make several ships of a given role appear at the witchpoint after every jump."
this.willLaunch = function()
{
system.legacy_addSystemShips(this.role, this.count, 1.0);
LogWithClass("testscript.spawn", "Generated " + this.count + " " + this.role + " for testing purposes.");
}
By the way, Oolite 1.69, it should be possible to do something along the lines of:
Code: Select all
this.willLaunch = function()
{
var ships = system.addShips(this.role, this.count, player.position);
for (var i=0; i<someObject.length; i++)
{
ships[i].setAI("tumbleAI.plist");
}
}
Obviously this isn’t helpful in the specific case of checking exhaust plumes, but for looking over a ship it should be handy. You could also use, say, route1patrolAI.plist to make normally piratical ships docile for inspection.
(I’m leaning towards keeping the AIs in the same form, or similar, and having an optional JS script attached to each NPC ship. JS scripts will be able to change AIs, change AI states, and force the AI to “think now” – more precisely, to set the time-until-next-AI-update to 0. With the ability for any script to boss any ship around, and the ability to iterate over escorts and subentities, this’ll allow for more complex and co-ordinated behaviour.)