Shipyard

This GameObject can be configured to build units and repair and decommission them. Displays a queue of all currently building GameObjects.

Clicking on the single unit select image of Shipyards and child classes will not bring the player to the GameObject's location.

Note that Repairing.wav is the hardcoded sound file used for both decommissioning or repairing units at a Shipyard.

classlabel = "shipyard"

Stock ODF Commands

repairHardpoint

String, Default: "root"

Determines where a unit will dock on the Shipyard's model. The specified hardpoint must match the label on the model. Note, the repair hardpoint in the SOD model file is called "fix".

Repairing removes all timed, non-subsystem disabling effects on a GameObject (i.e. removes the effects of PsionicInsanity, but not those of the PositronicJammer). Such removed effects include all Weapons added as extraWeapons, the SleeperAgent Weapon, RomulanSpy, GravityMine, ComputerOverride and other Ordnances.

dockinghardpoint = "hp10"

repairFacility

Boolean, Default: TRUE

When set to false (0), this Shipyard may not repair GameObjects.

decommissionFacility

Boolean, Default: TRUE

When set to false (0), this Shipyard may not decommission GameObjects.

repairAnimation

Boolean, Default: TRUE

When set to false (0), the Shipyard will not display an animation upon repairing a GameObject even if it has one.

buildAnimation

Boolean, Default: FALSE

When set to true (1), the Shipyard will display an animation upon constructing a GameObject if it has one.

repairSide

Integer, Default: 0

The repair hardpoint is where the bottom left boundary of the ship lines up.

To repair, the ship docks at:

0 = Center
1 = Left
2 = Right
3 = Aft right
4 = Aft
5 = Aft left
6 = Below
7 = Below right
8 = Above
9 = Above left
10 = Above right

dilithiumRecyclingFraction

Float, Default: see below*

Determines the efficiency at which the Shipyard recycles GameObjects and thus retrieves the initial resources (1.0 = 100%).

*When no Craft recycling costs are defined (recycleDilithium, recycleMetal, recycleLatinum, and/or recycleBiomatter cannot even be present as an empty command in the ODF) dilithiumRecyclingFraction is used:

If the Craft is recycled in a Shipyard, you'll get: Craft’s dilithiumCost * Shipyard’s dilithiumRecyclingFraction. Note that it seems if Shipyard’s dilithiumRecyclingFraction has a negative value (or is 0 enough?), then Craft’s dilithiumCost * Faction Configuration's recycleDilithiumFraction is used.

If the Craft is recycled in place (without a Shipyard), then you'll get: Craft’s dilithiumCost * Faction Configuration's recycleDilithiumFraction

metalRecyclingFraction

Float, Default: see below*

Determines the efficiency at which the Shipyard recycles GameObjects and thus retrieves the initial resources (1.0 = 100%).

*When no Craft recycling costs are defined (recycleDilithium, recycleMetal, recycleLatinum, and/or recycleBiomatter cannot even be present as an empty command in the ODF) metalRecyclingFraction is used:

If the Craft is recycled in a Shipyard, you'll get: Craft’s metalCost * Shipyard’s metalRecyclingFraction. Note that it seems if Shipyard’s metalRecyclingFraction has a negative value (or is 0 enough?), then Craft’s metalCost * Faction Configuration's recycleMetalFraction is used.

If the Craft is recycled in place (without a Shipyard), then you'll get: Craft’s metalCost * Faction Configuration's recycleMetalFraction

wormhole

String, Default: Null

Determines which wormhole_obj to use to generate a Wormhole on the Shipyard out of which completed buildItems will appear. No .odf extension required.

Note that this command can be used to place any TerrainObject on the Shipyard, but only a Wormhole will allow a buildItem to be produced. The wormhole will remain open as long as the completed buildItem has is_starbase = 1 and is intact.

Note that even if the Shipyard is mobile, the wormhole (and Craft being built from it) will not move from its initial location after being spawned the first time the Shipyard builds a Craft.

alwaysRecomputeRallyPoint

Boolean, Default: FALSE

When set to true (1), the Shipyard will recalculate a Rally Point based on its current location, such that the Rally Point will shift in the coordinate plane system just as much as the Shipyard has (even if a Rally Point cannot be manually determined the GameObject automatically places one for any Craft it builds). If false (0), the Rally Point will remain fixed at a particular map location regardless if the Shipyard has moved.

recycleExchangeRate

Float, Default: 0.0

Determines the ratio of metal to dilithium transfer and vice versa. Always converted into 100 units of the recycled resource.

recycleexchangerate = 0.7 //When converting dilithium into metal, 143 dilithium will be used to produce 100 metal.

Fleet Operations ODF commands

pushBuildItemX

String, Default: Null

When the Shipyard is built (either via replaceWeapon or through normal construction) the GameObject specified by the pushBuildItem queue will be entered into its construction queue. Units which would could normally not be built (like hero units) may be included in such a manner. Each pushBuildItem entry should have a separate integer assigned to it as X. Multiple pushBuildItems are entered in the queue in the order of integers, starting with 0.

Ignores the techtree in Fleet Operations 3.x.x

pushbuilditem0 = "fed_ventureS"

alliedRepairUpgrade

String, Default: Null

This specifies the GameObject that has to be built by this Shipyard to allow allies to repair their vessels at this Shipyard. The GameObject must also be one of the Shipyard's buildItems in order to function. The specified GameObject can be built exactly once per Shipyard - once the buildItem has finished construction, its build button becomes unavailable and the Shipyard can now be used by allies to repair valid GameObjects.

Note that it is best to write this in the tooltip for the object being used for alliedRepairUpgrade, as there is not yet an "already researched / built" automatic notification. Does not require .odf extension.

alliedrepairupgrade = "all_alliedrepair"