Randomshipnames OXP

From Elite Wiki
Revision as of 01:14, 22 April 2013 by Commander McLane (talk | contribs) (updated to v 1.3)

Introduction

This OXP adds randomly generated names to almost all normal ship classes (except Thargoids) in Oolite.

Overview

Randomshipnames.oxp does exactly what it says on the tin: assigning randomly generated names to the ships you meet in your Ooniverse. A big thank you goes to "Disembodied" for not only coming up with useful naming schemes, but also providing huge word lists as fodder for the random generator.

Disabling/enabling random naming (note to ship designers)

You can exclude any ship of yours from getting a random name through this OXP. You can do this by using the script_info-key in shipdata.plist. Insert a value named randomshipnames and set it to no. Now your ship won't get a name through this OXP.

If you want to copy and paste, this is what it looks like in OpenStep:

"script_info" =         {
    "randomshipnames" = "no";
};

And this is what it looks like in XML:

<key>script_info</key>
<dict>
	<key>randomshipnames</key>
	<string>no</string>
</dict>

In the same way you can include a ship with a custom role in one of the categories used by this OXP by setting the same script_info-key to one of the following values:

"script_info" =         {
    "randomshipnames" = "trader";
};
"script_info" =         {
    "randomshipnames" = "hunter";
};
"script_info" =         {
    "randomshipnames" = "pirate";
};
"script_info" =         {
    "randomshipnames" = "rockhermit";
};
"script_info" =         {
    "randomshipnames" = "police";
};
"script_info" =         {
    "randomshipnames" = "military";
};

Then it will get a random name just like the other ships in the same category.

Using the naming engine for your own ships

Sometimes you may want to use randomshipnames' naming engine in your own script. This is also possible. You can call the naming functions from any script like this:

worldScripts.randomshipnames.$randomTraderName(ship) // returns a random name for a trader or other civilian ship
worldScripts.randomshipnames.$randomHunterName(ship) // returns a random name for a hunter, escort, or any aggressive, but not malevolent ship
worldScripts.randomshipnames.$randomPirateName(ship) // returns a random name for a pirate, or any aggressive and malevolent ship
worldScripts.randomshipnames.$randomRockhermitName(ship) // returns a random name for a rockhermit, or another stationary object
worldScripts.randomshipnames.$randomPoliceName(ship) // returns a random numbers-and-letter designation for a police or military ship

All naming functions take a ship object as parameter.

Minimum Requirements

Randomshipnames.oxp requires at least Oolite 1.75.

Download Location

Randomshipnames.oxp v 1.3 is available for download via box.com.

Installation

Move or copy the file randomshipnames1.3.oxp from its download folder into your AddOns folder. Where that resides depends on your installation. Make sure to remove any previous versions. Restart Oolite.

Examples