Back to Index Page generated: Nov 12, 2024, 11:02:04 PM

Expansion Randomshipnames

Content

Warnings

  1. XML script list found

Manifest

from Expansion Manager's OXP list from Expansion Manifest
Description Adds interesting randomly generated names to normal ship classes. Adds interesting randomly generated names to normal ship classes.
Identifier oolite.oxp.Commander_McLane.Randomshipnames oolite.oxp.Commander_McLane.Randomshipnames
Title Randomshipnames Randomshipnames
Category Ambience Ambience
Author Commander McLane Commander McLane
Version 1.6 1.6
Tags
Required Oolite Version
Maximum Oolite Version
Required Expansions
Optional Expansions
Conflict Expansions
Information URL http://wiki.alioth.net/index.php/Randomshipnames_OXP n/a
Download URL https://wiki.alioth.net/img_auth.php/2/20/Randomshipnames.1.6.oxz n/a
License CC BY-NC-SA 3 CC BY-NC-SA 3
File Size n/a
Upload date 1610873245

Documentation

Also read http://wiki.alioth.net/index.php/Randomshipnames

readMe.rtf

{\rtf1\ansi\ansicpg1250\deff0
{\fonttbl
{\f0\fnil\fcharset0\fprq0\fttruetype Helvetica;}
{\f1\fnil\fcharset0\fprq0\fttruetype Courier;}
{\f2\fnil\fcharset0\fprq0\fttruetype Liberation Serif;}
{\f3\fnil\fcharset0\fprq0\fttruetype Liberation Sans;}
{\f4\fnil\fcharset0\fprq0\fttruetype Dingbats;}
{\f5\fnil\fcharset0\fprq0\fttruetype Symbol;}
{\f6\fnil\fcharset0\fprq0\fttruetype Courier New;}}
{\colortbl
\red0\green0\blue0;
\red255\green255\blue255;}
{\stylesheet
{\s1\fi-430\li720\sbasedon29\snext29Contents 1;}
{\s2\fi-430\li1440\sbasedon29\snext29Contents 2;}
{\s3\fi-430\li2160\sbasedon29\snext29Contents 3;}
{\s8\fi-430\li720\sbasedon29Lower Roman List;}
{\s5\tx431\sbasedon25\snext29Numbered Heading 1;}
{\s6\tx431\sbasedon26\snext29Numbered Heading 2;}
{\s7\fi-430\li720Square List;}
{\*\cs11\sbasedon29Endnote Text;}
{\s4\fi-430\li2880\sbasedon29\snext29Contents 4;}
{\s9\fi-430\li720Diamond List;}
{\s10\fi-430\li720Numbered List;}
{\*\cs12\fs20\superEndnote Reference;}
{\s13\fi-430\li720Triangle List;}
{\s14\tx431\sbasedon27\snext29Numbered Heading 3;}
{\s15\fi-430\li720Dashed List;}
{\s16\fi-430\li720\sbasedon10Upper Roman List;}
{\s17\sb440\sa60\f3\fs24\b\sbasedon29\snext29Heading 4;}
{\s18\fi-430\li720Heart List;}
{\s35\fi-430\li720Box List;}
{\*\cs20\fs20Reference;}
{\s21\fi-430\li720\sbasedon10Upper Case List;}
{\s22\fi-430\li720Bullet List;}
{\s23\fi-430\li720Hand List;}
{\*\cs24\fs20\sbasedon29Footnote Text;}
{\s25\sb440\sa60\f3\fs34\b\sbasedon29\snext29Heading 1;}
{\s26\sb440\sa60\f3\fs28\b\sbasedon29\snext29Heading 2;}
{\s19\qc\sb240\sa119\f3\fs32\b\sbasedon29\snext29Contents Header;}
{\s28\fi-430\li720Tick List;}
{\s27\sb440\sa60\f3\fs24\b\sbasedon29\snext29Heading 3;}
{\s30\fi-430\li720\sbasedon10Lower Case List;}
{\s31\li1440\ri1440\sa119\sbasedon29Block Text;}
{\s37\f6\sbasedon29Plain Text;}
{\s33\tx1584\sbasedon5\snext29Section Heading;}
{\s34\fi-430\li720Implies List;}
{\s29\f2\fs24Normal;}
{\s36\fi-430\li720Star List;}
{\*\cs32\fs20\superFootnote Reference;}
{\s38\tx1584\sbasedon5\snext29Chapter Heading;}}
\kerning0\cf0\ftnbj\fet2\ftnstart1\ftnnar\aftnnar\ftnstart1\aftnstart1\aenddoc\revprop3{\info\uc1}\deftab720\viewkind1\paperw11905\paperh16837\margl1440\margr1440\widowctrl
\sectd\sbknone\colsx0\pgncont\ltrsect
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\b\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch randomshipnames v 1.6}{\f0\fs26\b\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\b\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch by "Commander McLane"}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch with lots of additional names by "Disembodied"}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch an Expansion Pack for Oolite by Giles Williams}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\qc\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch based on "Elite" by Ian Bell and David Braben}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Introduction}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch This OXP adds randomly generated names to almost all normal ship classes (except Thargoids) in Oolite.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Overview}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx560\tx1120\tx1680\tx2240\tx2799\tx3359\tx3919\tx4479\tx5040\tx5600\tx6160\tx6720{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch Randomshipnames1.4.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.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Disabling/enabling random names for your ship (note to ship designers)}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch You can exclude any ship of yours from getting a random name through this OXP. You can do this by using the }{\f1\fs26\lang1038{\*\listtag0}script_info}{\f0\fs26\lang1038{\*\listtag0}-key in shipdata.plist. Insert a value named }{\f1\fs26\lang1038{\*\listtag0}randomshipnames}{\f0\fs26\lang1038{\*\listtag0} and set it to }{\f1\fs26\lang1038{\*\listtag0}no}{\f0\fs26\lang1038{\*\listtag0}. Now your ship won't get a name through this OXP.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch If you want to copy and paste, this is what it looks like in OpenStep:}{\*\abitableprops table-col-spacing:0.02in; table-column-leftpos:0.0000in; table-column-props:5.9696in/; table-sdh:0x9736898}\par{\*\abicellprops left-attach:0; right-attach:1; top-attach:0; bot-attach:1; bot-style:none; left-style:none; right-style:none; top-style:none; top-thickness:0.006944in}{
\trowd \itap1\trgaph7\trql\trrh0\trleft0\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \clvertalt\cltxlrtb\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrnone \clbrdrr\brdrnone \cellx8610
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}        "script_info" =         \{}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch             "randomshipnames" = "no";}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch         \};}\cell{\*\abiendcell}\row}{\*\abiendtable}\par
\pard\plain\ltrpar\ql\itap0{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch And this is what it looks like in XML:}{\*\abitableprops table-col-spacing:0.02in; table-column-leftpos:0.0000in; table-column-props:5.9696in/; table-sdh:0x973fdb8}\par{\*\abicellprops left-attach:0; right-attach:1; top-attach:0; bot-attach:1; bot-style:none; left-style:none; right-style:none; top-style:none; top-thickness:0.006944in}{
\trowd \itap1\trgaph7\trql\trrh0\trleft0\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \clvertalt\cltxlrtb\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrnone \clbrdrr\brdrnone \cellx8610
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\tab \tab <key>script_info</key>}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch \tab \tab <dict>}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch \tab \tab \tab <key>randomshipnames</key>}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch \tab \tab \tab <string>no</string>}{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\intbl\itap1\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f1\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch \tab \tab </dict>}\cell{\*\abiendcell}\row}{\*\abiendtable}\par
\pard\plain\ltrpar\ql\itap0{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0{\f1\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch In the same way you can include a ship with a custom }{\f1\fs26\lang1038{\*\listtag0}role}{\f0\fs26\lang1038{\*\listtag0} in one of the categories used by this OXP by setting the same }{\f1\fs26\lang1038{\*\listtag0}script_info}{\f0\fs26\lang1038{\*\listtag0}-key to one of the following values: }{\f1\fs26\lang1038{\*\listtag0}trader, hunter, pirate, rockhermit, police, military}{\f0\fs26\lang1038{\*\listtag0}. Then it will get a random name just like the other ships in the same category.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Minimum Requirements}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch Randomshipnames1.4.oxp requires at least Oolite 1.77.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Download Location}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch This OXP is available for download via the }{\field{\*\fldinst {\f0\fs26\lang1038{\*\listtag0} HYPERLINK "http://wiki.alioth.net/index.php/Randomshipnames_OXP"}}{\*\fldrslt{\f0\fs26\lang1038{\*\listtag0}Elite Wiki}}}{\f0\fs26\lang1038{\*\listtag0}.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch Installation}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch Move or copy the file randomshipnames1.4.oxp from the download folder into your AddOns folder. Where that resides depends on your installation. Make sure to remove previous versions of the OXP. Restart Oolite.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch License}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch This work is licensed under the Creative\~Commons Attribution-NonCommercial-ShareAlike License version 3.0. For more information see the ReadMe of Oolite or the }{\field{\*\fldinst {\f0\fs26\lang1038{\*\listtag0} HYPERLINK "http://creativecommons.org/licenses/by-nc-sa/3.0/"}}{\*\fldrslt{\f0\fs26\lang1038{\*\listtag0}Creative Commons' website}}}{\f0\fs26\lang1038{\*\listtag0}.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch Practically this means that you may rip it apart and use whatever seems useful to you, as long as you credit the original author. It would be nice\uc1\u8212\'97although by no means necessary\uc1\u8212\'97to give me a note, if you intend to use parts of it.}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\abinodiroverride\ltrch History}{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\ul\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.6 (October 13th, 2014)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added }{\f0\fs24\lang1038{\*\listtag0}the new rockhermit rules of 1.80}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.5 (October 3th, 2014)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added }{\f0\fs24\lang1038{\*\listtag0}the new ship rules of 1.80 by Diziet Sma}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs24\lang1038{\*\listtag0}\abinodiroverride\ltrch - provide an interface}{\f2\fs24\lang1038{\*\listtag0}\uc0\u-257 }{\f0\fs24\lang1038{\*\listtag0} to attach external name engines by Norby}{\f0\fs24\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\s29\f0\fs24\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.4 (November 17th, 2013)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - names of Rock Hermits are now persistent for subsequent visits to the same system}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - requires Oolite 1.77}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.3 (April 22nd, 2013)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - caught more special cases of excluding and including ships}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - sorted a problem with possible double apostrophes}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added more naming schemes for traders, hunters and pirates}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - sorted the word lists, added more words and deleted double entries}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.2 (May 22nd, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - corrected a typo in one of the names}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - introduced a way for ship designers to disable the random naming of their ships}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.1 (April 2nd, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - caught some more special cases of excluding ships}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - included a letter-number designation system for police/military ships}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - included names for rock hermits}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added more words to the lists}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - removed the logging that accidentally remained in v 1.0}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 1.0 (March 13th, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - caught some more special cases of excluding or including ships}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - release version}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 0.92 (March 10th, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - another preview and development version}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added some more naming schemes}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added a lot more words to the lists}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - unique phrases and names are no longer used multiple times during one game}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - word lists are now (re-)initialized when starting a new game}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 0.91 (February 23rd, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - another preview and development version}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - complete overhaul of the naming mechanism}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - the word lists are now stored in arrays}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added a lot more naming schemes for more variation}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - added long word lists by "Disembodied"}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch version 0.9 (January 24th, 2012)}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - preview}{\f0\fs26\lang1038{\*\listtag0}\par}
\pard\plain\ltrpar\ql\sl240\slmult1\itap0\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803{\f0\fs26\lang1038{\*\listtag0}\abinodiroverride\ltrch - requires Oolite 1.75}{\f0\fs26\lang1038{\*\listtag0}\par}}

Equipment

This expansion declares no equipment. This may be related to warnings.

Ships

This expansion declares no ships. This may be related to warnings.

Models

This expansion declares no models. This may be related to warnings.

Scripts

Path
Scripts/randomshipnames-orig.js
/*

randomshipnames.js

Script for attaching random names to ships.


Oolite
Copyright © 2003-2013 Giles C Williams and contributors

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.


randomshipnames.oxp
Copyright © 2012-2013 "Commander McLane"

This work is licensed under the Creative Commons
Attribution-Noncommercial-Share Alike 3.0 Unported License.

To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter
to Creative Commons, 171 Second Street, Suite 300, San Francisco,
California, 94105, USA.

*/

"use strict";

this.name           = "randomshipnames";
this.description    = "Script for attaching random names to ships";
this.author         = "Commander McLane";
this.copyright      = "© 2013 Commander McLane";
this.license        = "CC-by-nc-sa 3.0";
this.version        = "1.4";


/* sub-functions for creation of word lists */

this.$initializeWordLists = function()
{
    this.$initializeFemaleFirstNames();
    this.$initializeMaleFirstNames();
    this.$initializeStandalonePhrasesAggressive();
    this.$initializeStandalonePhrasesPeaceful();
    this.$initializeStandalonePhrasesPirate();
    this.$initializeStandalonePhrasesHunter();
    this.$initializeStandalonePhrasesBulkHauler();    
    this.$initializeStandalonePhrasesMedical();    

    this.newWords = ["", "", "", ""];

    this.generalAdjective["aggressive"] = ["Acid", "Alkali", "Analogue", "Ancient", "Antagonistic", "Antique", "Archaic", "Atmospheric", "Atomic", "Autumn", "Bad", "Barbed", "Baroque", "Baryonic", "Beautiful", "Beryllium", "Big", "Black", "Blazing", "Brass", "Brazen", "Brilliant", "Brimstone", "Broken", "Bronze", "Brooding", "Brutal", "Burning", "Carmine", "Caustic", "Chaotic", "Chrome", "Cinnabar", "Classical", "Cold", "Comical", "Cosmic", "Crimson", "Cruel", "Cryptic", "Damned", "Dark", "Dazzling", "Deadly", "Demonic", "Diamond", "Digital", "Dire", "Doomed", "Drastic", "Dreadful", "Duralium", "Eighth", "Elastic", "Electric", "Electromagnetic", "Entropic", "Eternal", "Evening", "Everlasting", "Fallen", "False", "Fiery", "Fifth", "First", "Fissile", "Forbidden", "Forsaken", "Foul", "Fourth", "Fractal", "Frontier", "Frozen", "Fundamental", "Galactic", "Geometric", "Giant", "Gigantic", "Gilded", "Gleaming", "Glittering", "Gloomy", "Glowing", "Gold", "Golden", "Gothic", "Gravitic", "Great", "Greatest", "Grey", "Grim", "Hidden", "Hydraulic", "Hydrogen", "Hypnotic", "Iconic", "Illuminated", "Immortal", "Inconceivable", "Infernal", "Infinite", "Intangible", "Interdimensional", "Interplanetary", "Interstellar", "Iridescent", "Iron", "Jet", "Lambent", "Lost", "Luminous", "Malefic", "Malevolent", "Malicious", "Malignant", "Merciless", "Mesmeric", "Metallic", "Midnight", "Miraculous", "Morning", "Mystery", "Mystic", "Necessary", "New", "Ninth", "Noble", "Noxious", "Nuclear", "Obsidian", "Ominous", "Oppressive", "Orbital", "Painted", "Pale", "Pallid", "Paradoxical", "Penultimate", "Perfect", "Perpetual", "Phosphorescent", "Photonic", "Plastic", "Platinum", "Plutonium", "Poisoned", "Poisonous", "Polychrome", "Primal", "Primordial", "Prosaic", "Quantum", "Quicksilver", "Quirium", "Radium", "Rebel", "Red", "Retrograde", "Rococo", "Royal", "Ruby", "Savage", "Scarlet", "Second", "Secret", "Seventh", "Shattered", "Silent", "Silicon", "Silver", "Silvered", "Sixth", "Solar", "Sparkling", "Spoiled", "Spring", "Stainless Steel", "Star", "Starborn", "Starry", "Steel", "Stern", "Stone", "Strontium", "Stygian", "Sullen", "Summer", "Tachyon", "Temporal", "Terrible", "Third", "Titanic", "Titanium", "Toxic", "Transdimensional", "True", "Twilight", "Ultimate", "Ultraviolet", "Umber", "Unholy", "Universal", "Unknown", "Unnecessary", "Untouchable", "Vacuum", "Venomous", "Vermillion", "Violet", "Viridian", "Virtual", "Vitriol", "Voodoo", "Warped", "Weird", "Whispering", "Winter", "Witchspace", "Yellow"];
    this.generalAdjectiveLength["aggressive"] = this.generalAdjective["aggressive"].length;
    
    this.creatureAdjective["aggressive"] = this.generalAdjective["aggressive"].concat(["Abandoned", "Accelerated", "Accursed", "Ace", "Acerbic", "Advanced", "Affluent", "Aggressive", "Agile", "Alabaster", "All-Seeing", "Angry", "Anonymous", "Antisocial", "Apostate", "Ardent", "Argumentative", "Armoured", "Artful", "Athletic", "Attacking", "Attendant", "Augmented", "Automatic", "Awesome", "Barbed-Wire", "Basalt", "Bellicose", "Belligerent", "Best", "Better", "Binary", "Bitter", "Black-Hearted", "Bleeding", "Blind", "Blinded", "Bold", "Bony", "Brash", "Brave", "Cackling", "Callous", "Cantankerous", "Capable", "Capitalist", "Captious", "Captive", "Careless", "Charging", "Charismatic", "Cheating", "Chivalric", "Chivalrous", "Classified", "Claustrophobic", "Clockwork", "Coarse", "Cold-Hearted", "Committed", "Common", "Compleat", "Complex", "Complicated", "Condemned", "Confident", "Confidential", "Contemporaneous", "Contentious", "Contrary", "Convicted", "Cool", "Cowardly", "Crafty", "Crazy", "Criminal", "Crouching", "Crude", "Cryogenic", "Cunning", "Cybernetic", "Dancing", "Dangerous", "Daring", "Dashing", "Debonair", "Decisive", "Defiant", "Degenerate", "Demotic", "Deserving", "Despairing", "Dextrous", "Discordant", "Disgraced", "Dismissive", "Displaced", "Disputatious", "Dissident", "Dissonant", "Distinctive", "Doubtful", "Doubting", "Dreaming", "Drunken", "Durable", "Dwarf", "Dying", "Eager", "Early", "Eastern", "Ecstatic", "Educated", "Elegant", "Elite", "Elusive", "Energetic", "Enlightened", "Enraged", "Essential", "Euclidian", "Evil", "Expectant", "Explicit", "Explosive", "Extraordinary", "Extravagant", "Eyeless", "Faithless", "Familiar", "Famous", "Fat", "Fearsome", "Federal", "Fierce", "Fighting", "Flamboyant", "Flayed", "Floating", "Fluorescent", "Flying", "Foremost", "Formal", "Fortunate", "Forward", "Frantic", "Freelance", "Frenzied", "Frowning", "Furious", "Gallant", "Gallivanting", "Galloping", "Gargantuan", "Gluttonous", "Gnostic", "Grand", "Granite", "Greater", "Greedy", "Grinning", "Gruesome", "Guilty", "Gyrating", "Gyroscopic", "Hazardous", "Hedonistic", "Heedless", "Heinous", "Hellbound", "Heretic", "High", "High-Born", "Highland", "Hissing", "Homeless", "Honoured", "Hooded", "Hostile", "Howling", "Hungry", "Hyper", "Hysteric", "Illegal", "Illegitimate", "Immortal", "Impervious", "Impious", "Implacable", "Improved", "Independent", "Indigent", "Indignant", "Indolent", "Infallible", "Infamous", "Informal", "Iniquitous", "Injured", "Inscrutable", "Intransigent", "Intrepid", "Invading", "Invincible", "Ironic", "Itinerant", "Jaded", "Jealous", "Jumping", "Justified", "Keening", "Latent", "Laughing", "Lavish", "Lax", "Lazy", "Leaden", "Leading", "Lean", "Leaping", "Lecherous", "Leprous", "Loathsome", "Logarithmic", "Long", "Lovesick", "Low", "Low-Born", "Lowland", "Lucky", "Lunatic", "Lunatic", "Lusty", "Lying", "Mad", "Magnificent", "Majestic", "Marmoreal", "Masked", "Massive", "Maverick", "Mendacious", "Mephitic", "Merciless", "Methodical", "Metropolitan", "Mighty", "Millennial", "Minatory", "Mirthful", "Mischievous", "Mobile", "Modified", "Moody", "Morbid", "Murderous", "Mutant", "Mute", "Nameless", "Necrotic", "Nefarious", "Nonchalant", "Noncommittal", "Northern", "Notorious", "Offensive", "Omniscient", "One-Eyed", "Onrushing", "Opinionated", "Opportune", "Outcast", "Outward", "Panoptic", "Parlous", "Passionate", "Persistent", "Pessimistic", "Plucky", "Plunging", "Polished", "Popular", "Porphyry", "Powerful", "Predicted", "Prideful", "Principal", "Problematic", "Prodigal", "Proletarian", "Promethean", "Prosperous", "Proud", "Provincial", "Prowling", "Psychic", "Psycho", "Psychotic", "Pugnacious", "Pursuing", "Quarrelsome", "Questing", "Quick", "Quintessential", "Radical", "Raging", "Raging", "Rampaging", "Rampant", "Rancorous", "Random", "Rash", "Rational", "Raucous", "Ravaged", "Ravaging", "Ravening", "Raving", "Reactionary", "Reborn", "Recumbent", "Red-Eyed", "Refugee", "Regular", "Reincarnated", "Rejected", "Relaxed", "Remorseless", "Renegade", "Repugnant", "Repulsive", "Resilient", "Resounding", "Restless", "Returning", "Rhythmic", "Ribald", "Righteous", "Riotous", "Robust", "Rude", "Rugged", "Rushing", "Ruthless", "Sadistic", "Sated", "Satisfied", "Sceptical", "Scornful", "Screaming", "Scrutinising", "Searching", "Secular", "Seething", "Senior", "Serendipitous", "Shrieking", "Shunned", "Sick", "Singing", "Singular", "Sinister", "Skillful", "Sleeping", "Sly", "Smashing", "Smooth", "Snarling", "Socialist", "Solitary", "Solo", "Somnolent", "Sordid", "Sorrowful", "Sour", "Southern", "Speculative", "Speeding", "Spinning", "Spiteful", "Starbound", "Starving", "Starving", "Stoic", "Strategic", "Strident", "Strong", "Stunning", "Subversive", "Sudden", "Suffering", "Super", "Superior", "Surly", "Swaying", "Swift", "Swooping", "Tactical", "Tattooed", "Temporary", "Thirsty", "Thrusting", "Top", "Transcendental", "Tricky", "Truculent", "Ultra", "Unchained", "Undying", "Uneasy", "Unforgiven", "Unlimited", "Unquiet", "Unredeemed", "Unrestrained", "Unsatisfactory", "Unsatisfied", "Untouchable", "Uplifted", "Uploaded", "Upstart", "Vanguard", "Vaunted", "Vengeful", "Vicious", "Vigilant", "Vigourous", "Vital", "Voiceless", "Voracious", "Vulgar", "Wailing", "Wanted", "Wasted", "Watchful", "Weary", "Weeping", "Western", "White-Eyed", "Wicked", "Wily", "Wounded", "Wrathful", "Wretched", "Writhing", "Xenophobic", "Yawning", "Zen"]);
    this.creatureAdjectiveLength["aggressive"] = this.creatureAdjective["aggressive"].length;
    
    this.nominalAdjective["aggressive"] = ["Accursed", "Acerbic", "Affluent", "Agile", "Antagonistic", "Apostate", "Archaic", "Ardent", "Atmospheric", "Awesome", "Baroque", "Brazen", "Brilliant", "Capitalist", "Caustic", "Charismatic", "Chivalrous", "Claustrophobic", "Criminal", "Cryptic", "Dangerous", "Daring", "Dashing", "Deadly", "Debonair", "Decisive", "Defiant", "Demonic", "Dextrous", "Discordant", "Dismissive", "Dissident", "Dissonant", "Doubtful", "Durable", "Electric", "Elegant", "Everlasting", "Extraordinary", "Extravagant", "Faithless", "Fearsome", "Fiery", "Flamboyant", "Forsaken", "Fortunate", "Furious", "Galactic", "Gallant", "Gigantic", "Gothic", "Hazardous", "Heedless", "Heinous", "Hellbound", "Heretic", "Homeless", "Hysteric", "Iconic", "Idealistic", "Immortal", "Immortal", "Impervious", "Implacable", "Inconceivable", "Independent", "Indigent", "Indignant", "Indolent", "Infallible", "Infamous", "Iniquitous", "Inscrutable", "Intransigent", "Intrepid", "Invincible", "Itinerant", "Lunatic", "Lunatic", "Magnificent", "Majestic", "Malevolent", "Malicious", "Malignant", "Maverick", "Mendacious", "Merciless", "Metallic", "Midnight", "Mischievous", "Murderous", "Mutant", "Mystic", "Nefarious", "Notorious", "Noxious", "Offensive", "Outcast", "Perfect", "Persistent", "Pessimistic", "Proletarian", "Prosaic", "Prosperous", "Psycho", "Quintessential", "Radical", "Raging", "Rampant", "Random", "Rational", "Raucous", "Rebel", "Refugee", "Remorseless", "Renegade", "Repugnant", "Restless", "Ribald", "Righteous", "Rococo", "Royal", "Ruthless", "Savage", "Scornful", "Sinister", "Socialist", "Solitary", "Solo", "Speedy", "Spiteful", "Starbound", "Stoic", "Subversive", "Swift", "Terrible", "Titanic", "Transcendental", "Tricky", "Truculent", "Twilight", "Unforgiven", "Unholy", "Untouchable", "Vanguard", "Vengeful", "Venomous", "Vigilant", "Vigourous", "Voodoo", "Vulgar", "Watchful", "Weird", "Wrathful", "Xenophobic", "Zen"];
    this.nominalAdjectiveLength["aggressive"] = this.nominalAdjective["aggressive"].length;
    
    this.creature["aggressive"] = ["Abomination", "Achaean", "Acolyte", "Admiral", "Adversary", "Agent", "Alligator", "Amazon", "Amphibian", "Anarchist", "Ancestor", "Android", "Angel", "Angler", "Antagonist", "Arachnid", "Arbiter", "Archon", "Aristocrat", "Armiger", "Arthropod", "Assailant", "Assassin", "Astronaut", "Asura", "Atabeg", "Autarch", "Autocrat", "Avian", "Baboon", "Badger", "Bandicoot", "Bandit", "Banshee", "Barbarian", "Baron", "Baroness", "Baronet", "Basilisk", "Beast", "Bird", "Bison", "Boar", "Bobcat", "Brigand", "Bronco", "Brute", "Buccaneer", "Buck", "Buffalo", "Bull", "Bullfrog", "Bunyip", "Butcher", "Buzzard", "Cannibal", "Captain", "Caracal", "Cat", "Cayman", "Centurion", "Chairman", "Champion", "Cheetah", "Chief", "Chieftain", "Chigger", "Chimera", "Civet", "Clown", "Coati", "Cockatrice", "Commander", "Commissar", "Commodore", "Conger", "Contrabandista", "Corbie", "Corsair", "Corvid", "Cosmonaut", "Cossack", "Cougar", "Count", "Countess", "Cowboy", "Coyote", "Crab", "Creature", "Crocodile", "Crow", "Cultist", "Cutthroat", "Cuttlefish", "Cyborg", "Cyclops", "Daimon", "Daimyo", "Dancer", "Daredevil", "Decoy", "Defender", "Demon", "Dervish", "Desperado", "Despoiler", "Despot", "Destroyer", "Deva", "Devil", "Dhole", "Dictator", "Diehard", "Dingo", "Dog", "Dragon", "Dragonet", "Dragonfly", "Dragoon", "Drifter", "Droid", "Drone", "Duchess", "Duke", "Eagle", "Earl", "Eel", "Emir", "Emperor", "Empress", "Enemy", "Entrepreneur", "Equine", "Executioner", "Executive", "Faery", "Falcon", "Fanatic", "Feline", "Ferret", "Fiend", "Fish", "Fool", "Fox", "Freak", "Freebooter", "Gadfly", "Gangster", "Gargoyle", "Gatekeeper", "General", "Genie", "Ghost", "Ghoul", "Gila", "Gladiator", "Gnat", "Goblin", "God", "Goddess", "Golem", "Gorgon", "Graf", "Gryphon", "Guardian", "Guerrilla", "Gunner", "Hacker", "Harbinger", "Harlequin", "Harpy", "Harridan", "Harrier", "Hawk", "Heathen", "Hellbender", "Hellcat", "Hero", "Heroine", "Hexapod", "Hierophant", "Hippogriff", "Hog", "Homunculus", "Honcho", "Hoplite", "Hornet", "Hotspur", "Hound", "Human", "Humanoid", "Hussar", "Hydra", "Hyena", "Iconoclast", "Imp", "Incubus", "Infidel", "Insect", "Irregular", "Jackal", "Jackdaw", "Jaguar", "Jay", "Jinn", "Joker", "Judge", "Juggler", "Kaiser", "Kelpie", "Kestrel", "Khan", "Killer", "King", "Kitsune", "Knight", "Kraken", "Lady", "Lamprey", "Leader", "Legionary", "Leopard", "Libertine", "Liege", "Lion", "Lioness", "Lizard", "Lobster", "Locust", "Lorelei", "Lothario", "Loup-Garou", "Loyalist", "Lurker", "Lynx", "Macaque", "Maestro", "Magister", "Magpie", "Magus", "Mammal", "Manta", "Mantis", "Margay", "Margrave", "Marlin", "Marquess", "Marquis", "Marten", "Martyr", "Matriarch", "Mercenary", "Metamorph", "Militant", "Minotaur", "Minx", "Mongoose", "Monkey", "Monster", "Morlock", "Mosquito", "Murderer", "Mustang", "Myrmidon", "Neophyte", "Ninja", "Nomad", "Ocelot", "Octopus", "Ogre", "Oni", "Orator", "Orca", "Orphan", "Osprey", "Otter", "Outlaw", "Owl", "Paladin", "Panther", "Parasite", "Pariah", "Partisan", "Patriarch", "Patriot", "Peacekeeper", "Peregrin", "Phage", "Phantom", "Pharaoh", "Phoenix", "Pig", "Pirhana", "Plunderer", "Pontiff", "Porbeagle", "Posthuman", "Potentate", "Preacher", "Preserver", "President", "Priest", "Princess", "Privateer", "Proletarian", "Prophet", "Protagonist", "Psychopath", "Puma", "Queen", "Raider", "Raja", "Rakehell", "Rakshasa", "Ram", "Rapscallion", "Rascal", "Rat", "Raven", "Reaper", "Rebel", "Reiver", "Reprobate", "Reptile", "Revenant", "Revolutionary", "Rider", "Robber", "Robot", "Rodent", "Rogue", "Ronin", "Rooster", "Runagate", "Rustler", "Sacrifice", "Salmon", "Sasquatch", "Saurian", "Scarab", "Scavenger", "Scorpion", "Scoundrel", "Seraph", "Serpent", "Shadow", "Shark", "Sheikh", "Shoggoth", "Shogun", "Shrike", "Sinner", "Skimmer", "Skirmisher", "Skua", "Slave", "Slaver", "Sniper", "Sociopath", "Soldier", "Soothsayer", "Sorcerer", "Sovereign", "Spaceman", "Spacer", "Spawn", "Spectre", "Sphinx", "Spider", "Spirit", "Squid", "Squire", "Stag", "Stallion", "Stoat", "Stranger", "Strangler", "Succubus", "Sultan", "Sundog", "Swordfish", "Tarantula", "Technocrat", "Temptress", "Tengu", "Termagant", "Termite", "Thane", "Therapod", "Thief", "Tiger", "Tigress", "Toad", "Tormentor", "Trawler", "Trickster", "Troll", "Trooper", "Trumble", "Tsar", "Tsarina", "Twister", "Tyrant", "Unbeliever", "Undine", "Usurper", "Valkyrie", "Vampire", "Vermin", "Viceroy", "Victor", "Viking", "Villain", "Virago", "Virus", "Vixen", "Vizier", "Vulture", "Walrus", "Warlock", "Warlord", "Warrior", "Warthog", "Wasp", "Watchman", "Weasel", "Weevil", "Wendigo", "Werewolf", "Widow", "Widowmaker", "Windhover", "Witch", "Witchfinder", "Wizard", "Wolf", "Wolverine", "Wyrm", "Wyvern", "Xenophobe", "Yeoman", "Zealot", "Zombie"];
    this.creatureLength["aggressive"] = this.creature["aggressive"].length;
    
    this.nonCreatureStandalone["aggressive"] = ["Adieu", "Adios", "Argosy", "Arrow", "Assegai", "Axe", "Ballista", "Banner", "Bardiche", "Baselard", "Bayonet", "Beguine", "Belladonna", "Bezant", "Blade", "Blaster", "Bolero", "Broadsword", "Bubble", "Bugle", "Calypso", "Cantata", "Carnival", "Cascade", "Cataract", "Challenge", "Chariot", "Chicotte", "Cinquedea", "Clarion", "Claymore", "Club", "Comet", "Concerto", "Constellation", "Coronach", "Crescent", "Crossbow", "Cutlass", "Dagger", "Destiny", "Dirk", "Discovery", "Duel", "Fado", "Falchion", "Fandango", "Farewell", "Fear", "Festival", "Fiesta", "Fireball", "Flail", "Flame", "Flamenco", "Fugue", "Fury", "Gall", "Galliard", "Galloglass", "Gallows", "Gauntlet", "Gavotte", "Gibbet", "Glaive", "Goodnight", "Grief", "Guillotine", "Guisarme", "Halberd", "Hammer", "Hemlock", "Hope", "Horizon", "Hornpipe", "Hurricane", "Jarabe", "Jig", "Jive", "Katana", "Knife", "Kris", "Kukri", "Lamp", "Lance", "Lancet", "Lantern", "Laser", "Lash", "Legend", "Libretto", "Lightning", "Longshot", "Mace", "Machete", "Madrigal", "Magic", "Mambo", "Mandragora", "Mandrake", "Mangonel", "Mazurka", "Menagerie", "Meteor", "Millennium", "Mirror", "Misericorde", "Morningstar", "Nightshade", "Noose", "Nova", "Onager", "Pagoda", "Paradox", "Pavane", "Periapt", "Phaeton", "Pike", "Pulsar", "Quasar", "Raga", "Rapier", "Razor", "Revenge", "Rumba", "Sabre", "Salsa", "Saltarello", "Samba", "Saraband", "Sardana", "Savanna", "Sayonara", "Scimitar", "Scourge", "Scythe", "Seraglio", "Serenade", "Sickle", "Singularity", "Sjambok", "Sonata", "Sorrow", "Spark", "Spear", "Stiletto", "Storm", "Sutra", "Sword", "Symphony", "Talisman", "Tango", "Tarantella", "Terror", "Thistle", "Thorn", "Threnody", "Thunder", "Thunderbolt", "Toccata", "Tornado", "Totem", "Trebuchet", "Trepidation", "Trident", "Triumph", "Trumpet", "Typhoon", "Vengeance", "Victor", "Victory", "Volta", "Whip", "Whisker", "Wisdom", "Wolfsbane", "Wormwood", "Zamba", "Zydeco"];
    this.nonCreatureStandaloneLength["aggressive"] = this.nonCreatureStandalone["aggressive"].length;
    
    this.nonCreatureCombined["aggressive"] = ["Agony", "Anathema", "Arm", "Assault", "Attack", "Battle", "Bell", "Blade", "Blood", "Buckler", "Call", "Capture", "Castle", "Chance", "Chant", "Charge", "Child", "Clan", "Corruption", "Crucible", "Cry", "Curse", "Dagger", "Darling", "Daughter", "Dawn", "Death", "Despair", "Destiny", "Device", "Disease", "Domain", "Doom", "Dusk", "Duty", "Egg", "Evil", "Eye", "Famine", "Fate", "Fever", "Filth", "Fire", "Flame", "Flight", "Fortress", "Garrotte", "Grief", "Hand", "Harvest", "Heart", "Hide", "Hive", "Honour", "Horror", "Hour", "Howl", "Hunger", "Island", "Jaws", "Keep", "Kin", "King", "Lady", "Lair", "Land", "Lightning", "Loot", "Lord", "Love", "Machine", "Machinery", "Malediction", "Mechanism", "Misery", "Mountain", "Murder", "Music", "Needle", "Nest", "Night", "Nightmare", "Noose", "Oath", "Obscenity", "Ocean", "Opera", "Pestilence", "Plague", "Plunder", "Poison", "Prince", "Queen", "Realm", "Return", "Revenge", "Rocket", "Saga", "Satellite", "Scale", "Scream", "Scum", "Sea", "Shield", "Shout", "Sickness", "Sign", "Sin", "Skull", "Slaughter", "Slime", "Son", "Song", "Sorrow", "Soul", "Spear", "Storm", "Swag", "Swarm", "Sword", "Tail", "Targe", "Tears", "Terror", "Thunder", "Time", "Torment", "Torture", "Trail", "Tribe", "Twist", "Vengeance", "Wail", "Way", "Woe", "Word"];
    this.nonCreatureCombinedLength["aggressive"] = this.nonCreatureCombined["aggressive"].length;
    
    this.generalAdjective["peaceful"] = ["Adamantium", "Amber", "Amethyst", "Analogue", "Antique", "Aquamarine", "Archaic", "Artful", "Atmospheric", "Auspicious", "Automatic", "Autumn", "Azure", "Baroque", "Baryonic", "Beautiful", "Beryllium", "Bewitching", "Big", "Binary", "Black", "Blessed", "Blue", "Brass", "Brazen", "Bright", "Brilliant", "Brilliant", "Bronze", "Carmine", "Caustic", "Charming", "Cheerful", "Chrome", "Cinnabar", "Classical", "Cobalt", "Comical", "Copper", "Cosmic", "Crafty", "Crimson", "Crystal", "Cyan", "Dark", "Dazzling", "Diamond", "Digital", "Drastic", "Duralium", "Eager", "Ebony", "Eighth", "Elastic", "Electric", "Electromagnetic", "Elegant", "Emerald", "Ephemeral", "Eternal", "Ethereal", "Evening", "Everlasting", "Fifth", "First", "Fortunate", "Fourth", "Friendly", "Frontier", "Frozen", "Galactic", "Generous", "Geometric", "Giant", "Gigantic", "Gilded", "Gleaming", "Glittering", "Glowing", "Gold", "Golden", "Good", "Gossamer", "Gothic", "Graceful", "Grand", "Gravitic", "Great", "Greatest", "Green", "Grey", "Happy", "Harmless", "Heavenly", "Holy", "Holy", "Honest", "Hopeful", "Hydraulic", "Hydrogen", "Hypnotic", "Iconic", "Illuminated", "Immortal", "Immortal", "Improved", "Indigo", "Innocent", "Intangible", "Interdimensional", "Interplanetary", "Interstellar", "Iridescent", "Iron", "Ivory", "Jet", "Jolly", "Jovial", "Joyous", "Kindly", "Lambent", "Leeward", "Lightsome", "Little", "Lucky", "Luminous", "Magenta", "Many-Coloured", "Mechanical", "Merry", "Mesmeric", "Metallic", "Midnight", "Miraculous", "Moonstone", "Morning", "Multicoloured", "Mystery", "Mystic", "Necessary", "Neon", "New", "Ninth", "Noble", "Obsidian", "Offworld", "Olympic", "Opal", "Orange", "Orbital", "Painted", "Pale", "Palladium", "Paradisal", "Paradoxical", "Patient", "Peaceful", "Penultimate", "Perfect", "Phosphorescent", "Photonic", "Pink", "Plastic", "Platinum", "Plutonium", "Polite", "Polychrome", "Precious", "Pressurised", "Primal", "Primordial", "Prosaic", "Pure", "Purple", "Quantum", "Quicksilver", "Quirium", "Radiant", "Radiant", "Radium", "Rainbow", "Realistic", "Red", "Retrograde", "Rococo", "Royal", "Ruby", "Sable", "Sacred", "Saffron", "Sapphire", "Scarlet", "Second", "Secret", "Sepia", "Serene", "Seventh", "Shining", "Silicon", "Silken", "Silver", "Silvered", "Simple", "Sixth", "Solar", "Sparkling", "Speedy", "Spring", "Stainless Steel", "Star", "Starborn", "Starbound", "Starry", "Steel", "Stone", "Strontium", "Summer", "Sweet", "Tachyon", "Temporal", "Third", "Titanic", "Titanium", "Topaz", "Transcendental", "Transdimensional", "Turquoise", "Twilight", "Ultimate", "Ultramarine", "Ultraviolet", "Umber", "Universal", "Unnecessary", "Vacuum", "Vermillion", "Violet", "Viridian", "Virtual", "Virtuous", "Vital", "Voodoo", "Weird", "White", "Windward", "Winter", "Witchspace", "Yellow", "Zirconium"];
    this.generalAdjectiveLength["peaceful"] = this.generalAdjective["peaceful"].length;

    this.creatureAdjective["peaceful"] = this.generalAdjective["peaceful"].concat(["Abandoned", "Above Average", "Accelerated", "Acerbic", "Acquisitive", "Acute", "Advanced", "Affable", "Affluent", "Affordable", "All-Seeing", "Alluring", "Amazing", "Ambitious", "Amicable", "Amusing", "Ancient", "Anonymous", "Antic", "Ardent", "Argumentative", "Assiduous", "Astonishing", "Astute", "Athletic", "Attendant", "Austere", "Autonomous", "Average", "Baffled", "Bankrupt", "Bashful", "Becoming", "Best", "Better", "Bewildered", "Black-Eyed", "Blithe", "Blue-Eyed", "Blushing", "Bony", "Bouncing", "Brash", "Brown-Eyed", "Buoyant", "Busted", "Busy", "Calm", "Candid", "Cantankerous", "Capable", "Capitalist", "Captious", "Carefree", "Careful", "Careless", "Cautious", "Ceramic", "Charismatic", "Chaste", "Chatty", "Cheating", "Chequered", "Chivalrous", "Choosy", "Chuckling", "Claustrophobic", "Clever", "Clockwork", "Co-operative", "Coarse", "Comic", "Committed", "Common", "Competent", "Compleat", "Complex", "Complicated", "Compulsive", "Confident", "Confidential", "Constant", "Contemporaneous", "Contemporary", "Contrary", "Convivial", "Cool", "Cordial", "Cosmopolitan", "Cowardly", "Crude", "Cryogenic", "Cryptic", "Cultured", "Curious", "Cybernetic", "Dancing", "Daring", "Dashing", "Decent", "Decisive", "Decorous", "Defensive", "Delicate", "Demotic", "Dependable", "Deserving", "Dextrous", "Diligent", "Discreet", "Disputatious", "Distinctive", "Doubtful", "Doubting", "Dreaming", "Drowsy", "Drunken", "Durable", "Dwarf", "Dynamic", "Early", "Eastern", "Easy", "Eclipsing", "Ecstatic", "Educated", "Elegant", "Elusive", "Energetic", "Enlightened", "Equitable", "Ersatz", "Erstwhile", "Essential", "Established", "Ethical", "Euclidian", "Exotic", "Expectant", "Explicit", "Extraordinary", "Extravagant", "Faded", "Fading", "Fair", "Faithful", "Familiar", "Famous", "Fascinating", "Fat", "Federal", "Finicky", "Flamboyant", "Flexible", "Flirtatious", "Floating", "Fluorescent", "Flying", "Foolish", "Foremost", "Formal", "Forward", "Frazzled", "Free", "Freelance", "Fresh", "Frugal", "Fun-Loving", "Fundamental", "Funky", "Fussy", "Gallant", "Gallivanting", "Galloping", "Gallus", "Galvanised", "Garrulous", "Genial", "Gifted", "Glad", "Glamorous", "Glass", "Gnostic", "Golden-Eyed", "Gracious", "Grave", "Greater", "Green-Eyed", "Gregarious", "Gregarious", "Grey-Eyed", "Gyrating", "Gyroscopic", "Harmonic", "Harmonious", "Hectic", "Hedonistic", "Hidden", "High", "High-Born", "Highland", "Hindmost", "Homeless", "Homesick", "Honourable", "Hospitable", "Humble", "Humorous", "Hungry", "Hydrophobic", "Hyper", "Hysteric", "Impetuous", "Importunate", "Improving", "Independent", "Indigenous", "Indigent", "Indignant", "Indolent", "Infallible", "Infinite", "Informal", "Innocent", "Inquisitive", "Inscrutable", "Intelligent", "Intrepid", "Ironic", "Itinerant", "Jaded", "Joyful", "Jumping", "Junior", "Justified", "Kind", "Knowing", "Latent", "Laudable", "Laughing", "Lavish", "Lawful", "Lax", "Lazy", "Leaden", "Leading", "Lean", "Leaping", "Learned", "Legal", "Legitimate", "Lesser", "Liberal", "Limber", "Lissom", "Listless", "Lively", "Logarithmic", "Lonesome", "Long", "Lost", "Lovesick", "Low", "Low-Born", "Lowland", "Loyal", "Lunatic", "Lusty", "Magnificent", "Majestic", "Massive", "Material", "Meditating", "Meditative", "Merciful", "Methodical", "Metropolitan", "Millennial", "Minuscule", "Mirthful", "Mischievous", "Misplaced", "Mobile", "Modern", "Modified", "Moody", "Moral", "Mostly Harmless", "Motley", "Musky", "Mute", "Nameless", "Nimble", "Noisy", "Nominal", "Nonchalant", "Noncommittal", "Northern", "Notorious", "Nouveau", "O.K.", "Obliging", "Obscure", "Observant", "Obtuse", "Offbeat", "Omniscient", "One-Time", "Opinionated", "Opportune", "Opportune", "Optimistic", "Origami", "Original", "Orotund", "Orthodox", "Outlandish", "Outward", "Pacifist", "Panoptic", "Paper", "Particular", "Passionate", "Patchwork", "Pawky", "Peculiar", "Pedantic", "Penitent", "Pensive", "Perfect", "Pernickity", "Perpetual", "Persevering", "Persistent", "Pickled", "Picky", "Pious", "Plastic", "Plausible", "Pleasing", "Pliant", "Plucky", "Polished", "Polyglot", "Pompous", "Poor", "Popular", "Porcelain", "Practical", "Predicted", "Prescient", "Prim", "Principal", "Problematic", "Prodigal", "Productive", "Progressive", "Proletarian", "Promised", "Proper", "Prosperous", "Protean", "Proud", "Provincial", "Psychic", "Puggled", "Puzzled", "Qualified", "Questing", "Quiet", "Quintessential", "Quixotic", "Quizzical", "Quotidian", "Radical", "Ragged", "Random", "Rash", "Rational", "Raucous", "Reborn", "Receptive", "Recording", "Recumbent", "Redeemed", "Regular", "Reincarnated", "Relaxed", "Reluctant", "Repentant", "Resilient", "Resounding", "Respectable", "Respectful", "Restless", "Retiring", "Returning", "Rhetorical", "Rhythmic", "Ribald", "Rich", "Righteous", "Riotous", "Robust", "Romantic", "Rosy", "Rotund", "Rude", "Rugged", "Rushing", "Sapient", "Sated", "Satisfactory", "Satisfied", "Saucy", "Sceptical", "Scientific", "Scrutinising", "Searching", "Second-Hand", "Secular", "Sedulous", "Senior", "Sensible", "Sensitive", "Serendipitous", "Serious", "Short", "Shriven", "Significant", "Signifying", "Silent", "Singing", "Singular", "Skillful", "Sleekit", "Sleeping", "Smashing", "Smiling", "Smitten", "Smooth", "Social", "Socialist", "Solitary", "Solo", "Somnolent", "Sorrowful", "Southern", "Speculative", "Spendthrift", "Spinning", "Spoiled", "Spontaneous", "Starving", "Steadfast", "Sterling", "Stoic", "Stubborn", "Stunning", "Stylish", "Super", "Superior", "Surprising", "Swaying", "Swift", "Swooping", "Symbiotic", "Sympathetic", "Tactful", "Talented", "Talkative", "Tattooed", "Teasing", "Temporary", "Tender", "Tender-Hearted", "Thirsty", "Thoughtful", "Thrusting", "Timid", "Tipsy", "Tired", "Top", "Transitory", "Trembling", "Tricky", "True", "Trustworthy", "Trusty", "Truthful", "Two-Tone", "Ultra", "Unctuous", "Undying", "Uneasy", "Unexpected", "Unknown", "Unlimited", "Unorthodox", "Unsatisfactory", "Unsatisfied", "Untouchable", "Uplifted", "Uploaded", "Upscale", "Upstart", "Uptown", "Urbane", "Utopian", "Variable", "Vaunted", "Verbose", "Vigilant", "Vigourous", "Vivacious", "Voiceless", "Vulgar", "Warm", "Warm-Hearted", "Watchful", "Weary", "Weeping", "Western", "Whistling", "Wholesome", "Wily", "Winsome", "Wise", "Wishful", "Wistful", "Worshipful", "Wretched", "Writhing", "Yawning", "Zany", "Zen", "Zippy", "Zooming"]);
    this.creatureAdjectiveLength["peaceful"] = this.creatureAdjective["peaceful"].length;
    
    this.nominalAdjective["peaceful"] = ["Acerbic", "Acquisitive", "Affable", "Affluent", "Alluring", "Ambitious", "Amicable", "Archaic", "Ardent", "Assiduous", "Astonishing", "Atmospheric", "Auspicious", "Baroque", "Bashful", "Blessed", "Blithe", "Brazen", "Buoyant", "Capable", "Capitalist", "Carefree", "Careful", "Caustic", "Cautious", "Charismatic", "Charming", "Cheerful", "Chivalrous", "Choosy", "Claustrophobic", "Co-operative", "Comical", "Competent", "Confident", "Constant", "Contrary", "Convivial", "Cosmic", "Curious", "Daring", "Dashing", "Decisive", "Decorous", "Dependable", "Dextrous", "Diligent", "Doubtful", "Drowsy", "Durable", "Easy", "Elastic", "Electric", "Elegant", "Enlightened", "Equitable", "Eternal", "Expectant", "Extraordinary", "Extravagant", "Faithful", "Flamboyant", "Flirtatious", "Fortunate", "Friendly", "Frugal", "Galactic", "Gallant", "Gallus", "Gigantic", "Glamorous", "Gothic", "Graceful", "Gracious", "Gregarious", "Harmless", "Hindmost", "Holy", "Homeless", "Hopeful", "Hydrophobic", "Iconic", "Immortal", "Immortal", "Impetuous", "Independent", "Indigent", "Indignant", "Indolent", "Infallible", "Innocent", "Inquisitive", "Inscrutable", "Intrepid", "Itinerant", "Jovial", "Kindly", "Lightsome", "Lissom", "Lonesome", "Loyal", "Lucky", "Lunatic", "Magnificent", "Majestic", "Merciful", "Metallic", "Methodical", "Midnight", "Mischievous", "Motley", "Nimble", "Notorious", "Olympic", "Optimistic", "Pacifist", "Peaceful", "Peculiar", "Penitent", "Pensive", "Perfect", "Persistent", "Pious", "Pliant", "Proletarian", "Prosaic", "Prosperous", "Quintessential", "Radiant", "Radical", "Random", "Rational", "Raucous", "Repentant", "Resilient", "Restless", "Ribald", "Righteous", "Rococo", "Romantic", "Royal", "Rugged", "Sensible", "Serene", "Socialist", "Solitary", "Solo", "Sorrowful", "Speedy", "Spontaneous", "Starborn", "Steadfast", "Stoic", "Superior", "Swift", "Sympathetic", "Titanic", "Transcendental", "Tricky", "Trustworthy", "Twilight", "Undying", "Unlimited", "Untouchable", "Upstart", "Vigilant", "Vigourous", "Vivacious", "Voodoo", "Vulgar", "Weird", "Wholesome", "Winsome", "Wistful", "Zen", "Zippy"];
    this.nominalAdjectiveLength["peaceful"] = this.nominalAdjective["peaceful"].length;
    
    this.creature["peaceful"] = ["Academic", "Acrobat", "Actuary", "Admiral", "Advocate", "Agent", "Albacore", "Albatross", "Alchemist", "Alligator", "Alto", "Ambassador", "Amphibian", "Anarchist", "Ancestor", "Android", "Angel", "Angler", "Ant", "Antelope", "Apprentice", "Arbiter", "Archon", "Argalis", "Aristocrat", "Armadillo", "Arriviste", "Arthropod", "Artist", "Artiste", "Ascetic", "Astronaut", "Astronomer", "Asura", "Atabeg", "Auctioneer", "Auk", "Avian", "Axolotl", "Baboon", "Badger", "Bandicoot", "Banker", "Barbel", "Bard", "Baritone", "Baron", "Baroness", "Baronet", "Bee", "Beggar", "Bigwig", "Bird", "Bird", "Bison", "Bittern", "Boar", "Bobcat", "Bodhisattva", "Bonito", "Broker", "Bronco", "Buck", "Buffalo", "Bulbul", "Bull", "Bullfrog", "Bunny", "Bunyip", "Butterfly", "Buzzard", "Camel", "Captain", "Capuchin", "Capybara", "Caracal", "Caribou", "Carp", "Casanova", "Cat", "Caterpillar", "Cayman", "Chairman", "Chamberlain", "Chamois", "Chancellor", "Cheetah", "Chick", "Chigger", "Child", "Chimpanzee", "Chinchilla", "Cicada", "Civet", "Clown", "Coati", "Commander", "Commodore", "Companion", "Company", "Comrade", "Coney", "Conger", "Contrabandista", "Corbie", "Cormorant", "Corvid", "Cosmonaut", "Cougar", "Count", "Countess", "Courier", "Courtesan", "Courtier", "Crab", "Creator", "Creature", "Critter", "Crocodile", "Crow", "Crustacean", "Cuckoo", "Curlew", "Customer", "Cuttlefish", "Cyborg", "Daimon", "Dancer", "Daredevil", "Dealer", "Dervish", "Deva", "Dhole", "Dilettante", "Diplomat", "Diver", "Doctor", "Dog", "Dolphin", "Dove", "Dragon", "Dragonet", "Dragonfly", "Drifter", "Droid", "Drone", "Dryad", "Duchess", "Duke", "Eagle", "Earl", "Eel", "Eland", "Emir", "Emperor", "Empress", "Enchanter", "Enchantress", "Engineer", "Entrepreneur", "Equine", "Executive", "Explorer", "Faery", "Fairy", "Falcon", "Feline", "Ferret", "Fiddler", "Fish", "Fool", "Fox", "Frog", "Gadfly", "Gannet", "Gastronome", "Gazelle", "Geisha", "Genie", "Ghost", "Gila", "Gnat", "Gnu", "Goat", "Goblin", "God", "Goddess", "Gopher", "Gorilla", "Gosling", "Gourmet", "Governor", "Graf", "Grasshopper", "Grub", "Grunion", "Gryphon", "Guardian", "Harbinger", "Hare", "Harlequin", "Harper", "Harrier", "Hatchling", "Hauler", "Hawk", "Hawker", "Hellbender", "Herald", "Heroine", "Heron", "Hetaira", "Hexapod", "Hind", "Hobo", "Hog", "Honcho", "Hoopoe", "Hornet", "Hound", "Huckster", "Human", "Humanoid", "Hydra", "Hyena", "Ibex", "Imp", "Impala", "Insect", "Investor", "Jackdaw", "Jaguar", "Jay", "Jinn", "Joker", "Jongleur", "Journeyman", "Judge", "Juggler", "Kaiser", "Kangaroo", "Kelpie", "Kestrel", "Khan", "King", "Kitsune", "Kitten", "Kiwi", "Lady", "Lamb", "Lamprey", "Langoustine", "Laverock", "Lemur", "Leopard", "Libertine", "Liege", "Linnet", "Lintie", "Lion", "Lioness", "Lizard", "Lobster", "Locust", "Lorelei", "Loyalist", "Lugger", "Lynx", "Macaque", "Maestro", "Magician", "Magister", "Magnate", "Magpie", "Magus", "Maid", "Maiden", "Mammal", "Manta", "Mantis", "Margay", "Margrave", "Mariner", "Marmot", "Marquess", "Marquis", "Marten", "Martlet", "Martyr", "Matriarch", "Mendicant", "Merchant", "Mermaid", "Messenger", "Metamorph", "Minister", "Minotaur", "Minx", "Miser", "Mogul", "Mole", "Mongoose", "Monk", "Monkey", "Mooncalf", "Mosquito", "Moth", "Mouse", "Muse", "Mustang", "Naiad", "Neighbour", "Newt", "Nightingale", "Nilgai", "Nomad", "Nymph", "Ocelot", "Octopus", "Odalisque", "Oracle", "Orator", "Orca", "Oriole", "Orphan", "Oryx", "Osprey", "Otter", "Owl", "Ox", "Oyster", "Pachyderm", "Palomino", "Panda", "Pangolin", "Panther", "Parrot", "Parvenu", "Pathfinder", "Patriarch", "Peacock", "Pedlar", "Pelican", "Peregrin", "Petrel", "Phantom", "Pharaoh", "Philosopher", "Phoenix", "Pierrot", "Pig", "Pinniped", "Pioneer", "Piper", "Pixie", "Plover", "Poet", "Politician", "Porpoise", "Posthuman", "Prawn", "Preacher", "Precentor", "Preserver", "President", "Priest", "Princess", "Professor", "Proletarian", "Prophet", "Prospector", "Protagonist", "Puma", "Queen", "Rabbit", "Raja", "Ram", "Ranger", "Rapscallion", "Rascal", "Rat", "Raven", "Reprobate", "Reptile", "Rider", "Robot", "Rodent", "Rogue", "Rooster", "Rover", "Runabout", "Sage", "Saint", "Salmon", "Sasquatch", "Saurian", "Savant", "Scarab", "Scholar", "Scorpion", "Scout", "Scribe", "Scrivener", "Seahorse", "Seraph", "Serf", "Serpent", "Servant", "Shadow", "Sheikh", "Shepherd", "Shrew", "Shrike", "Shrimp", "Skimmer", "Skipper", "Skua", "Skylark", "Slug", "Snail", "Snipe", "Soothsayer", "Soprano", "Sorcerer", "Sovereign", "Spaceman", "Spacer", "Sparrow", "Spectre", "Sphinx", "Spider", "Spirit", "Springbok", "Springtail", "Squid", "Squire", "Squirrel", "Stag", "Stallion", "Stoat", "Stork", "Student", "Sultan", "Sundog", "Swan", "Swordfish", "Tarantula", "Tenor", "Termite", "Tern", "Terrapin", "Thane", "Theologian", "Therapod", "Thespian", "Tiger", "Tigress", "Tinker", "Toad", "Trader", "Trailblazer", "Tramp", "Traveller", "Trawler", "Tree Grub", "Trickster", "Troubador", "Trout", "Trucker", "Trumble", "Tsar", "Tsarina", "Turtle", "Tycoon", "Undine", "Vagabond", "Vervet", "Viceroy", "Villein", "Virtuoso", "Vixen", "Voyager", "Wallaby", "Walrus", "Wanderer", "Warbler", "Warthog", "Wasp", "Wayfarer", "Weasel", "Weevil", "Whale", "Widow", "Windhover", "Witch", "Witness", "Wizard", "Wolf", "Wolverine", "Worker", "Wyvern", "Zebra"];
    this.creatureLength["peaceful"] = this.creature["peaceful"].length;
    
    this.nonCreatureStandalone["peaceful"] = ["Adieu", "Adios", "Agapanthus", "Allerion", "Amaranth", "Angelus", "Apple", "Argosy", "Asphodel", "Azalea", "Banner", "Beguine", "Bezant", "Blossom", "Bolero", "Bubble", "Bugle", "Buttercup", "Calypso", "Cantata", "Carillon", "Carnation", "Carnival", "Cascade", "Cataract", "Chariot", "Charm", "Chrysanthemum", "Clarion", "Comet", "Concerto", "Consolation", "Constellation", "Coxcomb", "Crescent", "Crocus", "Daisy", "Destiny", "Discovery", "Dream", "Enterprise", "Fado", "Fandango", "Farewell", "Festival", "Fiesta", "Fireball", "Flame", "Flamenco", "Flotsam", "Flower", "Foxglove", "Fugue", "Galliard", "Gauntlet", "Gavotte", "Goodnight", "Gowan", "Hellebore", "Hibiscus", "Honeysuckle", "Hope", "Horizon", "Hornpipe", "Hurricane", "Hyacinth", "Iris", "Jarabe", "Jasmine", "Jetsam", "Jig", "Jive", "Lamp", "Lancet", "Lantern", "Larkspur", "Laurel", "Legend", "Libretto", "Lightning", "Lily", "Lotus", "Lupin", "Madrigal", "Magic", "Magnolia", "Mambo", "Mazurka", "Melody", "Menagerie", "Meteor", "Millennium", "Mirror", "Narcissus", "Nebula", "Omphalos", "Operetta", "Orchid", "Pagoda", "Paradise", "Paradox", "Pavane", "Peach", "Peony", "Petal", "Petunia", "Phaeton", "Piccolo", "Pimpernel", "Pomegranate", "Primrose", "Pulsar", "Quasar", "Raga", "Rose", "Rumba", "Saga", "Salsa", "Saltarello", "Samba", "Saraband", "Sardana", "Savanna", "Sayonara", "Seraglio", "Serenade", "Singularity", "Sonata", "Spark", "Speedwell", "Spindrift", "Storm", "Sutra", "Symphony", "Talisman", "Tamarisk", "Tango", "Tarantella", "Thistle", "Thorn", "Thunder", "Thunderbolt", "Toccata", "Tornado", "Totem", "Trepidation", "Trumpet", "Typhoon", "Volta", "Wattle", "Whisker", "Wisdom", "Yarrow", "Zamba", "Zydeco"];
    this.nonCreatureStandaloneLength["peaceful"] = this.nonCreatureStandalone["peaceful"].length;
    
    this.nonCreatureCombined["peaceful"] = ["Ante", "Arm", "Arrival", "Ash", "Balance", "Bargain", "Bell", "Bluff", "Breeze", "Buckle", "Bundle", "Button", "Call", "Capture", "Caravan", "Card", "Cash", "Casket", "Chalice", "Chance", "Change", "Chant", "Child", "Chips", "Clan", "Clasp", "Cloud", "Contract", "Convoy", "Covenant", "Crucible", "Cup", "Darling", "Daughter", "Dawn", "Day", "Deal", "Destination", "Destiny", "Device", "Dice", "Dispensation", "Domain", "Dream", "Dusk", "Egg", "Exchange", "Eye", "Fate", "Favour", "Feather", "Fire", "Flagon", "Flask", "Flight", "Forest", "Game", "Goblet", "Greeting", "Guarantee", "Hand", "Handshake", "Harvest", "Heart", "Hide", "Hive", "Holdings", "Hour", "Island", "Journey", "Jug", "Jungle", "Kin", "King", "Lady", "Land", "Laughter", "Legend", "Loan", "Lord", "Love", "Luck", "Machine", "Machinery", "Mechanism", "Moon", "Mountain", "Music", "Needle", "Nest", "Night", "Oak", "Ocean", "Ode", "Opera", "Palace", "Peddle", "Pin", "Prince", "Profit", "Promise", "Purchase", "Purse", "Purvey", "Queen", "Rain", "Realm", "Remembrance", "Return", "River", "Rocket", "Roll", "Rowan", "Sale", "Salutation", "Satellite", "Scale", "Scales", "Sea", "Season", "Sign", "Son", "Song", "Soul", "Stack", "Stake", "Star", "Stock", "Story", "Stream", "Sun", "Sunrise", "Sunset", "Surety", "Swap", "Swarm", "Swindle", "Switch", "Tail", "Takings", "Tale", "Tears", "Time", "Token", "Trade", "Trail", "Tree", "Trek", "Tribe", "Trips", "Twilight", "Vine", "Voyage", "Wagon", "Wallet", "Wave", "Way", "Whisper", "Wind", "Winnings", "Wish", "Word", "Year"];
    this.nonCreatureCombinedLength["peaceful"] = this.nonCreatureCombined["peaceful"].length;
    
    this.nonCreatureCombined["rockhermit"] = ["Ace", "Aces", "Ache", "Actual", "Adieu", "Adios", "Advice", "Agreement", "Amends", "Anchorage", "Ante", "Apology", "Approach", "Argument", "Arrival", "Arroyo", "Ashes", "Assay", "Atoll", "Atonement", "Auger", "Award", "Backwash", "Balance", "Barbican", "Bargain", "Barrel", "Barrio", "Barrow", "Bay", "Bazaar", "Beggings", "Bellyful", "Berth", "Bet", "Bilge", "Billet", "Bing", "Bit", "Bite", "Blame", "Blister", "Blisters", "Blood", "Bluff", "Blush", "Boil", "Bolt", "Bolthole", "Bonanza", "Bones", "Boot", "Bore", "Borings", "Bottom", "Boulder", "Bounty", "Boxcars", "Break", "Bucket", "Bullet", "Bundle", "Bung", "Burden", "Burg", "Burrow", "Bushel", "Butte", "Caboodle", "Cache", "Cackle", "Camp", "Canker", "Canyon", "Capture", "Carbuncle", "Card", "Cash", "Castle", "Caution", "Cave", "Cavern", "Cavity", "Cay", "Cell", "Cellar", "Chalice", "Chambers", "Chance", "Charter", "Cheapside", "Cheer", "Chip", "Chippings", "Chirp", "Chisel", "Choice", "Choke", "Choosing", "Chop", "Chore", "Chuckle", "Chunk", "Claim", "Clatter", "Click", "Clink", "Clod", "Cloister", "Closure", "Clump", "Clutch", "Coffin", "Comfort", "Complaint", "Confession", "Consent", "Consolation", "Contract", "Coup", "Courtesy", "Cove", "Covenant", "Crack", "Crapshoot", "Crater", "Crawl", "Crease", "Credit", "Crevasse", "Crevice", "Crock", "Crucible", "Crust", "Crypt", "Cup", "Curiosity", "Curse", "Cut", "Dale", "Damnation", "Dare", "Darg", "Darling", "Deal", "Dearth", "Decision", "Deeps", "Defeat", "Delight", "Delve", "Den", "Depot", "Deserts", "Destination", "Destiny", "Deuce", "Deuces", "Dice", "Dig", "Diggings", "Dirt", "Disappointment", "Discovery", "Dispensation", "Dispute", "Dividend", "Divination", "Dot", "Downfall", "Dowry", "Drag", "Draw", "Dray", "Dream", "Drillings", "Drudge", "Dump", "Dungeon", "Duty", "End", "Enterprise", "Error", "Exchange", "Experience", "Experiment", "Eye", "Failure", "Farewell", "Fate", "Fault", "Fiddle", "Field", "Flagon", "Flask", "Flats", "Folly", "Form", "Fort", "Fortress", "Fortune", "Fracture", "Gain", "Gamble", "Garden", "Gate", "Gift", "Gill", "Gleam", "Glen", "Glint", "Glister", "Glory", "Goblet", "Goodnight", "Grab", "Graft", "Grain", "Grasp", "Gratuity", "Grave", "Gravel", "Gravy", "Greed", "Greeting", "Grief", "Grind", "Grip", "Gripe", "Grit", "Ground", "Growl", "Grub", "Grudge", "Grumble", "Grunt", "Guarantee", "Guard", "Guess", "Guffaw", "Gulch", "Gully", "Gut-Shot", "Gutful", "Hack", "Hail", "Halls", "Hand", "Handle", "Handshake", "Harbour", "Harvest", "Haul", "Haunt", "Haven", "Hazard", "Head", "Heap", "Heart", "Heartache", "Heave", "Heft", "Hermitage", "Hide", "Hill", "Hit", "Hive", "Hold", "Holdings", "Hole", "Holler", "Hollow", "Holt", "Hoot", "Hope", "House", "Hovel", "Hump", "Hunger", "Inch", "Inheritance", "Island", "Isle", "Jackpot", "Joke", "Joy", "Judgement", "Jug", "Jump", "Keep", "Kettle", "Key", "Knob", "Knock", "Knuckle", "Labour", "Lack", "Ladings", "Lair", "Landing", "Laugh", "Law", "Laydown", "Layover", "Leap", "Lease", "Legacy", "Legend", "Levy", "Lie", "Line", "Load", "Loan", "Lode", "Lodge", "Look", "Lookout", "Loot", "Love", "Luck", "Lucre", "Lump", "Machine", "Manifesto", "Manse", "Mansion", "Marker", "Mash", "Measure", "Memorial", "Memory", "Mesa", "Mile", "Mine", "Misfortune", "Mistake", "Moil", "Moon", "Mortgage", "Mount", "Mountain", "Mouth", "Music", "Narrows", "Neck", "Nest", "Nest-Egg", "Nod", "Nose", "Nudge", "Nugget", "Nut", "Oasis", "Oath", "Opera", "Opportunity", "Orbit", "Orbital", "Origin", "Original", "Pain", "Palace", "Pang", "Paradise", "Part", "Pay", "Payday", "Paydirt", "Payoff", "Peace", "Peck", "Peddle", "Pelf", "Penance", "Pension", "Perdition", "Perk", "Pick", "Pickings", "Piece", "Pile", "Pimple", "Pinch", "Pipe", "Pit", "Pittance", "Pity", "Plan", "Pleasure", "Plug", "Poem", "Poke", "Portion", "Pot", "Powder", "Precaution", "Prediction", "Present", "Price", "Principle", "Prize", "Proceeds", "Profit", "Promise", "Prophecy", "Proposal", "Proposition", "Prospect", "Prosper", "Protest", "Pull", "Purchase", "Purvey", "Push", "Quarry", "Quay", "Quota", "Rap", "Ration", "Reef", "Reek", "Refuge", "Regret", "Remorse", "Rent", "Repentance", "Rescue", "Rest", "Result", "Retirement", "Retreat", "Return", "Rise", "Rock", "Roll", "Root", "Ruin", "Rules", "Rumour", "Run", "Runaway", "Runout", "Sale", "Salutation", "Salute", "Salvage", "Sanction", "Sanctum", "Satellite", "Sayonara", "Scarp", "Scavenge", "Scavengings", "Scheme", "Score", "Scowl", "Scrabble", "Scramble", "Scrap", "Scrape", "Scrapings", "Scratch", "Scratchings", "Scree", "Secret", "Selection", "Session", "Sett", "Settlement", "Shack", "Shake", "Shale", "Shambles", "Shame", "Shanty", "Shard", "Share", "Shell", "Shift", "Shimmy", "Shipment", "Shiv", "Shortage", "Shortfall", "Shot", "Shout", "Shove", "Shovel", "Shrapnel", "Shudder", "Shuffle", "Silence", "Sin", "Sink", "Skin", "Skulk", "Slam", "Slice", "Slide", "Slip", "Slough", "Slug", "Slumber", "Snakeyes", "Snap", "Sneer", "Sneeze", "Snore", "Snort", "Soak", "Solace", "Solitude", "Solution", "Song", "Sorrow", "Souk", "Source", "Sours", "Sparkle", "Speculation", "Splinter", "Split", "Spoil", "Spot", "Stack", "Stake", "Star", "Stench", "Sting", "Stink", "Stint", "Stock", "Stockade", "Stopover", "Story", "Strike", "Struggle", "Success", "Suggestion", "Sump", "Surcease", "Surety", "Surprise", "Swag", "Swap", "Sweat", "Sweet-Spot", "Swindle", "Switch", "Tailing", "Takings", "Tale", "Tarball", "Task", "Tears", "Teeth", "Terminus", "Territory", "Test", "Tip", "Toast", "Toil", "Token", "Tomb", "Tontine", "Tooth", "Trace", "Trade", "Trap", "Travail", "Treasure", "Treasury", "Trench", "Trial", "Trick", "Trips", "Trudge", "Tunnels", "Turn", "Twist", "Undertaking", "Undoing", "Valediction", "Valley", "Vaults", "Vein", "Venture", "Wage", "Wart", "Well", "Wen", "Wharf", "Whine", "Whisper", "Whistle", "Wink", "Winnings", "Wish", "Word", "Wrinkle", "Yard", "Yell", "Zero"];
    this.nonCreatureCombinedLength["rockhermit"] = this.nonCreatureCombined["rockhermit"].length;
    
    this.generalAdjective["pirate"] = ["Black", "Broken", "Burning", "Cold", "Cruel", "Cursed", "Dark", "Deadly", "Dreadful", "Flaming", "Forbidden", "Forsaken", "Foul", "Frozen", "Gloomy", "Grim", "Haunted", "Infernal", "Iron", "Mad", "Malefic", "Malicious", "Merciless", "Murderous", "Noxious", "Ominous", "Pale", "Poisonous", "Red", "Rotten", "Savage", "Shattered", "Sick", "Sour", "Spiteful", "Sullen", "Terrible", "Tormented", "Tortured", "Twisted", "Unholy", "Venomous", "Vitriol", "Voodoo", "Warped", "Wicked", "Wretched"];
    this.generalAdjectiveLength["pirate"] = this.generalAdjective["pirate"].length;
    
    this.nonCreatureCombined["pirate"] = ["Abomination", "Agony", "Anathema", "Ass", "Beast", "Blade", "Blood", "Cannibal", "Claw", "Comet", "Corsair", "Crescent", "Desire", "Despair", "Devil", "Evil", "Fate", "Fever", "Fist", "Flame", "Galaxy", "Hand", "Heavens", "Horizon", "Horror", "Knight", "Laser", "Meteor", "Misery", "Misfortune", "Missile", "Moon", "Nightmare", "Plague", "Plasma", "Raider", "Rumour", "Scourge", "Scum", "Secret", "Shadow", "Shark", "Sin", "Skull", "Slime", "Sorrow", "Soul", "Space", "Spark", "Star", "Sun", "Thunder", "Troll", "Trumble", "Turret", "Twister", "Typhoon", "Vermin", "Witchspace", "Zombie"];
    this.nonCreatureCombinedLength["pirate"] = this.nonCreatureCombined["pirate"].length;
    
    this.hero["pirate"] = ["Angel", "Arrow", "Banshee", "Beast", "Bringer", "Chariot", "Claw", "Demon", "Devil", "Duke", "Eagle", "Falcon", "Fireball", "Flame", "Fortress", "Ghost", "Ghoul", "God", "Goddess", "Hammer", "Harbinger", "Herald", "Lord", "Master", "Maw", "Messenger", "Mistress", "Mouth", "Prince", "Pursuer", "Raven", "Rider", "Spear", "Torch", "Whip"];
    this.heroLength["pirate"] = this.hero["pirate"].length;
    
    this.virtue["pirate"] = ["Agony", "Blood", "Corruption", "Darkness", "Death", "Despair", "Destruction", "Envy", "Evil", "Famine", "Fate", "Fear", "Fever", "Fury", "Grief", "Hellfire", "Horror", "Hunger", "Madness", "Mayhem", "Misery", "Misfortune", "Obscenity", "Pain", "Pestilence", "Power", "Rage", "Sin", "Slaughter", "Sorrow", "Storm", "Tears", "Terror", "Torture", "Tragedy", "Vermin", "Woe", "Wrath", "the Inferno", "the Night", "the Plague", "the Shadows"];
    this.virtueLength["pirate"] = this.virtue["pirate"].length;
    
    this.hero["hunter"] = ["Angel", "Arrow", "Blade", "Bringer", "Broadsword", "Chariot", "Comet", "Crown", "Defender", "Eagle", "Fist", "Flame", "Hammer", "Harbinger", "Knight", "Light", "Lord", "Messenger", "Oath", "Pillar", "Shield", "Spark", "Spear", "Star", "Sword", "Thunderbolt", "Token", "Torch", "Vow", "Warrior"];
    this.heroLength["hunter"] = this.hero["hunter"].length;
    
    this.virtue["hunter"] = ["Decency", "Faithfulness", "Freedom", "Glory", "Honesty", "Honour", "Hope", "Integrity", "Justice", "Liberty", "Loyalty", "Nobility", "Perseverance", "Promise", "Purity", "Righteousness", "Truth", "Vengeance", "Virtue", "Wrath"];
    this.virtueLength["hunter"] = this.virtue["hunter"].length;
    
    this.creatureAdjective2 = [" by Moonlight", " by Daylight", " by Starlight", ", Awakening", ", Triumphant", ", Ascending", ", Rising", ", Descending", ", Dreaming", ", Enchanted", ", Weeping", " in Mourning", " at Twilight", " at Sunset", " at Sunrise", " Revealed", " Unmasked", ", Laughing", ", Seeking", " in Repose", ", Reclining", ", Sleeping", ", Dancing", " in Rapture", ", Hunting", ", Questing", " at Play", ", Drowsing", ", Joyful", " in Love", " in Glory", " in Chains", " in Ecstasy", " at Midnight", " in Winter", " in Summer", " in Springtime", " in Autumn", " at Dusk", " at Nightfall", " in Witchspace", " at Rest", " in Despair", " in Sunlight", " in Vacuum", " in Armour", " in Harness", ", Meditating", ", Leaping", ", Flying", " in Readiness", ", Raging", " in Limbo", " in Paradise", " in Heaven", " in Hell", " in Hades", " at Prayer", " of the Night", " of the Dawn", " of Morning", " of Evening", " of the Century", " of the Ages", " in Eternity", " in Amber", ", Quiescent", " at Peace", " at War", " in Motley", " in Tartan", " in Silk", " in Velvet", " in Satin", " in White", " in Black", " in Blue", " in Red", " in Scarlet", " in Crimson", " in Green", " in Purple", " in Carmine", " in Pink", " in Viridian", " in Gold", " in Silver", " in Quicksilver", " in Steel", " in Bronze", " in Iron", " in Brass", " in Vermillion", " in Orange", " in Yellow", " in Victory", " in Defeat", ", Ashamed", ", Victorious", " of Mystery", " of Joy", " in Splendour", " in Combat", ", Singing", " of Sorrow", " of Folly", " of Secrets", " in Perpetuity", " at Daybreak", " in Darkness", " in Solitude", " in Silence"];
    this.creatureAdjective2Length = this.creatureAdjective2.length;

    this.pirateName = ["Blackbeard", "Scavenger", randomName(), expandDescription("[nom1]"), "Sparrow", "Long John Silver", expandDescription("[nom1]"), "Drake", "Fletcher", "Sandokan", "Redbeard", "Stortebecker", "Vlad", "Bluebeard", "Raleigh", "Wynne", "Henry Morgan", "Buccaneer", "Flint", "Captain Blood", "Henry Every", "Calico Jack"];
    this.pirateNameLength = this.pirateName.length;
    
    this.piratePossession = ["Blade", "Bones", "Bride", "Chest", "Curse", "Dagger", "Daughter", "Den", "Desire", "Destiny", "Eyepatch", "Fame", "Flag", "Fury", "Glory", "Gold", "Gun", "Haven", "Heart", "Hide", "Honour", "Hook", "Island", "Lair", "Lash", "Loot", "Love", "Mast", "Parrot", "Plunder", "Pride", "Prize", "Quest", "Rage", "Rapier", "Revenge", "Sabre", "Sail", "Sea", "Ship", "Silver", "Skull", "Song", "Soul", "Sword", "Treasure", "Vow", "Wrath"];
    this.piratePossessionLength = this.piratePossession.length;
    
    this.pirateSynonym = ["Assassin", "Bandit", "Brigand", "Buccaneer", "Corsair", "Criminal", "Crook", "Cutthroat", "Desperado", "Felon", "Freebooter", "Fugitive", "Gangster", "Goon", "Gunman", "Henchman", "Lawbreaker", "Mafioso", "Marauder", "Miscreant", "Murderer", "Offender", "Outlaw", "Pirate", "Racketeer", "Raider", "Renegade", "Ruffian", "Scoundrel", "Scum", "Terrorist", "Thug", "Vandal", "Villain", "Yardbird"];
    this.pirateSynonymLength = this.pirateSynonym.length;
    
    this.fearSynonym = ["Adversary", "Annihilation", "Arch Enemy", "Assailant", "Bad News", "Challenge", "Collapse", "Curse", "Death", "Defeat", "Demise", "Desolation", "Despair", "Destruction", "Doom", "Downfall", "Dread", "Elimination", "End", "Enemy", "Executioner", "Fall", "Fate", "Fear", "Final Shot", "Foe", "Judge and Executioner", "Last Farewell", "Misery", "Misfortune", "Nemesis", "Nightmare", "Punishment", "Ruin", "Sorrow", "Torment", "Undoing", "Waterloo", "Worst Fear", "Worst Nightmare"];
    this.fearSynonymLength = this.fearSynonym.length;
    
    this.article = ["", "The ", "", "", ""];
    this.articleLength = 5;

    this.nominalPrefix = ["S.S. ", "Starship ", "The ", "Starboat "];
    this.nominalPrefixLength = this.nominalPrefix.length;
    
    this.conjunction = [" and ", " or ", " and "];
    this.conjunctionLength = this.conjunction.length;
    
    this.femaleTitle = ["", "", "Lady ", "", "", "Lady ", "", "", "Sweet ", "", "", "Darling ", "", "", "Sultana ", "", "", "Princess ", "", "", "My Sweet ", "", "", "Queen ", "", "", "Dame ", "", "", "The Dragon ", "", "", "The Angel ", "", "", "The Asura ", "", "", "The Witch ", "", "", "The Sorceress ", "", "", "The Enchantress ", "", "", "The Saint ", "", "", "The Oracle ", "", "", "The Prophet ", "", "", "The Sphinx ", "", "", "The Vixen ", "", "", "The Lioness ", "", "", "The Tigress ", "", "", "The She-Wolf ", "", "", "The Mermaid ", "", "", "The Naiad ", "", "", "The Dryad ", "", "", "The Nymph ", "", "", "The Undine ", "", "", "The Phantom ", "", "", "The Faery ", "", "", "The Fairy ", "", "", "The Kitten ", "", "", "The Wanderer ", "", "", "The Voyager ", "", "", "The Wayfarer ", "", "", "The Rover ", "", "", "The Traveller ", "", "", "The Ranger ", "", "", "The Judge ", "", "", "The Seraph ", "", "", "The Goddess ", "", "", "Empress ", "", "", "The Vagabond ", "", "", "The Priestess ", "", "", "The Harper ", "", "", "The Poet ", "", "", "The Artist ", "", "", "The Philosopher ", "", "", "The Rani ", "", "", "The Duchess ", "", "", "The Countess ", "", "", "The Tsarina ", "", "", "The Marquise ", "", "", "The Marchioness ", "", "", "The Troubador ", "", "", "The Trickster ", "", "", "The Comrade ", "", "", "Madam ", "", "", "Baroness ", "", "", "President ", "", "", "Captain ", "", "", "Commodore ", "", "", "Admiral ", "", "", "Commander ", "", "", "Major ", "", "", "General ", "", "", "Pioneer ", "", "", "Ambassador ", "", "", "The Maid ", "", "", "The Maiden ", "", "", "The Matriarch ", "", "", "The Scholar ", "", "", "The Sage ", "", "", "The Savant ", "", "", "The Acrobat ", "", "", "The Girl ", "", "", "The Beautiful ", "", "", "The Martyr ", "", "", "The Imp ", "", "", "Doctor ", "", "", "The Seer ", "", "", "The Bodhisattva ", "", "", "The Demon ", "", "", "The Devil ", "", "", "The Fiend ", "", "", "The Assassin ", "", "", "The Vampire ", "", "", "The Banshee ", "", "", "The Bandit ", "", "", "The Gladiatrix ", "", "", "The Warrior ", "", "", "The Champion ", "", "", "The Kitsune ", "", "", "The Temptress ", "", "", "The Gorgon ", "", "", "The Buccaneer ", "", "", "The Wise-Woman ", "", "", "The Corsair ", "", "", "The Minx ", "", "", "The Werewolf ", "", "", "The Great Goddess ", "", ""];
    this.femaleTitleLength = this.femaleTitle.length;
}

this.$initializeFemaleFirstNames = function()
{
    this.femaleFirstName = [expandDescription("[nom11]"), "Abigail", "Acacia", "Achima", "Ada", "Adelaide", "Adeona", "Adonia", "Adriana", "Aeryn", "Agatha", "Aglaia", "Aidith", "Aiyana", "Alberta", "Alcestis", "Alcmene", "Alemonia", "Aletha", "Alexandra", "Alexis", "Alice", "Alisya", "Alma", "Alpha", "Alyce", "Alyson", "Alyth", "Alyx", "Amalia", "Amalthea", "Amanda", "Amaryllis", "Amber", "Ambrosia", "Amethyst", "Amidala", "Amphitrite", "Amy", "Anastacia", "Anastasia", "Andrea", "Andromeda", "Angel", "Angelique", "Anjelica", "Annabelle", "Anne", "Annona", "Anstey", "Antevorta", "Antigone", "Antiope", "Antonia", "Aphrodite", "Apolonia", "April", "Arachne", "Aretha", "Ariadne", "Ariana", "Artemis", "Arwen", "Asenath", "Ashera", "Ashleigh", "Ashlyn", "Ashtaroth", "Astarte", "Athala", "Athena", "Aubrey", "Augusta", "Aura", "Aurora", "Avalon", "Ayeesha", "Ayn", "Azura", "Barbara", "Barbra", "Bashemath", "Baucis", "Beatrice", "Belinda", "Belle", "Bellona", "Belynda", "Berenice", "Beryl", "Bessy", "Bethany", "Beverly", "Beyla", "Bijou", "Blythe", "Bonnie", "Breanna", "Brittania", "Brunhild", "Bryanna", "Bubona", "Caileigh", "Caitlyn", "Calida", "Calliope", "Callista", "Calypso", "Camilla", "Camryn", "Candyce", "Capucine", "Carina", "Carla", "Carlotta", "Carlyn", "Carmenta", "Caroline", "Carolyn", "Caryn", "Cassandra", "Cassiopeia", "Cathryn", "Catrina", "Caylin", "Cecilia", "Cecily", "Celeste", "Ceres", "Chalice", "Charity", "Charlotte", "Cherilyn", "Cheyenne", "Chloë", "Christina", "Chryssa", "Circe", "Clare", "Clarice", "Clementia", "Clementine", "Cleopatra", "Clytemnestra", "Concordia", "Cornelia", "Cristina", "Crystal", "Cunina", "Cybele", "Cybill", "Cynderella", "Cynthia", "Daffodil", "Dalilah", "Dalya", "Dana", "Daphne", "Darby", "Darleen", "Davina", "Dawn", "Deborah", "Denise", "Destiny", "Devera", "Diana", "Dinah", "Discordia", "Dixie", "Dolores", "Dominica", "Donna", "Dora", "Dorothea", "Eartha", "Ebony", "Edna", "Edwina", "Edith", "Edwyna", "Edyta", "Egeria", "Elaine", "Elanor", "Eleanor", "Electra", "Elizabeth", "Elouise", "Elsa", "Emily", "Empanda", "Emylynn", "Enola", "Eos", "Eowyn", "Epona", "Erica", "Eris", "Eryn", "Estelle", "Esther", "Evelyn", "Fama", "Farah", "Fay", "Felicia", "Feronia", "Fiona", "Flora", "Florence", "Fortuna", "Francine", "Francisca", "Freya", "Freyja", "Gayle", "Gefjun", "Genevieve", "Genoveva", "Georgina", "Gersemi", "Gertrude", "Gilda", "Ginger", "Gladys", "Glenda", "Godiva", "Gretta", "Griseldis", "Guinevere", "Gwenda", "Gwenyth", "Haleigh", "Hannah", "Hariasa", "Harmony", "Harpy", "Harriet", "Hayley", "Hazel", "Heather", "Hecate", "Helena", "Héloïse", "Hemera", "Hera", "Hermione", "Hespera", "Hestia", "Hilary", "Hilda", "Hollie", "Hulda", "Hyacinth", "Hylda", "Ida", "Imogen", "Inanna", "Indira", "Iphigenia", "Iris", "Irma", "Irpa", "Isabel", "Isadora", "Ishtar", "Ishvara", "Isis", "Isolde", "Jacinda", "Jacqueline", "Jaimee", "Jane", "Janet", "Janice", "Jayden", "Jean", "Jesca", "Jessalyn", "Jessica", "Jezebel", "Joan", "Joanne", "Jocelyn", "Jordana", "Juanita", "Judith", "Julia", "Juliette", "Juniper", "Juno", "Justine", "Justitia", "Kaitlynn", "Kalysta", "Karina", "Kassandra", "Katelynn", "Katherine", "Katheryn", "Katrina", "Kayleigh", "Kerstin", "Kimberley", "Klaudia", "Krystina", "Krsztyna", "Lakisha", "Lakshmi", "Lara", "Larentina", "Larissa", "Laura", "Laureen", "Lavender", "Laverna", "Leah", "Leighton", "Leonora", "Letitia", "Liana", "Lilian", "Linda", "Linsay", "Loraine", "Loreley", "Loretta", "Louisa", "Lucina", "Lucy", "Lulu", "Luna", "Lydia", "Lynnette", "Lysandra", "Ma'at", "Mab", "Mabel", "Madalyn", "Madeline", "Madonna", "Magdalene", "Maia", "Makayla", "Maleah", "Malvina", "Marcelyn", "Margaret", "Margot", "Marianne", "Marilyn", "Marissa", "Marjory", "Marlene", "Mary", "Mary Ann", "Mary Beth", "Mathilda", "Maud", "Maude", "Maureen", "May", "Medea", "Meditrina", "Medusa", "Melantha", "Melinda", "Melyssa", "Mercedes", "Michaela", "Mildreth", "Mildryth", "Minerva", "Mira", "Mirabel", "Miranda", "Miryam", "Mnemosyne", "Moira", "Monica", "Morgana", "Morven", "Moyra", "Murcia", "Muriel", "Myriam", "Myrna", "Myrtle", "Nadia", "Nanna", "Natalie", "Nichole", "Noelle", "Norma", "Octavia", "Olyvia", "Oneida", "Ophelia", "Oprah", "Orbona", "Oriana", "Ossia", "Paisley", "Pamela", "Pandora", "Parvati", "Patricia", "Paulene", "Pauline", "Paventia", "Pearl", "Pellonia", "Penelope", "Penina", "Penthesilea", "Perdita", "Persephone", "Petula", "Philippa", "Phoebe", "Phyllis", "Pollyanna", "Pomona", "Portia", "Priscilla", "Proserpina", "Prunella", "Pussycat", "Quanda", "Quanna", "Quianna", "Rachael", "Racquel", "Randomius Factoria", "Raphaela", "Ravenna", "Rebecca", "Regina", "Rhea", "Rheanna", "Rhianna", "Roberta", "Ronda", "Rosalind", "Roseanne", "Rosemary", "Roxanne", "Rubina", "Sabrina", "Salome", "Samantha", "Sarah", "Saraswati", "Scheherazade", "Scylla", "Selene", "Selma", "Shakti", "Sharalyn", "Sharona", "Sheba", "Shelagh", "Shelomith", "Shirlee", "Shulamit", "Sibyl", "Sigyn", "Silvia", "Skylar", "Sofia", "Sonora", "Sophia", "Stephania", "Sue", "Sue Ann", "Sugarbabe", "Susanna", "Suzanne", "Swanhild", "Sweetheart", "Sybil", "Sylvia", "Symphony", "Tabitha", "Tamara", "Tanfana", "Tara", "Terah", "Terpsichore", "Tethys", "Thalia", "Thelma", "Theresa", "Thetis", "Thyrza", "Tiamat", "Tiara", "Timotha", "Tonya", "Trivia", "Ulrica", "Urania", "Urbana", "Uriella", "Ursula", "Valentine", "Valerie", "Vanessa", "Venelia", "Venus", "Veronica", "Verthandi", "Vesta", "Victoria", "Viola", "Violet", "Virginia", "Vivian", "Vivien", "Vivienne", "Volumna", "Wanda", "Wilfreda", "Wilma", "Wynonna", "Xara", "Xylia", "Xylina", "Yolanda", "Yolonda", "Yvonne", "Zandra", "Zelda", "Zelma", "Zipporah", "Zoë"];
    this.femaleFirstNameLength = this.femaleFirstName.length;
}

this.$initializeMaleFirstNames = function()
{
    this.maleFirstName = ["Aaron", "Abbott", "Abe", "Abel", "Abram", "Absalom", "Ackley", "Adam", "Addison", "Adrian", "Ahab", "Ahern", "Aiden", "Al", "Alan", "Alban", "Albert", "Albin", "Aldford", "Aldrich", "Alec", "Aleric", "Alexander", "Alfie", "Alfonzo", "Alfred", "Algernon", "Alic", "Alistair", "Allan", "Allen", "Allyster", "Alvin", "Amery", "Amitai", "Anakin", "Anderson", "Andrew", "Anson", "Anthony", "Archie", "Arne", "Arnold", "Arthur", "Aubrey", "Austen", "Avery", "Bailey", "Baldwin", "Ballard", "Balthazar", "Barker", "Barnaby", "Barney", "Barry", "Bart", "Basil", "Bastian", "Baxter", "Beaumont", "Beelzebub", "Ben", "Benedict", "Benjamin", "Benjy", "Benny", "Benson", "Bentley", "Berkeley", "Bernard", "Bernie", "Bert", "Biff", "Bill", "Billy", "Blaine", "Blake", "Blythe", "Bob", "Bobby", "Brad", "Bradford", "Brady", "Brandon", "Brandt", "Brent", "Brenton", "Brian", "Brien", "Briscoe", "Brock", "Brook", "Bruce", "Bruno", "Brüno", "Bryan", "Buck", "Bud", "Burt", "Burton", "Buster", "Butch", "Byrne", "Byron", "Cade", "Caden", "Cadogan", "Cain", "Calder", "Cale", "Calvin", "Camden", "Cameron", "Campion", "Carey", "Carl", "Carlisle", "Carlton", "Carter", "Carver", "Casey", "Casper", "Cassidy", "Cecil", "Cedric", "Chad", "Chandler", "Charley", "Charlton", "Cherokee", "Chester", "Chet", "Cheyenne", "Chip", "Christian", "Christopher", "Chuck", "Clancy", "Clarence", "Clark", "Clarke", "Clay", "Clem", "Clement", "Cleve", "Cliff", "Clifford", "Clint", "Clinton", "Clive", "Clyde", "Cody", "Colbert", "Colby", "Cole", "Coleman", "Colin", "Colt", "Colton", "Conan", "Connell", "Connor", "Conrad", "Conway", "Cooper", "Corbin", "Cordell", "Corey", "Cory", "Crawford", "Crispian", "Crispin", "Crofton", "Cullen", "Curt", "Cuthbert", "Cy", "Cyril", "Dacey", "Dakota", "Dale", "Daley", "Dalton", "Damian", "Dan", "Dane", "Daniel", "Danny", "Darby", "Darcy", "Darrell", "Darrin", "D'Artagnan", "Darwin", "Dashiell", "Dave", "Davey", "David", "Davy", "Dawson", "Dayton", "Deacon", "Dean", "Dee", "DeForest", "Delaney", "Dell", "Delroy", "Denny", "Denver", "Derek", "Dermot", "Derrick", "Derryl", "Desmond", "Devon", "Dewey", "Dexter", "Dick", "Digby", "Diggory", "Dilbert", "Dillon", "Dolph", "Dom", "Dominic", "Don", "Donald", "Donnie", "Donovan", "Dorian", "Doug", "Dougal", "Doyle", "Drake", "Drew", "Driscoll", "Duane", "Dud", "Dudley", "Duff", "Duffy", "Duggan", "Duke", "Duncan", "Dunn", "Dustin", "Dusty", "Dwayne", "Dwight", "Dylan", "Dyson", "Earl", "Eamon", "Ebby", "Ed", "Eddie", "Eddy", "Edgar", "Edison", "Edmund", "Edson", "Edward", "Edwin", "Egbert", "Ehud", "Elbridge", "Eldred", "Eldridge", "Elgar", "Eli", "Eliah", "Elijah", "Eliott", "Elliot", "Elmer", "Elric", "Elroy", "Elton", "Elvin", "Elwood", "Emerson", "Emery", "Emil", "Emmett", "Emory", "Eric", "Erick", "Ernie", "Errol", "Erwin", "Ethan", "Eugene", "Evan", "Everett", "Fabian", "Farley", "Farquhar", "Fawke", "Fenton", "Ferdy", "Fergal", "Fergie", "Filbert", "Findlay", "Fingal", "Finlay", "Finnegan", "Flann", "Flannery", "Fletcher", "Flint", "Flynn", "Foley", "Fonzie", "Ford", "Foster", "Frank", "Frankie", "Fraser", "Frazier", "Fred", "Freddie", "Fredrik", "Freeman", "Gabriel", "Galahad", "Gale", "Gallagher", "Garey", "Garfield", "Garland", "Garnet", "Garrett", "Gary", "Gaylord", "Gaynor", "Gene", "Geoff", "Geoffrey", "Geordie", "Georgie", "Gerald", "Gerry", "Gideon", "Gil", "Gilbert", "Gilford", "Gillespie", "Gilroy", "Gisbert", "Glen", "Glenn", "Godfrey", "Godwin", "Gordon", "Grady", "Graham", "Gray", "Greg", "Gregory", "Grenville", "Griffin", "Grover", "Guillaume", "Guy", "Haig", "Hal", "Hamilton", "Hamlet", "Haniel", "Hank", "Hanley", "Harcourt", "Harding", "Hardy", "Harlan", "Harley", "Harmon", "Harold", "Harper", "Harry", "Harvey", "Hayden", "Heathcliff", "Hector", "Henry", "Herb", "Herbie", "Herman", "Hewie", "Hillary", "Holden", "Hopkin", "Horatio", "Howard", "Howell", "Howie", "Hudd", "Huey", "Hugh", "Hugo", "Humbert", "Humphrey", "Hunter", "Huxley", "Hyram", "Ike", "Immanuel", "Indiana", "Indigo", "Indy", "Ingram", "Ira", "Irvin", "Irving", "Isa", "Isaac", "Isaiah", "Issachar", "Ivan", "Ivo", "Izzy", "Jack", "Jackie", "Jackson", "Jacob", "Jade", "Jaden", "Jafet", "Jaiden", "Jake", "Jamar", "Jamie", "Jan", "Jared", "Jarod", "Jason", "Jasper", "Jaxon", "Jay", "Jeb", "Jeff", "Jefferson", "Jenkin", "Jephthah", "Jered", "Jeremiah", "Jeremy", "Jericho", "Jerome", "Jerry", "Jesse", "Jethro", "Jim", "Jimmy", "Jo", "Joab", "Job", "Jock", "Joe", "Joel", "Joey", "John", "Johnny", "Jon", "Jona", "Jonathan", "Joram", "Jordan", "Jordi", "Joseph", "Josh", "Joshua", "Juda", "Judd", "Jude", "Julian", "Julien", "Junior", "Justin", "Kade", "Kaden", "Kane", "Kaolin", "Kasey", "Kaspar", "Kay", "Kean", "Kearney", "Keaton", "Keefe", "Keegan", "Keenan", "Kelcey", "Kelley", "Kelvin", "Ken", "Kendall", "Kendrick", "Kennedy", "Kenny", "Kent", "Kenton", "Kerman", "Kermit", "Kerr", "Kerry", "Kevan", "Kevin", "Kid", "Kieran", "Killian", "Kim", "Kimball", "King", "Kingsley", "Kip", "Kirby", "Kirk", "Kit", "Kole", "Korbin", "Kurt", "Lambart", "Lambert", "Lamont", "Lance", "Landon", "Lane", "Lanford", "Langdon", "Lark", "Larkin", "Larry", "Lauren", "Laurie", "Lawrie", "Lawson", "Layton", "Lee", "Leigh", "Leighton", "Leland", "Lem", "Lennon", "Lenny", "Leo", "Leon", "Leonard", "Leopold", "Leroy", "Lesley", "Lester", "Lev", "Levi", "Leyton", "Lincoln", "Lindsey", "Linford", "Lionel", "Lloyd", "London", "Lonnie", "Lorn", "Lorne", "Lou", "Louie", "Lovell", "Lowell", "Lucky", "Luke", "Luther", "Lyle", "Lyndon", "Macbeth", "Macey", "Mack", "Macy", "Madison", "Mahon", "Major", "Malcolm", "Mallory", "Malloy", "Malone", "Manny", "Marco", "Mark", "Marlon", "Marlowe", "Marmaduke", "Marshall", "Martin", "Marty", "Marvin", "Marvyn", "Mason", "Mathew", "Matt", "Matthew", "Maurice", "Maverick", "Maximilian", "Maynard", "McAllister", "McDermot", "McDonald", "McGreavy", "McKenzie", "McMahon", "McMurdoch", "Mead", "Mel", "Melville", "Melvin", "Melvyn", "Merlin", "Merlyn", "Merrick", "Merrill", "Merton", "Merv", "Mervin", "Meryl", "Methuselah", "Michael", "Mick", "Mickey", "Micky", "Mike", "Milburn", "Milford", "Millard", "Milton", "Mitch", "Mitchell", "Mo", "Moe", "Montague", "Monty", "Mordred", "Morgan", "Moriarty", "Morley", "Morrissey", "Mortimer", "Morton", "Morty", "Murdo", "Murdoch", "Murphy", "Murray", "Myron", "Nash", "Nat", "Nathan", "Neal", "Nebuchadnezzar", "Ned", "Neil", "Nelson", "Neo", "Nevada", "Neville", "Newt", "Newton", "Nic", "Nick", "Nicky", "Nigel", "Nimrod", "Niven", "Noah", "Noble", "Noel", "Nolan", "Norm", "Norman", "Norton", "Norwood", "O'Brian", "O'Brien", "O'Connor", "O'Henry", "O'Malley", "O'Neal", "O'Reilly", "O'Sullivan", "Obed", "Oberon", "Ocean", "Odell", "Ogden", "Oli", "Oliver", "Ollie", "Omar", "Orian", "Ormond", "Orrell", "Orson", "Orton", "Orville", "Osborn", "Osbourne", "Oscar", "Osgood", "Osman", "Ossian", "Oswald", "Othello", "Owen", "Ozzy", "Paddy", "Page", "Paisley", "Palmer", "Parker", "Parry", "Pat", "Patrick", "Patsy", "Paul", "Paulie", "Percival", "Percy", "Perry", "Pete", "Peter", "Phil", "Philander", "Philip", "Phillip", "Philo", "Pierce", "Pierre", "Pip", "Piper", "Pippin", "Placid", "Pompey", "Porter", "Preston", "Price", "Prince", "Prosper", "Quentin", "Quincey", "Quinlan", "Quinn", "Radcliff", "Radley", "Rae", "Rafe", "Raleigh", "Ralph", "Ralphie", "Randall", "Randolf", "Randolph", "Randy", "Raven", "Ray", "Raymond", "Raymund", "Reagan", "Redd", "Redmond", "Reece", "Reed", "Reg", "Reggie", "Reginald", "Reid", "Reilly", "Reuben", "Reynard", "Rhett", "Rich", "Richard", "Richie", "Rick", "Ricky", "Ridley", "Rigby", "Riley", "Rio", "Ripley", "Ritchie", "Rob", "Robbie", "Robert", "Robin", "Rocky", "Rod", "Roddy", "Roderic", "Rodger", "Rodney", "Roger", "Rohan", "Rolf", "Rolland", "Rollo", "Roman", "Ron", "Ronald", "Ronnie", "Ronny", "Rory", "Roscoe", "Rowan", "Rowland", "Rowlay", "Roy", "Royal", "Royle", "Royston", "Rube", "Rubic", "Ruby", "Rudolph", "Rudy", "Rudyard", "Russell", "Rusty", "Ryan", "Ryley", "Sachie", "Saladin", "Salmon", "Sam", "Sammy", "Samson", "Samuel", "Sander", "Sandford", "Sandy", "Sawyer", "Saxon", "Schuyler", "Scott", "Scotty", "Seamour", "Sean", "Seb", "Sebastian", "Sefton", "Selby", "Seth", "Seymour", "Shallum", "Shamus", "Shane", "Shannon", "Shaquille", "Shaul", "Shaun", "Shaw", "Shawn", "Shayne", "Shea", "Shelby", "Sheldon", "Shelley", "Shelton", "Sheridan", "Sherlock", "Sherman", "Sherwood", "Shimi", "Shylock", "Sib", "Sibald", "Sid", "Sidney", "Silvester", "Sim", "Simeon", "Simon", "Sinclair", "Siward", "Skuyler", "Sky", "Skylar", "Slade", "Sloan", "Sloane", "Sly", "Sol", "Solomon", "Sonny", "Spencer", "Spike", "Stacey", "Stacy", "Stafford", "Stan", "Standish", "Stanford", "Stanley", "Steph", "Stephen", "Sterling", "Steve", "Steven", "Stew", "Stewart", "Stirling", "Stu", "Stuart", "Sullivan", "Sunny", "Sweeney", "Sybald", "Syd", "Sydney", "Sylvester", "Tad", "Taffy", "Talbot", "Tanner", "Taskill", "Tate", "Taylor", "Ted", "Teddy", "Temple", "Tenney", "Tennyson", "Terence", "Terrance", "Terry", "Tex", "Thad", "Thane", "Theo", "Theobald", "Theodore", "Thierry", "Thom", "Thorley", "Thornton", "Thurston", "Tiarnan", "Tibby", "Tiernan", "Tierney", "Tim", "Timmy", "Timo", "Timothy", "Tobiah", "Tobin", "Toby", "Tod", "Todd", "Tolbert", "Tolly", "Tom", "Tommie", "Tommy", "Tony", "Topher", "Tracey", "Tracy", "Trafford", "Tranter", "Trent", "Trenton", "Trev", "Trevor", "Trey", "Tristan", "Tristram", "Troy", "Truman", "Tucker", "Tucson", "Tudor", "Turlough", "Ty", "Tybalt", "Tyler", "Tyrell", "Tyrone", "Tyson", "Ulick", "Ulric", "Ulrick", "Ultan", "Upton", "Urban", "Uri", "Uria", "Urian", "Uriel", "Val", "Valentine", "Van", "Vance", "Vere", "Vergil", "Verne", "Vernon", "Vester", "Vic", "Vick", "Victor", "Vin", "Vince", "Vincent", "Virgil", "Vortigern", "Wade", "Walker", "Wallace", "Wally", "Walt", "Walter", "Walton", "Ward", "Warner", "Warren", "Warwick", "Washington", "Watkin", "Watson", "Watt", "Wayland", "Wayne", "Weaver", "Webster", "Weldon", "Wendel", "Wesley", "Westley", "Weston", "Whitaker", "Whitney", "Wil", "Wilbur", "Wilburn", "Wiley", "Wilf", "Wilford", "Wilfred", "Wilhelm", "Will", "Willard", "William", "Willoughby", "Willy", "Wilmer", "Wilmot", "Wilson", "Wilton", "Win", "Windsor", "Winfred", "Winslow", "Winston", "Winthrop", "Wolf", "Wolfe", "Woodrow", "Woody", "Wright", "Wyatt", "Wymund", "Wynn", "Xan", "Xavier", "Yancey", "Yarwood", "York", "Ywain", "Zachariah", "Zach", "Zachary", "Zack", "Zadok", "Zalmon", "Zander", "Zebediah", "Zeph", "Zion", "Zubin"];
    this.maleFirstNameLength = this.maleFirstName.length;
}

this.$initializeStandalonePhrasesAggressive = function()
{
    this.standalonePhrase["aggressive"] = ["Dancers at the End of Time", "An Alien Heat", "Hollow Lands", "End Of All Songs", "Fireclown", "Winds of Limbo", "Alchemist's Question", "Behold the Man", "Breakfast in the Ruins", "Byzantium Endures", "City in the Autumn Stars", "Condition of Muzak", "Cornelius Quartet", "Cure for Cancer", "Entropy Tango", "Final Programme", "Gloriana", "Jewel in the Skull", "Laughter of Carthage", "Mad God's Amulet", "Phoenix in Obsidian", "War Hound", "World's Pain", "Time Dweller", "Bird in the Hand", "Drop in the Ocean", "Fly in the Ointment", "House Divided", "Nest of Vipers", "Multitude of Sins", "Sign of the Times", "Last Argument of Kings", "Thorn in the Flesh", "Two-Edged Sword", "Voice in the Wilderness", "All Flesh is Grass", "My Brother's Keeper", "Eye for an Eye", "Tooth for a Tooth", "Reap the Whirlwind", "So Shall Ye Reap", "Wits' End", "Baptism of Fire", "Ploughshares into Swords", "Bite the Dust", "Skin of Your Teeth", "Sweat of Your Brow", "Cast the First Stone", "Pearls Before Swine", "Ashes to Ashes", "Dust to Dust", "Fallen From Grace", "Feet of Clay", "Forbidden Fruit", "Give Up the Ghost", "How Are the Mighty Fallen", "Lamb to the Slaughter", "For Whom the Bell Tolls", "Root of All Evil", "No Rest for the Wicked", "Heart's Desire", "All is Vanity", "Heal Thyself", "Sour Grapes", "Tender Mercy", "Powers That Be", "Heart of the Matter", "Heat of the Moment", "Under the Sun", "Wages of Sin", "Pauper's Plot", "Microcosm", "Ash, Ash", "Graveyard Cross", "Magic Man", "On the Inside", "Time Beyond Age", "Small Event", "Touch of a Vanished Hand", "In the Valley of the Statues", "Earth And Stone", "Mythago Wood", "Where Time Winds Blow", "Phantom of the Valley", "Manchanged", "Walking on the Shores of Time", "Dark Wheel", "Boy Who Jumped Rapids", "Thorn", "Scarrowfell", "Shapechanger", "Time of the Tree", "Bone Forest", "Ragthorn", "Silvering", "Infantasm", "Eye Among the Blind", "Earthwind", "Ancient Echoes", "Swordsmistress of Chaos", "Time of Ghosts", "Lord of the Shadows", "Cry Wolf", "Lavondyss", "Merlin's Wood", "Gate of Ivory, Gate of Horn", "Avilion", "Flow My Tears", "Night's Black Bird", "Sad Infamy", "Fit For the Gods", "Fool's Paradise", "Foregone Conclusion", "Ministering Angel", "A Rose By Any Other Name", "Sorry Sight", "All One To Me", "All That Glisters", "Brief Candle", "Fell Swoop", "Come What May", "Comparisons Are Odious", "Cry Havoc", "Dogs of War", "Better Part of Valour", "Turn of the Tide", "Fair Play", "Fancy Free", "Foul Play", "Good Riddance", "Give The Devil His Due", "Thankless Child", "Charmed Life", "Love is Blind", "Written on the Wind", "Milk of Human Kindness", "Strange Bedfellow", "More Fool You", "Much Ado About Nothing", "Measure For Measure", "Night Owl", "Winter of Discontent", "That Way Madness Lies", "Once More Unto The Breach", "Pound of Flesh", "Short Shrift", "This Mortal Coil", "Still Waters Run Deep", "Star-Crossed", "Crack of Doom", "Outrageous Fortune", "Method In My Madness", "Midsummer Madness", "Paint the Lily", "Perchance to Dream", "Too Much of a Good Thing", "Truth Will Out", "Uneasy Lies the Head", "Up In Arms", "We Happy Few", "Band of Brothers", "When Sorrows Come", "He Who Waits", "All's Fair in Love and War", "Another Day, Another Dollar", "Bad News Travels Fast", "Eye of the Beholder", "Beggars Can't be Choosers", "Better Late Than Never", "Better Safe Than Sorry", "Better The Devil You Know", "Curse The Darkness", "Seize The Day", "Business Before Pleasure", "Count Your Blessings", "Devil Take The Hindmost", "Every Little Helps", "Fair Exchange", "Finders Keepers", "First Come, First Served", "First Things First", "Fools Rush In", "Fortune Favours The Brave", "Last Laugh", "Pay The Piper", "Hope Springs Eternal", "If The Shoe Fits", "Ignorance Is Bliss", "To Catch A Thief", "It Takes Two To Tango", "Spilt Milk", "Judge Not", "Chin Up", "Look Before You Leap", "Might Makes Right", "Misery Loves Company", "Money Talks", "Mother of Invention", "Needs Must", "No Pain, No Gain", "Death and Taxes", "Nothing Ventured, Nothing Gained", "Not Fade Away", "Once Bitten, Twice Shy", "Opportunity Knocks", "Power Corrupts", "Thief of Time", "Best Served Cold", "Revenge is Sweet", "See No Evil", "Hear No Evil", "Speak No Evil", "Silence Is Golden", "The Bottom Line", "Honour Among Thieves", "No Fool Like An Old Fool", "No Smoke Without Fire", "Free Lunch", "No Time Like The Present", "One Born Every Minute", "Third Time Lucky", "Tomorrow Never Comes", "Waste Not Want Not", "Swings And Roundabouts", "You Can't Win Them All", "For a Fistful of Credits", "The Outsider", "Pride and Prejudice", "The Catcher in the Rye", "Lord of Misrule", "Bite the Dust", "Bitter Pill", "Bad Medicine", "Basket Case", "Bite the Bullet", "More Than You Can Chew", "Cold Shoulder", "Lesser of Two Evils", "Black Sheep", "Bone of Contention", "Cat and Mouse", "Crocodile Tears", "Cloak and Dagger", "Devil's Advocate", "Forbidden Fruit", "Gilding the Lily", "Hail Fellow Well Met", "Hobson's Choice", "Jump the Gun", "Chalk and Cheese", "Oil and Water", "Lion's Share", "My Bad", "Quick and the Dead", "Rabble Rouser", "Rags to Riches", "Real McCoy", "School of Hard Knocks", "Pie in the Sky", "Smoke and Mirrors", "Speak of the Devil", "Stalking Horse", "Stir Crazy", "Cabin Fever", "Sweetness and Light", "Last Straw", "Tall Tale", "Living Daylights", "Tilting at Windmills", "Tired and Emotional", "Tongue in Cheek", "Trip the Light Fantastic", "Up in Arms", "Something Wicked This Way Comes", "Hallowe'en Tree", "Death is a Lonely Business", "Graveyard for Lunatics", "From the Dust Returned", "Farewell Summer", "Dark Carnival", "October Country", "Medicine for Melancholy", "Small Assassin", "Tomorrow Midnight", "Last Circus", "Memory of Murder", "Quicker Than The Eye", "Deadlier Than The Male", "Sound of Thunder", "Hard Rain", "Ashes of His Youth", "Time's Winged Chariot", "For Whom the Bell Tolls", "Stranger, Ask Not", "Fearful Symmetry", "Widows of Ashur", "La Belle Dame Sans Merci", "Come, Friendly Bombs", "Nevermore", "Do Not Go Gentle", "That Old Lie", "What Rough Beast", "Collateral Damage", "Extreme Prejudice", "Meet Your Maker", "Unnecessary Use of Violence", "Necessary Use of Violence", "Excalibur", "Hrunting", "Durendal", "Chrysaor", "Sanglamore", "Kusanagi", "Thuan Thien", "Legbiter", "Grus", "Joyeuse", "Tizona", "Colada", "Lobera", "Szczerbiec", "Zulfiqar", "Caladbolg", "Caledfwlch", "Fragarach", "Moralltach", "Beagalltach", "Dyrnwyn", "Mimung", "Nagelring", "Balmung", "Galatine", "Angurvadal", "Laevateinn", "Tyrfing", "Hofud", "Skofnung", "Balisarda", "Sauvagine", "Gungnir", "Ascalon", "Trishula", "Kongo", "Gae Bolga", "Gandiva", "Pinaka", "Saranga", "Brahmastra", "Nike", "Thanatos", "Horror Vacui", "Parcel of Rogues", "MacPherson's Rant", "Stealth Overture", "Electro Glide in Blue", "Vanishing Point", "Tears of the Gods", "Carrera Rapida", "Pain in Any Language", "Raw Power", "The Weight of Years", "One Way or Another", "Die Young Stay Pretty", "Don't Fear the Reaper", "I Love the Night", "Born Slippy", "Diamonds in the Rough", "Born to Lose", "Smoke and Ashes", "Hard Wired", "Midnight Madness", "I Fought The Law", "King of Kings", "Let's Dance", "Time Will Tell", "All This Fun Is Killing Me", "Self Pity Waltz", "Dark Was the Night", "Candy Man Blues", "Rollin' and Scratchin'", "The End of Words", "The Garden of Zephirus", "Bad Attitude", "The Devil's Right Hand", "Snake Oil", "Right Here, Right Now", "Everybody Loves a Carnival", "Sho Nuff", "Una Música Brutal", "War Party", "Happy Hour", "Revenge of Scorpio", "Cold and Bitter Tears", "Watch Your Step", "Bring It On Home", "Nowhere to Run", "Strange Fruit", "Some Other Spring", "Future Imperfect", "All Mod Cons", "In the Midnight Hour", "Going Underground", "Protect and Survive", "No Woman No Cry", "Eve of Destruction", "Eine Kleine Nachtmusik", "Perpetuum Mobile", "Enter the Dragon", "Different Class", "Walk on the Wild Side", "Red Red Wine", "Police and Thieves", "Everybody Hurts", "Three Minute Hero", "Celebrate the Bullet", "No Regrets", "Mother Knows Best", "No More Heroes", "Dance with the Devil", "Lonely Days", "Save the Last Dance", "Ram Goat Liver", "Rock the Boat", "When I Grow Up", "The Secret to a Long Life", "Don't Ask Don't Tell", "Elaborate Sabotage", "Road to Nowhere", "Once in a Lifetime", "Seen and Not Seen", "Personality Crisis", "Another Girl, Another Planet", "Teenage Kicks", "Grimly Fiendish", "Boys Don't Cry", "Whiskey in the Jar", "Look What The Wind Blew In", "Old Moon Madness", "Broken Dreams", "Bad to the Bone", "Long Gone", "Too Much Too Young", "Children of the Revolution", "Solid Gold Easy Action", "Laser Love", "Courage and Faith", "By Courage, Not Craft", "The Eagle Does Not Catch Flies", "The Heron Seeks High Places", "By Skill and Valour", "Fortune Favours the Bold", "The Right Fight", "Strength Gives Glory", "The Wounds of Life", "Touch Not The Cat", "Never Forget", "Danger is Sweet", "Suffer Bravely", "Deeds Not Words", "Consider the End", "Let Majesty Flourish", "Like Lightning", "Generous in Victory", "The Sword is the Muse of Muses", "Death Before Dishonour", "Neither Spare Nor Scorn", "Touch Me Not", "Clemency in Power", "A Steadfast Heart", "Remember Your Promises", "Learn to Endure", "While I Breathe, I Hope", "They Shine in Darkness", "Remember the Ancestors", "Yield Not to Adversity", "Nothing Brighter Than The Stars", "First and Last", "Catch As Catch Can", "Royal Is My Race"];
    this.standalonePhraseLength["aggressive"] = this.standalonePhrase["aggressive"].length;
}

this.$initializeStandalonePhrasesPeaceful = function()
{
    this.standalonePhrase["peaceful"] = ["Dancers at the End of Time", "An Alien Heat", "Hollow Lands", "End Of All Songs", "Fireclown", "Winds of Limbo", "Alchemist's Question", "Behold the Man", "Breakfast in the Ruins", "Byzantium Endures", "City in the Autumn Stars", "Condition of Muzak", "Cornelius Quartet", "Cure for Cancer", "Entropy Tango", "Final Programme", "Gloriana", "Jewel in the Skull", "Laughter of Carthage", "Mad God's Amulet", "Phoenix in Obsidian", "War Hound", "World's Pain", "Time Dweller", "Bird in the Hand", "Drop in the Ocean", "Labour of Love", "Sign of the Times", "Soft Answer", "Voice in the Wilderness", "All Flesh is Grass", "My Brother's Keeper", "Wits' End", "Swords into Ploughshares", "Sweat of Your Brow", "Pearls Before Swine", "Fat of the Land", "Feet of Clay", "Forbidden Fruit", "Heart's Desire", "All is Vanity", "Heal Thyself", "Tender Mercy", "Heart of the Matter", "Heat of the Moment", "Under the Sun", "Salt of the Earth", "Pauper's Plot", "Microcosm", "Ash, Ash", "Graveyard Cross", "Magic Man", "On the Inside", "Time Beyond Age", "Small Event", "Touch of a Vanished Hand", "In the Valley of the Statues", "Earth And Stone", "Mythago Wood", "Where Time Winds Blow", "Phantom of the Valley", "Manchanged", "Walking on the Shores of Time", "Dark Wheel", "Boy Who Jumped Rapids", "Thorn", "Scarrowfell", "Shapechanger", "Time of the Tree", "Bone Forest", "Ragthorn", "Silvering", "Infantasm", "Eye Among the Blind", "Earthwind", "Ancient Echoes", "Lavondyss", "Merlin's Wood", "Gate of Ivory, Gate of Horn", "Avilion", "Flow My Tears", "Night's Black Bird", "Sad Infamy", "Fit For the Gods", "Fool's Paradise", "Foregone Conclusion", "Ministering Angel", "A Rose By Any Other Name", "Sorry Sight", "All One To Me", "All That Glisters", "Brief Candle", "Come What May", "Comparisons Are Odious", "Better Part of Valour", "Turn of the Tide", "Fair Play", "Fancy Free", "Charmed Life", "Love is Blind", "Written on the Wind", "Milk of Human Kindness", "Strange Bedfellow", "More Fool You", "Much Ado About Nothing", "Measure For Measure", "Night Owl", "Short Shrift", "Still Waters Run Deep", "Star-Crossed", "Quality of Mercy", "Outrageous Fortune", "Method In My Madness", "Midsummer Madness", "Paint the Lily", "Perchance to Dream", "Too Much of a Good Thing", "Truth Will Out", "Any Port in a Storm", "Another Day, Another Dollar", "All's Well That Ends Well", "Eye of the Beholder", "Beggars Can't be Choosers", "Better Late Than Never", "Better Safe Than Sorry", "Better The Devil You Know", "Seize The Day", "Business Before Pleasure", "Count Your Blessings", "Crime Doesn't Pay", "Devil Take The Hindmost", "New Wine in Old Bottles", "Eat, Drink And Be Merry", "Every Little Helps", "Fair Exchange", "Finders Keepers", "First Come, First Served", "First Things First", "Fools Rush In", "Fortune Favours The Brave", "Last Laugh", "Pay The Piper", "Hope Springs Eternal", "If The Shoe Fits", "Ignorance Is Bliss", "It Takes Two To Tango", "Spilt Milk", "Judge Not", "Chin Up", "Look Before You Leap", "Money Talks", "Mother of Invention", "Needs Must", "No Pain, No Gain", "Death and Taxes", "Nothing Ventured, Nothing Gained", "Not Fade Away", "Once Bitten, Twice Shy", "Opportunity Knocks", "Silence Is Golden", "The Bottom Line", "No Fool Like An Old Fool", "No Smoke Without Fire", "Free Lunch", "No Time Like The Present", "One Born Every Minute", "Third Time Lucky", "Tomorrow Never Comes", "Waste Not Want Not", "Swings And Roundabouts", "You Can't Win Them All", "Gone With The Wind", "Portrait of the Artist", "Wuthering Heights", "Jane Eyre", "Sense and Sensibility", "Once Upon A Time On Earth", "Once Upon A Time In Lave", "Bite the Bullet", "More Than You Can Chew", "Cold Shoulder", "All Singing, All Dancing", "Apples and Oranges", "As The Crow Flies", "Bone of Contention", "Cat and Mouse", "Elephant in the Room", "Fatted Calf", "Forbidden Fruit", "Gilding the Lily", "Cum Grano Salis", "Hail Fellow Well Met", "Hobson's Choice", "Humble Pie", "Jump the Gun", "Chalk and Cheese", "Oil and Water", "Lion's Share", "Quick and the Dead", "Rags to Riches", "Real McCoy", "Pie in the Sky", "Smoke and Mirrors", "Stir Crazy", "Cabin Fever", "Sweetness and Light", "Last Straw", "Tall Tale", "Living Daylights", "Tilting at Windmills", "Tired and Emotional", "Tongue in Cheek", "Trip the Light Fantastic", "Up in Arms", "Dandelion Wine", "Farewell Summer", "Golden Apples of the Sun", "October Country", "Medicine for Melancholy", "Tomorrow Midnight", "I Sing The Body Electric", "Last Circus", "One Timeless Spring", "Toynbee Convector", "Quicker Than The Eye", "One More For The Road", "Cat's Pyjamas", "Bee's Knees", "Sound of Thunder", "There Will Come Soft Rains", "Hard Rain", "Sun and Shadow", "To Temptation Slow", "Slow to Anger", "Ashes of His Youth", "Time's Winged Chariot", "For Whom the Bell Tolls", "Stranger, Ask Not", "World Enough, And Time", "Milk of Paradise", "La Belle Dame Sans Merci", "Nevermore", "Do Not Go Gentle", "That Old Lie", "Chapter and Verse", "Aurora Borealis", "Aldebaran", "Arcturus", "Algol", "Alioth", "Altair", "Deneb", "Fomalhaut", "Polaris", "Pollux", "Regulus", "Rigel", "Runaway Star", "Sirius", "Spica", "Vega", "Andromeda", "Aquarius", "Aquila", "Auriga", "Boötes", "Capricornus", "Cassiopeia", "Centaurus", "Cepheus", "Corona Borealis", "Cygnus", "Delphinus", "Draco", "Leo Minor", "Orion", "Pegasus", "Perseus", "Pictor", "Pisces", "Sagittarius", "Scorpius", "Serpens", "Sextans", "Taurus", "Ursa Major", "Ursa Minor", "Virgo", "Apate", "Bia", "Charites", "Eris", "Eros", "Harmonia", "Horae", "Hypnos", "Kratos", "Metis", "Mnemosyne", "Moirai", "Morpheus", "Nemesis", "Themis", "Zelos", "Calliope", "Clio", "Erato", "Euterpe", "Melpomene", "Polyhymnia", "Terpsichore", "Thalia", "Urania", "Ae Fond Kiss", "Timorous Beastie", "I Murder Hate", "Electro Glide in Blue", "Vanishing Point", "Tears of the Gods", "Carrera Rapida", "The Weight of Years", "One Way or Another", "Sunday Girl", "Heart of Glass", "I Love the Night", "Born Slippy", "Big Spender", "Diamonds in the Rough", "Nearest Thing to Heaven", "Midnight Madness", "King of Kings", "Let's Dance", "Let Your Yeah Be Yeah", "Time Will Tell", "Waiting for the Miracle", "All This Fun Is Killing Me", "Self Pity Waltz", "Paradise and Lunch", "The Bourgeois Blues", "Dark Was the Night", "Candy Man Blues", "Rollin' and Scratchin'", "The End of Words", "The Garden of Zephirus", "Right Here, Right Now", "Everybody Loves a Carnival", "Sho Nuff", "Happy Hour", "Cold and Bitter Tears", "Watch Your Step", "Bring It On Home", "Nowhere to Run", "Strange Fruit", "Some Other Spring", "Rattle of a Simple Man", "Future Imperfect", "All Mod Cons", "In the Midnight Hour", "Going Underground", "Protect and Survive", "No Woman No Cry", "Eine Kleine Nachtmusik", "Perpetuum Mobile", "Different Class", "Walk on the Wild Side", "Red Red Wine", "Everybody Hurts", "Three Minute Hero", "No Regrets", "Mother Knows Best", "No More Heroes", "Dance with the Devil", "Lonely Days", "Save the Last Dance", "Ram Goat Liver", "Rock the Boat", "When I Grow Up", "The Secret to a Long Life", "Don't Ask Don't Tell", "Road to Nowhere", "Once in a Lifetime", "Seen and Not Seen", "Personality Crisis", "Another Girl, Another Planet", "Teenage Kicks", "Boys Don't Cry", "Whiskey in the Jar", "Look What The Wind Blew In", "Old Moon Madness", "Broken Dreams", "Long Gone", "Too Much Too Young", "Children of the Revolution", "Solid Gold Easy Action", "From Thee, For Thee", "Nothing Without Labour", "Friendship Gives Honour", "Love Proved", "I Love as I Find", "By Skill Not Force", "A Good Conscience is the Best Shield", "By Truth and Diligence", "Trust in Fair Dealing", "Fortune is Joined to Bravery", "By Wisdom, Not Rashness", "Steady and Faithful", "Heart and Hand", "Stick By The Truth", "Industry Makes Riches", "In Science Truth, In Art Honour", "Love Conquers All", "I Live in Hope", "I Rise Through Hardship", "Know Thyself", "A Steadfast Heart", "Remember Your Promises", "Learn to Endure", "While I Breathe, I Hope", "They Shine in Darkness", "Remember the Ancestors", "Yield Not to Adversity", "Nothing Brighter Than The Stars", "First and Last", "Catch As Catch Can", "Royal Is My Race"];
    this.standalonePhraseLength["peaceful"] = this.standalonePhrase["peaceful"].length;
}

this.$initializeStandalonePhrasesPirate = function()
{
    this.standalonePhrase["pirate"] = ["Jolly Roger", "Firefight", "Destroyer", "Grim Reaper", "Your Cargo's Mine", "Terrorizer", "Game Over", "Press Space Commander", "Extractor", "Furball", "Big Eater", "Cargo Extractor", "Big Bang", "St Elmo's Fire", "Scarface", "Freebooter", "Buccaneer", "Corsair", "Hellhound", "Hellfire", "Cap'n Hector", "Fatal Attraction", "Excessive Force", "All Hell Breaking Loose", "Rattlesnake", "Starfox", "Moloch", "Cat o'Nine Tails", "Prodigal Son", "Endgame", "Calliope", "Blood Music", "The Silence Of The Lambs", "Consider Phlebas", "The Player of Games", "Use of Weapons", "Against a Dark Background", "Feersum Endjinn", "Inversions", "Vacuum Flowers", "Griffin's Egg", "The Illustrated Man", "Helliconia Winter", "Neuromancer", "Count Zero", "All Tomorrow's Parties", "Schismatrix", "Iron Council", "Psychoraag", "Stone Junction", "Globalhead", "The Last Coin", "The Gray Prince", "Irregular Apocalypse", "Profit Margin", "The Ends Of Invention", "Screw Loose", "Flexible Demeanour", "Of Course I Still Love You", "Limiting Factor", "Little Rascal", "So Much For Subtlety", "Unfortunate Conflict Of Evidence", "Youthful Indiscretion", "Just Testing", "Kiss My Ass", "Size Isn't Everything", "Different Tan", "Fate Amenable To Change", "Grey Area", "Jaundiced Outlook", "Problem Child", "Reasonable Excuse", "Tactical Grace", "Unacceptable Behaviour", "Steely Glint", "Shoot Them Later", "Heavy Messing", "Death and Gravity", "Ethics Gradient", "Honest Mistake", "No Fixed Abode", "Uninvited Guest", "Misophist", "Not Invented Here", "I Blame My Mother", "I Blame Your Mother", "Appeal To Reason", "Within Reason", "Kiss The Blade", "Frightspear", "Furious Purpose", "Riptalon", "SacSlicer", "Full Refund", "Bad For Business", "Arbitrary", "Cantankerous", "Only Slightly Bent", "I Thought He Was With You", "Space Monster", "Never Talk To Strangers", "Funny, It Worked Last Time...", "Boo!", "Arrested Development", "Credibility Problem", "Dramatic Exit, Or, Thank you And Goodnight", "God Told Me To Do It", "Helpless In The Face Of Your Beauty", "Heresiarch", "Just Another Victim Of The Ambient Morality", "Perfidy", "Sacrificial Victim", "Stranger Here Myself", "The Precise Nature Of The Catastrophe", "Unwitting Accomplice", "Undesirable Alien", "You Would If You Really Loved Me", "Nuisance Value", "Vulgarian", "All Through With This Niceness And Negotiation Stuff", "Someone Else's Problem", "Lacking That Small Match Temperament", "I Said, I've Got A Big Stick", "But Who's Counting?", "We Haven't Met But You're A Great Fan Of Mine", "All The Same, I Saw It First", "Zero Credibility", "Charming But Irrational", "Demented But Determined", "Thorough But ... Unreliable", "Conventional Wisdom", "In One Ear", "I Blame The Parents", "Inappropriate Response", "A Momentary Lapse Of Sanity", "Reformed Nice Guy", "Injury Time", "Now Look What You've Made Me Do", "Lasting Damage", "Don't Try This At Home", "It's My Party And I'll Sing If I Want To", "Lightly Seared On The Reality Grill", "Now We Try It My Way", "Liveware Problem", "Pure Big Mad Boat Man", "Seed Drill", "Subtle Shift In Emphasis", "Xenoglossicist", "The Hundredth Idiot", "Now, Turning to Reason, & Its Just Sweetness", "Me, I'm Counting", "Hidden Income", "Falling Outside The Normal Moral Constraints", "No One Knows What The Dead Think", "Pelagian", "Fixed Grin", "Labtebricolephile", "Dressed Up To Party", "Ucalegon", "Fractious Person", "Rubric Of Ruin", "Abundance Of Onslaught", "Vision Of Hope Surpassed", "Deepest Regrets", "Obliterating Angel", "Resistance Is Futile", "The Gambler", "The Honest Thief", "Terminated With Extreme Prejudice", "The Winner Takes All", "No Regrets", "Je Ne Regrette Rien", "Rage Against The Machine", "Horror Vacui", "Bad Attitude", "The Devil's Right Hand", "Snake Oil", "Cold and Bitter Tears", "Bring It On Home", "Nowhere to Run", "Eve of Destruction", "Walk on the Wild Side", "Broken Dreams", "Bad to the Bone", "Seize the Day", "What Will Be Will Be"];
    this.standalonePhraseLength["pirate"] = this.standalonePhrase["pirate"].length;
}

this.$initializeStandalonePhrasesHunter = function()
{
    this.standalonePhrase["hunter"] = ["Be Careful What You Wish For", "Randomius Factoria", "Raxxla", "You Ain't Seen Nothing Yet", "Peacekeeper", "Endgame", "The Rose Wars", "Bravura In The Face Of Grief", "Excessive Force", "Never Surrender", "The Dark Wheel", "Status Quo", "Mutabilis", "Incursio", "Finis", "Schism", "Nine", "Ascension", "Replay", "The Virtuous Misfortune", "Local Midnight In the Vacuum Bar", "Rise of the Kirin", "Negotiations of Failure", "Coyote", "Kaxgar", "The Ipsiolon Treat", "Herald's End", "Vakume Danserz", "Carver's Anarchy", "Anguis Primus", "Alien Items", "Pasquale's Angel", "Eternal Light", "Consider Phlebas", "The Player of Games", "Use of Weapons", "The State of the Art", "Feersum Endjinn", "Excession", "Inversions", "The Algebraist", "Surface Detail", "Mythago Wood", "Vacuum Flowers", "Griffin's Egg", "The Illustrated Man", "Cosmonaut Keep", "Newton's Wake", "Helliconia Summer", "Neuromancer", "Count Zero", "Singularity Sky", "Burning Chrome", "New Model Army", "The Master and Margarita", "Long After Midnight", "Globalhead", "Galileo's Dream", "The Land of Laughs", "The Last Coin", "The Gray Prince", "The Eyes of the Overworld", "Nervous Energy", "Prosthetic Conscience", "No More Mr Nice Guy", "Profit Margin", "The Hand of God", "Just Read The Instructions", "Limiting Factor", "Cargo Cult", "Little Rascal", "Gunboat Diplomat", "Zealot", "Just Testing", "Xenophobe", "What Are The Civilian Applications?", "Congenital Optimist", "Kiss My Ass", "Size Isn't Everything", "Grey Area", "It's Character Forming", "Recent Convert", "Steely Glint", "Highpoint", "Attitude Adjuster", "Killing Time", "Frank Exchange Of Views", "The Anticipation Of A New Lover's Arrival", "Quietly Confident", "Use Psychology", "What Is The Answer And Why?", "Wisdom Like Silence", "Yawning Angel", "Serious Callers Only", "Charitable View", "Appeal To Reason", "Break Even", "Peace Makes Plenty", "Sober Counsel", "Furious Purpose", "Wingclipper", "Xenoclast", "Only Slightly Bent", "A Series Of Unlikely Explanations", "Ultimate Ship The Second", "Ablation", "Excuses And Accusations", "Halation Effect", "Happy Idiot Talk", "Minority Report", "Not Wanted On Voyage", "Synchronize Your Dogmas", "Well I Was In The Neighbourhood", "You'll Thank Me Later", "Winter Storm", "Piety", "Sanctioned Parts List", "Resistance Is Character-Forming", "Poke It With A Stick", "Hand Me The Gun And Ask Me Again", "Germane Riposte", "Ravished By The Sheer Implausibility Of That Last Statement", "You May Not Be The Coolest Person Here", "Lucid Nonsense", "Awkward Customer", "Advanced Case Of Chronic Patheticism", "Conventional Wisdom", "Fine Till You Came Along", "Lapsed Pacifist", "Pride Comes Before A Fall", "Kiss This Then", "Lasting Damage", "Don't Try This At Home", "Eight Rounds Rapid", "Transient Atmospheric Phenomenon", "You Naughty Monsters", "You'll Clean That Up Before You Leave", "Hence the Fortress", "Sense Amid Madness, Wit Amidst Folly", "Me, I'm Counting", "Scar Glamour", "Partial Photic Boundary", "Obliterating Angel", "Samurai", "A Dish Best Served Cold", "War and Peace", "Crime and Punishment", "Humiliated and Insulted", "The Brothers Karamazov", "Law and Order", "Terminated With Extreme Prejudice", "Justified Use of Force", "Mirzam", "Antares", "Betelgeuse", "Castor", "Canis Major", "Canis Minor", "Right Here, Right Now", "Watch Your Step", "Nowhere to Run", "Enter the Dragon", "Police and Thieves", "Everybody Hurts", "Three Minute Hero", "Celebrate the Bullet", "Children of the Revolution", "Faithful to the End", "Love and Honour", "The Anchor of Salvation"];
    this.standalonePhraseLength["hunter"] = this.standalonePhrase["hunter"].length;
}

this.$initializeStandalonePhrasesBulkHauler = function()
{
    this.standalonePhrase["bulkHauler"] = ["Bigger Than You", "Kiss My Fat Behind", "Slow Runner", "Always Rollin'", "Easy Pickings", "The Fish In The Barrel", "Rubber Duck", "The Lazy Lump", "Kaa", "Pig Pen", "Overhaul", "Lady Of The Sky", "Big Bruiser", "The Retirement Plan", "Amazing Grace", "Diso Diva", "Lucky Lucy", "Too Slow To Blow", "Continental Drift", "Slow But Sure", "Cannon Fodder", "Long Timer", "Impatient Virgin", "Tigger Too", "Gallumping Pachyderm", "Tried and True", "Tokyo Geysha", "Crab Hauler", "Late Again", "Moving Target", "Dawn Trader", "Beetle Bomb", "SpaceGhost", "Cheap Trickster", "Stuck Together Again", "Space Ferry", "Lonesome Duck", "Undisputed", "Dreamboat Annie", "Mass Locker", "Packed to Capacity", "Rolling Roadblock", "One More Pod", "Star Whale", "The Greek Roadblock", "Spruce Moose", "Convoy", "The Sighing Wind", "Big Mac", "Long and Hard", "Big Pappa", "Space Mountain", "Flying Brick", "Double Rainbow", "Slow and Steady", "Overdrive", "Kilroy", "Hammerdown", "Gotten Lost", "Inera Or Bust", "Star Trucker's Paradise", "Passing Through", "Glad This Damned Thing Doesn't Run On Petrol", "Seagull", "Hot Pot", "Pork Pie", "Queasy Rider", "Point One Four", "Slow and Steady", "The Big Squeeze", "Indelable Gorge", "Heavy Metal Queen", "Prime Mover", "Long Vehicle", "We Brake For Nobody", "Gentle Giant", "Mons Olympus", "El Gordo", "Small Wonder", "Fat Chance", "Stout Effort", "A Girl of Slender Means", "Round Trip", "Twiggy", "Big Bertha", "Slim Pickings", "It's My Glands", "Big-Boned", "Tubby Trucker", "Room For A Small One", "Move Up", "Budge Over", "Make Room! Make Room!", "Chubby Checker", "Fats Domino", "Wide Load", "Fattypuff", "Thinifer", "Obelix", "Growth Spurt", "Puppy Fat", "Round Robin", "Large Marge", "Sumo", "Who Ate All The Pies?", "Fridge Magnet", "Gutbucket", "Thick and Thin", "Beefy", "Goliath", "Gargantua", "Pantagruel", "Brobdingnag", "Lilliput", "Long Way Round", "Heavy Weather", "Small Porgies", "Small Beer", "Sheik Yerbouti", "Shake It Don't Break It", "Yow Mamma", "Mr Creosote", "Sweaty Betty", "Lando Calrissian", "Right of Way", "Sweet Cheeks", "Tiny Tim", "Fatty Boom Boom", "Warrior of the Waistband", "Buster Bloodvessel", "Chunky Monkey", "Healthy Appetite", "Retaining Water", "No Stranger to a Fish Supper", "Well-Upholstered", "I Brake For Asteroids", "Nippy Sweetie", "Wait Until I Sing", "Showboat", "Rotundaria", "May Settle in Transit", "Proud To Be Stout", "Little Titch", "Heavyweight Hauler", "Chips With Everything", "Lumpy", "Minnow", "Tiddler", "Sweet Trolley", "Eventually", "Flash", "Speedy", "Jinky", "Continental Drifter", "Pardon My Posterior", "Heffalump", "Adipose Annie", "Beanpole", "Salad Dodger", "Dairy Queen", "Ponderosa", "Jam Tomorrow", "Blockbuster", "Burly Bustard", "Skinny Jean", "Enor Mouse", "Jolly Rancher", "Jelly Baby", "Shrimp", "Lazy Susan", "Call-Me-Cuddly", "Quarter-Pounder", "Happy Hippo", "Staines Massive", "Mo' Mentum", "Gloria Monday", "Fat Tuesday", "Comfortably Numb", "Fat Hen", "What's Your Hurry?", "Halfpint", "Dinner Lady", "The Weighted Companion Cube", "Cinderella", "Snow White And The Six Dwarfs", "Size Matters", "Size Does Matter", "Who Said Size Doesn't Matter?", "Gardens of the Sun", "Look to Windward", "The Algebraist", "Matter", "Stations of the Tide", "Engine City", "Newton's Wake", "Helliconia Spring", "Mona Lisa Overdrive", "All Tomorrow's Parties", "Accelerando", "Long After Midnight", "The Machineries of Joy", "The World Between", "Big Planet", "Bora Horza Gobuchul", "Profit Margin", "Trade Surplus", "Cargo Cult", "Kiss My Ass", "Size Isn't Everything", "Sweet and Full of Grace", "Limivorous", "Just Passing Through", "Long View", "Peace Makes Plenty", "Big Sexy Beast", "Ultimate Ship The Second", "It'll Be Over By Christmas", "A Ship With A View", "Soulhaven", "Bodhisattva", "Total Internal Reflection", "Armchair Traveller", "Elephant in the Room", "Fatted Calf", "Pig in a Poke", "Pork Barrel", "Small Potatoes", "Magnum", "Jeroboam", "Rehoboam", "Methuselah", "Mordechai", "Salmanazar", "Balthazar", "Nebuchadnezzar", "Melchior", "Solomon", "Primat", "Melchizedek", "Horror Vacui"];
    this.standalonePhraseLength["bulkHauler"] = this.standalonePhrase["bulkHauler"].length;
}

this.$initializeStandalonePhrasesMedical = function()
{
    this.standalonePhrase["medical"] = ["Mercy", "Comfort", "Hospitaller", "St Rene Goupil", "St Blaise", "St Eligius", "St Cosmas", "St Damian", "St Gemma Galgani", "St James", "St Mary Magdalen", "St Nicholas of Myra", "St Raphael", "St Januarius", "St Apollonia", "St Foillan", "St Martha", "St Joseph Moscati", "St Luke", "St Pantaleon", "St Brigid", "St Basil", "St Frances Xavier Cabrini", "St Paul", "St Camillus of Lellis", "St John", "St Jude Thaddeus", "St Vincent de Paul", "St Camillus", "St Elizabeth", "St Erhard", "St Raymond", "St Albertus", "St Agatha", "St Alexius", "St Catherine", "St Margaret", "St Michael", "St Roch", "St Panteleimon", "Asklepios", "Hygieia", "Iaso", "Aceso", "Aglaea", "Panacea", "Vediovis", "Agni", "Soma", "Hypnos", "Mary Jane", "Sister of Mercy", "Consolation", "Solace", "Sympathy", "Charity", "Indica", "Bambalacha", "Toot", "Daily Apple", "Playful Pancreas", "Bones", "Struck Off and Die", "Sawbones", "Quack", "Leech", "Croaker", "Heal Thyself", "Your Life in Their Hands", "Their Knife in Your Glands", "Best Medicine", "Normal For Norfolk", "Code Blue", "Cheerful Heart", "Tea and Sympathy", "Death and Dr Hornbrook", "Mens Sana", "Corpore Sano", "Vita Brevis", "Florence", "Nightingale", "Florence Nightingale", "Mary Seacole", "Sara Josephine Baker", "Jenner", "Galen", "Hippocrates", "Averroes", "Ibn Rushd", "Imhotep", "Hesy-Ra", "Peseshet", "Sushruta", "Alcmaeon", "Herophilus", "Oribasius", "Al-Kindi", "Avicenna", "Ibn Sina", "Abulcasis", "Semmelweis", "Pasteur", "Midnight Toker", "Hippocratic Oath", "Alexander Fleming", "Apollonius", "Chiron", "Fleam", "Clyster", "Lancet", "Scalpel", "Flashing Forceps", "Silver Suture", "Purple Poultice", "Écraseur", "Probang", "Rongeur", "Rougine", "Red Retractor", "Curette", "Tenaculum", "Trephine", "Doctor's Orders", "Trust Me - I'm a Doctor", "Cough, Please", "Pumpkin Positive", "T.E.E.T.H.", "Rubber Mallet", "Silver Stethoscope", "Cold Spoon", "Crash Cart", "Blues and Twos", "Oh Matron", "Foreign Body", "Violet Ventilator", "Alder", "Angelica", "Anise", "Arnica", "Buckbean", "Carraway", "Centaury", "Camomile", "Chervil", "Chickweed", "Chicory", "Clove", "Coltsfoot", "Comfrey", "Coriander", "Cowbane", "Cowslip", "Cypress", "Elecampane", "Fennel", "Gentian", "Hyssop", "Juniper", "Lovage", "Mallow", "Monkshood", "Mugwort", "Nutmeg", "Oregano", "Sorrel", "Squill", "Sweet Cicely", "Tansy", "Thyme", "Tormentil", "Valerian", "Vervain", "Yarrow", "St Zenaida", "St Philonella", "St Tryphon", "St Thalelaeus", "St Samson", "St Luka", "Sauerbruch"];
    this.standalonePhraseLength["medical"] = this.standalonePhrase["medical"].length;
}


/* sub-functions for name creation */

this.$article = function()
{
    return this.article[Math.floor(Math.random() * this.articleLength)];
}

this.$femaleName = function()
{
    var random = Math.floor(Math.random() * this.femaleFirstNameLength);
    var name = this.femaleFirstName[random];
    // once chosen, the name is deleted from the list until ending the game or re-initializing the list 
    // except for the first entry, which is a random name itself
    if(random > 0)
    {
        this.femaleFirstName.splice(random, 1);
        this.femaleFirstNameLength--;
    }
    return name;
}

this.$maleName = function()
{
    var random = Math.floor(Math.random() * this.maleFirstNameLength);
    var name = this.maleFirstName[random];
    // once chosen, the name is deleted from the list until ending the game or re-initializing the list 
    this.maleFirstName.splice(random, 1);
    this.maleFirstNameLength--;
    return name;
}

this.$ownerName = function()
{
    var nameChoice = Math.ceil(Math.random() * 6);
    switch(nameChoice)
    {
        case 1:
        case 3:
        case 6:
            var name = this.$maleName();
            break;
            
        case 2:
            var name = this.$femaleName();
            break;
            
        case 4:
            var name = expandDescription("[nom1]");
            break;
            
        case 5:
            var name = randomName();
    }
    // apostrophe handling depending on last character
    if(name.slice(name.length - 1) === "s") name += "'";
    else if(name.slice(name.length - 1) === "’" || name.slice(name.length - 1) === "'") name += "s";
    else name += "'s";
    return name;
}

this.$romanNumeral = function()
{
    var name = ["", "", " II", "", "", "", " II", "", "", "", " II", "", "", " II", "", "", "", " III", "", "", "", " III", "", "", "", " IV", "", "", "", " V", "", "", "", " VI", "", "", "", " VII", "", "", "",  " II", "", "", "", " III", "", "", "", " II", "", "", "", " III", "", ""];
    return name[Math.floor(Math.random() * 56)];
}

this.$capitalLetter = function()
{
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return alphabet.substr(Math.floor(Math.random() * 26), 1);
}

this.$nearbySystemName = function(range, ship)
{
    if(ship.primaryRole === "shuttle" || ship.primaryRole === "scavenger" || ship.primaryRole === "miner" || Math.random() < 0.12)
    {
        return system.name;
    }
    var nearbySystems = system.info.systemsInRange(range);
    var nearbySystemsLength = nearbySystems.length;
    if(nearbySystemsLength === 0) return;
    return nearbySystems[Math.floor(Math.random() * nearbySystemsLength)].name;
}

this.$ofNearbySystem = function(name, range, ship)
{
    var nearbySystemName = this.$nearbySystemName(range, ship);
    if(nearbySystemName) name += " of " + nearbySystemName;
    return name;
}

this.$typeCreature = function(affiliation, ship)
{
    var name = this.creature[affiliation][(Math.floor(Math.random() * this.creatureLength[affiliation]))];
    if(Math.random() < 0.2)
    {
        name = "The " + name + this.creatureAdjective2[(Math.floor(Math.random() * this.creatureAdjective2Length))];
        return name;
    }
    if(Math.random() < 0.4)
    {
        name = this.creatureAdjective[affiliation][(Math.floor(Math.random() * this.creatureAdjectiveLength[affiliation]))] + " " + name;
    }
    var possessive = Math.random();
    if(possessive < 0.3)
    {
        name = this.$ownerName() + " " + name;
    }
    else if(possessive > 0.7)
    {
        name = this.$ofNearbySystem(name, 10, ship);
    }
    else
    {
        name = this.$article() + name;
    }
    name += this.$romanNumeral();
    return name;
}

this.$typeNonCreature = function(affiliation, ship)
{
    var name = this.nonCreatureStandalone[affiliation][(Math.floor(Math.random() * this.nonCreatureStandaloneLength[affiliation]))];
    if(Math.random() < 0.4)
    {
        name = this.generalAdjective[affiliation][(Math.floor(Math.random() * this.generalAdjectiveLength[affiliation]))] + " " + name;
    }
    var possessive = Math.random();
    if(possessive < 0.3)
    {
        name = this.$ownerName() + " " + name;
    }
    else if(possessive > 0.7)
    {
        name = this.$ofNearbySystem(name, 10, ship);
    }
    else
    {
        name = this.$article() + name;
    }
    name += this.$romanNumeral();
    return name;
}

this.$typeNonCreatureCombined = function(affiliation, ship)
{
    var name = this.nonCreatureCombined[affiliation][(Math.floor(Math.random() * this.nonCreatureCombinedLength[affiliation]))];
    if(Math.random() < 0.5)
    {
        name = this.generalAdjective[affiliation][(Math.floor(Math.random() * this.generalAdjectiveLength[affiliation]))] + " " + name;
        if(Math.random() < 0.5)
        {
            name = this.$article() + name + this.$romanNumeral();
            return name;
        }
    }
    if(Math.random() < 0.5)
    {
        name = this.$ownerName() + " " + name;
    }
    else
    {
        name = this.$article() + this.$ofNearbySystem(name, 10, ship);
    }
    name += this.$romanNumeral();
    return name;
}

this.$typeNonCreatureOfTheCreature = function(affiliation, ship)
{
    if(Math.random() < 0.5)
    {
        var name = this.nonCreatureStandalone[affiliation][(Math.floor(Math.random() * this.nonCreatureStandaloneLength[affiliation]))];
    }
    else
    {
        var name = this.nonCreatureCombined[affiliation][(Math.floor(Math.random() * this.nonCreatureCombinedLength[affiliation]))];
    }
    name += " of the ";
    var adjective = Math.random();
    if(adjective < 0.3)
    {
        name = this.generalAdjective[affiliation][(Math.floor(Math.random() * this.generalAdjectiveLength[affiliation]))] + " " + name;
    }
    else if(adjective > 0.7)
    {
        name += this.creatureAdjective[affiliation][(Math.floor(Math.random() * this.creatureAdjectiveLength[affiliation]))] + " ";
    }
    name += this.creature[affiliation][(Math.floor(Math.random() * this.creatureLength[affiliation]))];
    var possessive = Math.random();
    if(possessive < 0.3)
    {
        name = this.$ownerName() + " " + name;
    }
    else if(possessive > 0.7)
    {
        name = this.$ofNearbySystem(name, 10, ship);
    }
    else
    {
        name = this.$article() + name;
    }
    name += this.$romanNumeral();
    return name;
}

this.$typeCreaturesNonCreature = function(affiliation)
{
    var name = this.creature[affiliation][(Math.floor(Math.random() * this.creatureLength[affiliation]))] + "'s ";
    var adjective = Math.random();
    if(adjective < 0.3)
    {
        name += this.generalAdjective[affiliation][(Math.floor(Math.random() * this.generalAdjectiveLength[affiliation]))] + " ";
    }
    else if(adjective > 0.7)
    {
        name = this.creatureAdjective[affiliation][(Math.floor(Math.random() * this.creatureAdjectiveLength[affiliation]))] + " " + name;
    }
    name = "The " + name;
    if(Math.random() < 0.5)
    {
        name += this.nonCreatureStandalone[affiliation][(Math.floor(Math.random() * this.nonCreatureStandaloneLength[affiliation]))];
    }
    else
    {
        name += this.nonCreatureCombined[affiliation][(Math.floor(Math.random() * this.nonCreatureCombinedLength[affiliation]))];
    }
    name += this.$romanNumeral();
    return name;
}

this.$typePirateCombined = function(ship)
{
    var name = this.$article() + this.generalAdjective["pirate"][(Math.floor(Math.random() * this.generalAdjectiveLength["pirate"]))] + " " + this.nonCreatureCombined["pirate"][(Math.floor(Math.random() * this.nonCreatureCombinedLength["pirate"]))];
    if(Math.random() < 0.25)
    {
        name = this.$ofNearbySystem(name, 10, ship);
    }
    name += this.$romanNumeral();
    return name;
}

this.$typeHeroOfVirtue = function(role)
{
    var name = this.$article() + this.hero[role][Math.floor(Math.random() * this.heroLength[role])] + " of " + this.virtue[role][Math.floor(Math.random() * this.virtueLength[role])] + this.$romanNumeral();
    return name;
}

this.$typeMaru = function(range, ship)
{
    var name = this.$article() + this.$nearbySystemName(range, ship) + " Maru" + this.$romanNumeral();
    return name;
}

this.$typeFemaleName = function()
{
    var name = this.femaleTitle[(Math.floor(Math.random() * this.femaleTitleLength))] + this.$femaleName() + this.$romanNumeral();
    return name;
}

this.$typeNominalAdjective = function(affiliation)
{
    var name = this.nominalPrefix[(Math.floor(Math.random() * this.nominalPrefixLength))] + this.nominalAdjective[affiliation][(Math.floor(Math.random() * this.nominalAdjectiveLength[affiliation]))] + this.$romanNumeral();
    return name;
}

this.$typeTwoNominalAdjectives = function(affiliation)
{
    var name = this.nominalAdjective[affiliation][(Math.floor(Math.random() * this.nominalAdjectiveLength[affiliation]))];
    if(Math.random() < 0.33)
    {
        name += ", or " + this.nominalAdjective[affiliation][(Math.floor(Math.random() * this.nominalAdjectiveLength[affiliation]))] + "?";
    }
    else
    {
        name += " and " + this.nominalAdjective[affiliation][(Math.floor(Math.random() * this.nominalAdjectiveLength[affiliation]))] + this.$romanNumeral();
    }
    return name;
}

this.$typeTwoCreatures = function(affiliation)
{
    var articleOrNot = Math.round(Math.random());
    var name = this.article[articleOrNot] + this.creature[affiliation][(Math.floor(Math.random() * this.creatureLength[affiliation]))] + this.conjunction[(Math.floor(Math.random() * this.conjunctionLength))] + this.article[articleOrNot].toLowerCase() + this.creature[affiliation][(Math.floor(Math.random() * this.creatureLength[affiliation]))] + this.$romanNumeral();
    return name;
}

this.$typePiratesPossession = function()
{
    var name = this.pirateName[(Math.floor(Math.random() * this.pirateNameLength))] + "'s " + this.piratePossession[(Math.floor(Math.random() * this.piratePossessionLength))] + this.$romanNumeral();
    return name;
}

this.$typePiratesFear = function()
{
    var name = this.pirateSynonym[(Math.floor(Math.random() * this.pirateSynonymLength))] + "'s " + this.fearSynonym[(Math.floor(Math.random() * this.fearSynonymLength))] + this.$romanNumeral();
    return name;
}

this.$typeStandalonePhrase = function(type)
{
    // common routine for all standalone phrases
    var random = Math.floor(Math.random() * this.standalonePhraseLength[type]);
    var name = this.standalonePhrase[type][random] + this.$romanNumeral();
    // each phrase is only chosen once, afterwards it's deleted from the list
    // until ending the game or re-initializing the list
    this.standalonePhrase[type].splice(random, 1);
    this.standalonePhraseLength[type]--;
    return name;
}


/* main functions */

this.$randomPirateName = function(ship)
{
    // first we give pirates a name
    // to avoid repetition there are 15 different naming schemes with different weights
    var randomNameScheme = Math.ceil(Math.random() * 25);
    switch(randomNameScheme)
    {
        case 1:
        case 11:
            var randomShipName = this.$typePiratesPossession();
            break;
        
        case 2:
        case 12:
            var randomShipName = this.$typeHeroOfVirtue("pirate");
            break;
        
        case 3:
        case 13:
            var randomShipName = this.$typePirateCombined(ship);
            break;
        
        case 10:
            var randomShipName = this.$typeStandalonePhrase("pirate");
            break;
        
        case 4:
        case 14:
        case 24:
            var randomShipName = this.$typeCreature("aggressive", ship);
            break;
        
        case 5:
        case 15:
            var randomShipName = this.$typeNonCreature("aggressive", ship);
            break;
        
        case 6:
        case 16:
            var randomShipName = this.$typeNonCreatureCombined("aggressive", ship);
            break;
        
        case 7:
        case 17:
            var randomShipName = this.$typeNonCreatureOfTheCreature("aggressive", ship);
            break;
        
        case 20:
            var randomShipName = this.$typeCreaturesNonCreature("aggressive");
            break;
        
        case 8:
        case 18:
            var randomShipName = this.$typeFemaleName();
            break;
        
        case 21:
            if(ship.owner) var randomShipName = this.$typeMaru(30, ship);
            else var randomShipName = this.$typeMaru(10, ship);
            break;
        
        case 9:
        case 19:
            var randomShipName = this.$typeNominalAdjective("aggressive");
            break;
        
        case 22:
            var randomShipName = this.$typeStandalonePhrase("aggressive");
            break;
        
        case 23:
            var randomShipName = this.$typeTwoNominalAdjectives("aggressive");
            break;
        
        case 25:
            var randomShipName = this.$typeTwoCreatures("aggressive");
            break;
    }
    return randomShipName;
}

this.$randomHunterName = function(ship)
{
    // for bounty hunters and escorts of traders there are 14 working naming schemes with different weights
    var randomNameScheme = Math.ceil(Math.random() * 27);
    switch(randomNameScheme)
    {
        case 1:
        case 11:
        case 21:
            var randomShipName = this.$typeHeroOfVirtue("hunter");
            break;
        
        case 2:
        case 12:
            var randomShipName = this.$typePiratesFear();
            break;
        
        case 3:
        case 13:
        case 23:
            var randomShipName = this.$typeCreature("aggressive", ship);
            break;
        
        case 4:
        case 14:
        case 24:
            var randomShipName = this.$typeNonCreature("aggressive", ship);
            break;
        
        case 5:
        case 15:
        case 25:
            var randomShipName = this.$typeNonCreatureCombined("aggressive", ship);
            break;
        
        case 6:
        case 16:
            var randomShipName = this.$typeNonCreatureOfTheCreature("aggressive", ship);
            break;
        
        case 10:
            var randomShipName = this.$typeCreaturesNonCreature("aggressive");
            break;
        
        case 7:
        case 17:
            var randomShipName = this.$typeFemaleName();
            break;
        
        case 20:
            if(ship.owner) var randomShipName = this.$typeMaru(30, ship);
            else var randomShipName = this.$typeMaru(7, ship);
            break;
        
        case 8:
        case 18:
            var randomShipName = this.$typeNominalAdjective("aggressive");
            break;
        
        case 22:
            var randomShipName = this.$typeStandalonePhrase("hunter");
            break;
        
        case 26:
            var randomShipName = this.$typeStandalonePhrase("aggressive");
            break;
        
        case 9:
        case 19:
            var randomShipName = this.$typeTwoNominalAdjectives("aggressive");
            break;
        
        case 27:
            var randomShipName = this.$typeTwoCreatures("aggressive");
            break;
    }
    return randomShipName;
}

this.$randomPoliceName = function(ship)
{
    // police and military ships get a letter-and-numbers designation scheme
    var randomShipNumber = Math.ceil(Math.random() * 999).toString();
    var randomShipName = this.$capitalLetter() + this.$capitalLetter() + this.$capitalLetter() + "000".substr(0, 3 - randomShipNumber.length) + randomShipNumber + "-";
    if(ship.scanClass === "CLASS_MILITARY" || system.isInterstellarSpace || (ship.owner && ship.owner.hasRole("behemoth"))) randomShipName += "N";
    else randomShipName += system.name.substr(0, 2).toUpperCase();
    randomShipName += galaxyNumber + 1;
    return randomShipName;
}

this.$randomRockhermitName = function(ship)
{
    // rock hermits get a name, too
    var randomShipName = this.$ownerName() + " " + this.nonCreatureCombined["rockhermit"][(Math.floor(Math.random() * this.nonCreatureCombinedLength["rockhermit"]))];
    return randomShipName;
}

this.$randomTraderName = function(ship)
{
    // for traders there are eleven different naming schemes with different weights
    var randomNameScheme = Math.ceil(Math.random() * 21);
    switch(randomNameScheme)
    {
        case 1:
        case 11:
        case 19:
            var randomShipName = this.$typeCreature("peaceful", ship);
            break;
        
        case 2:
        case 12:
            if(ship.name.search(/medical/i) !== -1 || ship.name.search(/hospital/i) !== -1)
            {
                var randomShipName = this.$typeStandalonePhrase("medical");
                break;                    
            }
            if(ship.mass > 400000)
            {
                var randomShipName = this.$typeStandalonePhrase("bulkHauler");
                break;                    
            }
        case 20:
            var randomShipName = this.$typeNonCreature("peaceful", ship);
            break;
        
        case 3:
        case 13:
        case 21:
            var randomShipName = this.$typeNonCreatureCombined("peaceful", ship);
            break;
        
        case 4:
        case 14:
            var randomShipName = this.$typeNonCreatureOfTheCreature("peaceful", ship);
            break;
        
        case 8:
            var randomShipName = this.$typeCreaturesNonCreature("peaceful");
            break;
        
        case 5:
        case 15:
            var randomShipName = this.$typeFemaleName();
            break;
        
        case 9:
            var randomShipName = this.$typeMaru(10, ship);
            break;
        
        case 6:
        case 16:
            var randomShipName = this.$typeNominalAdjective("peaceful");
            break;
        
        case 7:
        case 17:
            var randomShipName = this.$typeStandalonePhrase("peaceful");
            break;
        
        case 10:
            var randomShipName = this.$typeTwoNominalAdjectives("peaceful");
            break;
        
        case 18:
            var randomShipName = this.$typeTwoCreatures("peaceful");
            break;
    }
    return randomShipName;
}


/* event handlers */

this.startUp = function()
{
    this.generalAdjective = new Array;
    this.generalAdjectiveLength = new Array;
    this.creatureAdjective = new Array;
    this.creatureAdjectiveLength = new Array;
    this.nominalAdjective = new Array;
    this.nominalAdjectiveLength = new Array;
    this.creature = new Array;
    this.creatureLength = new Array;
    this.nonCreatureStandalone = new Array;
    this.nonCreatureStandaloneLength = new Array;
    this.nonCreatureCombined = new Array;
    this.nonCreatureCombinedLength = new Array;
    this.hero = new Array;
    this.heroLength = new Array;
    this.virtue = new Array;
    this.virtueLength = new Array;
    this.standalonePhrase = new Array;
    this.standalonePhraseLength = new Array;
    
    // the rock hermit list is initialized ...
    this.rockHermitList = new Array(256);
    for(var i=0; i<256; i++)
    {
        this.rockHermitList[i] = new Array;
    }
    // and retrieved from the save game, if it already exists
    if(missionVariables.randomshipnames_rockhermits)
    {
        this.rockHermitList = JSON.parse(missionVariables.randomshipnames_rockhermits);
    }
    
    this.$initializeWordLists();
}

this.shipSpawned = function(ship)
{
    // certain entities are excluded
    if(ship.isCargo || ship.isBoulder || ship.isThargoid || ship.scanClass === "CLASS_STATION" || ship.isWeapon || ship.isPlayer || (ship.scriptInfo.randomshipnames && ship.scriptInfo.randomshipnames === "no")) return;
    if(ship.primaryRole === "random_hits_patrol" || ship.hasRole("vector") || ship.hasRole("dredgers") || ship.primaryRole === "rescue_freighter" || ship.hasRole("vortex_NPC") || ship.hasRole("vortex_maelstrom_NPC") || ship.hasRole("aquatics_hammerHead") || ship.hasRole("liners_emerald") || ship.hasRole("liners_tigershark") || ship.hasRole("liners_smivs-liner") || ship.hasRole("TCAT_raptor") || ship.hasRole("generationship") || ship.hasRole("random_hits_markguard_weak") || ship.hasRole("random_hits_markguard_medium") || ship.hasRole("random_hits_markguard_strong") || ship.hasRole("stellarSerpent")) return;
    // ships which already have a separator which indicates an individual name are excluded
    if(ship.displayName.substr(0, 4) === "RRS " || ship.displayName.indexOf(":") !== -1 || ship.displayName.indexOf("~") !== -1 || ship.displayName.indexOf(" - ") !== -1) return;
    // the renegades.oxp ships and some assassins.oxp ships get a generic role together with their custom role
    if(ship.primaryRole === "hardpirate" || ship.primaryRole === "unlocked3" || ship.primaryRole === "unlocked8" || ship.primaryRole === "unlocked9" || ship.primaryRole === "unlocked10")
    {
        ship.primaryRole = "pirate";
    }
    // only ordinary pirates, hunters, traders, shuttles, scavengers, miners, police, military (and their escorts) and rock hermits are affected; this should exclude most special OXP ships
    // pirates and their escorts
    if(ship.isPirate || (ship.owner && ship.owner.isPirate) || ship.primaryRole === "ups-slavecobra" || ship.primaryRole === "taxi_pirate" || (ship.scriptInfo.randomshipnames && ship.scriptInfo.randomshipnames === "pirate"))
    {
        ship.displayName += ": " + this.$randomPirateName(ship);
        return;
    }
    // police and military
    if(ship.isPolice || ship.scanClass === "CLASS_MILITARY" || (ship.scriptInfo.randomshipnames && (ship.scriptInfo.randomshipnames === "police" || ship.scriptInfo.randomshipnames === "military")))
    {
        ship.displayName += ": " + this.$randomPoliceName(ship);
        return;
    }
    // hunters, defense ships, escorts, and some special ships
    if(ship.primaryRole === "hunter" || ship.primaryRole === "defense_ship" || ship.hasRole("vector_revenge") || ship.hasRole("togy-patrol") || (ship.owner && (ship.owner.isPirateVictim || ship.owner.primaryRole === "hunter" || ship.owner.hasRole("vector"))) || (ship.scriptInfo.randomshipnames && ship.scriptInfo.randomshipnames === "hunter"))
    {
        ship.displayName += ": " + this.$randomHunterName(ship);
        return;
    }
    // rock hermits
    if(ship.primaryRole === "rockhermit" || ship.primaryRole === "pirate-cove" || (ship.scriptInfo.randomshipnames && ship.scriptInfo.randomshipnames === "rockhermit"))
    {
        // if a rock hermit was named previously, its name is retrieved from a list of all rock hermit names in the current galaxy
        if(system.ID >= 0 && this.rockHermitList[system.ID].length > 0)
        {
            for(var i=0; i<rockHermitList[system.ID].length; i++)
            {
                // the already named rock hermits are identified by their position in the system
                var savedPosition = new Vector3D(this.rockHermitList[system.ID][i][0].x, this.rockHermitList[system.ID][i][0].y, this.rockHermitList[system.ID][i][0].z);
                // the following lines are only necessary for 1.77 and 1.78, because deep space
                // Rock Hermits' positions fluctuate wildly due to a bug in the populator
                // this is going to be fixed in 1.79
                if(0 < oolite.compareVersion("1.79"))
                {
                    var positionXY = new Vector3D(savedPosition.x, savedPosition.y, 0);
                    var distanceToWPLane = positionXY.magnitude();
                    var distanceToPSLane = savedPosition.toCoordinateSystem("psm");
                    distanceToPSLane.z = 0;
                    distanceToPSLane = distanceToPSLane.magnitude();
                    if(ship.position.subtract(savedPosition).magnitude() < 10 || (distanceToWPLane > 25600 && distanceToPSLane > 25600))
                    {
                        ship.displayName = this.rockHermitList[system.ID][i][1];
                        return;
                    }
                }
                // in 1.79, all Rock Hermit positions are permanently fixed, therefore
                // also deep space hermits can be identified by their position
                else
                {
                    if(ship.position.subtract(savedPosition).magnitude() < 10)
                    {
                        ship.displayName = this.rockHermitList[system.ID][i][1];
                        return;
                    }
                }
            }
        }
        ship.displayName += ": " + this.$randomRockhermitName(ship);
        // newly named rock hermits are added to the list
        if(system.ID >= 0)
        {
            var storedName = [ship.position, ship.displayName];
            this.rockHermitList[system.ID].push(storedName);
        }
        return;
    }
    // ordinary traders, scavengers, and miners
    if(ship.isPirateVictim || ship.primaryRole === "scavenger" || ship.primaryRole === "miner" || (ship.scriptInfo.randomshipnames && ship.scriptInfo.randomshipnames === "trader"))
    {
        ship.displayName += ": " + this.$randomTraderName(ship);
    }
}

this.shipWillEnterWitchspace = function()
{
    // one-time use lists which are in danger of being exhausted are re-initialized upon leaving a system
    if(this.femaleFirstNameLength < 12) this.$initializeFemaleFirstNames();
    if(this.maleFirstNameLength < 12) this.$initializeMaleFirstNames();
    if(this.standalonePhraseLength["aggressive"] < 12) this.$initializeStandalonePhrasesAggressive();
    if(this.standalonePhraseLength["peaceful"] < 12) this.$initializeStandalonePhrasesPeaceful();
    if(this.standalonePhraseLength["pirate"] < 12) this.$initializeStandalonePhrasesPirate();
    if(this.standalonePhraseLength["hunter"] < 12) this.$initializeStandalonePhrasesHunter();
    if(this.standalonePhraseLength["bulkHauler"] < 12) this.$initializeStandalonePhrasesBulkHauler();
    if(this.standalonePhraseLength["medical"] < 12) this.$initializeStandalonePhrasesMedical();
}

this.playerWillSaveGame = function()
{
    // the rock hermit list is saved as a mission variable
    missionVariables.randomshipnames_rockhermits = JSON.stringify(this.rockHermitList);
}

this.playerEnteredNewGalaxy = function()
{
    // the rock hermit list is deleted and newly started when jumping to another galaxy
    this.rockHermitList = new Array(256);
    for(var i=0; i<256; i++)
    {
        this.rockHermitList[i] = new Array;
    }
    delete missionVariables.randomshipnames_rockhermits;
}
Scripts/randomshipnames.js
notYetParsed