It took me a while to figure it out too: now, whenever I make a change I look at the revision history just to double check on myself!

Moderators: winston, another_commander
It is almost right. Whenever you use the :spawn macro, you must use a role. If the ship you intend to spawn has a generic role like hunter, trader etc., then you must add an identifying role in its roleset yourself, then use that role to spawn it. If the ship contains an identifying role in its roleset already, then you can use that.Captain Berf wrote:Is there a simple & clean way to word the caveat for choosing a role that will work in all or most cases (to bring up the required ship) e.g. only select a defined role with the shipname in it. Or is this wrong.
Code: Select all
<key>shipX</key>
<dict>
...
<key>role</role>
<string>trader escort hunter</string>
...
</dict>
Code: Select all
<key>shipX</key>
<dict>
...
<key>role</key>
<string>shipX-trader trader escort hunter</string>
...
</dict>
By the way: I'd suggest to all ship designers to always give their creations one unique role (preferably preceded by their own name or the OXP's name), in order to make the ship "spawnable". It doesn't to any harm, and whoever would like to see that specific ship can profit from it.Captain Berf wrote:So if you want to spawn shipX and shipX has only generic roles defined:
modifying it toCode: Select all
<key>shipX</key> <dict> ... <key>role</role> <string>trader escort hunter</string> ... </dict>
is sufficient (and correct)? Or does it require further definition.Code: Select all
<key>shipX</key> <dict> ... <key>role</key> <string>shipX-trader trader escort hunter</string> ... </dict>
Code: Select all
<key>roles</key>
<string>personalities personalities_launcher personalities_privateer personalities_mclane</string>
Well, you could always do a misjump and see them in their natural environment, y'know!Captain Berf wrote:It was a real kick to spawn a Generation Ship as I had always wanted to see one.
Code: Select all
mission.runScreen({model:'shipUniqueRole'})
Code: Select all
mission.runMissionScreen(null,null,null,'shipUniqueRole');