To accomplice this you will need to create both a ship and a template of said ship and edit a number of the xml files since modding support is not yet in.
I will use my design of the Voyeur in the examples. For the design files go to the "Post Your Gal Civ III Ship Designs!" (page 31) thread.
First the ship.
Design your ship as a hull; so no active components. To get the look and feel you can add the graphic elements but not the real components. You show these by going to the options in the designer and tick the "show parts from other styles". Save it under a name using only letters and numbers (no spaces) and specify the correct role type. The ship role must match the "Role" field in both the ShipBlueprintsDefs.xml and the ShipDefs.xml. And the ship size must match the "ShipHullType" field in the ShipClassDefs.xml and the "ShipHull" field in the ShipDefs.xml.
Reopen your ship design and without changing anything save it again with the same name, but this time as a template. There is a bug in the designer that he forgets the ship role, so make sure you specify the same ship role as in the ship save.
Exit GalCiv3 and go to your design folder ("My Games\GalCiv3\Designs") and make a note of the names of the ship and ship-template designs.
Secondly the files to modify.
The files to edit:
- FactionDefs.xml
- ShipClassDefs.xml
- ShipBlueprintsDefs.xml
- ShipDefs.xml
- ShipText.xml
- ShipClassText.xml
FactionDefs.xml
This one specifies your starting ships and which ship classes belong to the faction. Find your faction and modify or add the ship and add your ship class. Pick an unique internal name (example: "TerranVoyeur").
<StartingShips>TerranVoyeur</StartingShips>
and
<ShipClass>TerranVoyeur</ShipClass>
ShipClassDefs.xml
The ship class definitions. Add or modify a class. Use the template-design-file-name of the template for the "ThumbnailOverride" and "ShipDesign" fields (example: "Voyeur_1B63E250B709401A83A86D54A3C33AC5"). And enter into the "BlueprintDef" field a unique blueprint name (example: "TerranVoyeurBlueprint"). The "DisplayName" and the "Description" fields are links to the ShipClassText.xml file.
<!-- Begin Ship -->
<ShipClass>
<InternalName>TerranVoyeur</InternalName>
<DisplayName>TerranVoyeur_Class_Name</DisplayName>
<Description>TerranVoyeur_Dec</Description>
<ThumbnailOverride>Voyeur_1B63E250B709401A83A86D54A3C33AC5.png</ThumbnailOverride>
<ShipHullType>Tiny</ShipHullType>
<ShipRule>Scout</ShipRule>
<ShipDesign>Voyeur_1B63E250B709401A83A86D54A3C33AC5</ShipDesign>
<AIShipClass>Scout</AIShipClass>
<StrategicIcon>Scout</StrategicIcon>
<BlueprintDef>TerranVoyeurBlueprint</BlueprintDef>
</ShipClass>
ShipBlueprintsDefs.xml
Defines the component composition of the ship class. Use the name as used in the ShipClassDef ("TerranVoyeurBlueprint"). In this example i instruct the game to add 2 sensors for every lifesupport. This means less ship range, but better sensor range.
<!-- Begin Blueprint -->
<ShipBlueprint>
<InternalName>TerranVoyeurBlueprint</InternalName>
<ShipHullType>Tiny</ShipHullType>
<Role>Support</Role>
<RequiredComponentType>Sensor</RequiredComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<FillerComponentType>Sensor</FillerComponentType>
<FillerComponentType>LifeSupport</FillerComponentType>
<FillerComponentType>Sensor</FillerComponentType>
</ShipBlueprint>
ShipDefs.xml
The definition of the starting ship. Use the design-file-name of the actual ship design (example: "Voyeur_A0946D40992C4CE38C05559613DBF59C"). Notice that the ship design and template design file names are different. Also notice the sensor and lifesupport difference from the standard scout. Specify the "DisplayName" field for the link to the ShipText.xml file.
<!-- Begin Ship -->
<Ship>
<InternalName>TerranVoyeur</InternalName>
<DisplayName>TerranVoyeur_Name</DisplayName>
<ThumbnailOverride>Voyeur_A0946D40992C4CE38C05559613DBF59C.png</ThumbnailOverride>
<ObjectGfxConfig>Voyeur_A0946D40992C4CE38C05559613DBF59C.objgfxcfg</ObjectGfxConfig>
<StrategicIcon>Scout</StrategicIcon>
<ShipHull>Tiny</ShipHull>
<Role>Support</Role>
<CanBeBuilt>false</CanBeBuilt>
<Faction>FACTION_TERRAN</Faction>
<ShipComponents>NavigationalSensors</ShipComponents>
<ShipComponents>NavigationalSensors</ShipComponents>
<ShipComponents>BasicLifeSupport</ShipComponents>
</Ship>
ShipText.xml
The ship name as the player will see it.
<StringTable>
<Label>TerranVoyeur_Name</Label>
<String>Voyeur</String>
</StringTable>
ShipClassText.xml
The name and description of the class.
<StringTable>
<Label>TerranVoyeur_Class_Name</Label>
<String>Voyeur</String>
</StringTable>
<StringTable>
<Label>TerranVoyeur_Dec</Label>
<String>Superior Sensor, but slow scout ship.</String>
</StringTable>
All the above gives me the Voyeur ship as a starting ship.
Happy modding
.