Producer

Craft which can produce other GameObjects: the Producer class specifically constructs a buildItem around itself. All types of Producers can now handle 57 build items (stock Armada II could handle 14 total build items).

Producers and child classlabels share some attributes:

They pass on their current Alert status (red / yellow / green) and Movement / Special Weapon Autonomies to GameObjects they produce.

Movement is disabled while constructing buildItems, assuming the Producer is capable of moving (valid physics file and engines). Movement is likewise disabled when a Producer is used by another GameObject's queue command. For instance, a Freighter trying to dock at a moveable MiningStation will cause the MiningStation to cease movement, a ship trying to repair at a Shipyard will disable the Shipyard's movement.

Enabling a special weapon (or toggling one off) is disabled while constructing buildItems.

Controlling regular weapons (changing targets) is disabled while constructing buildItems. The right-click Attack cursor is unavailable during this time as well.

classlabel = "producer"

Stock ODF Commands

buildItemX

String, Default: Null

Determines which GameObject may be built from the Producer.  Each BuildItem entry should have a separate integer assigned to it as X. The first buildItem is buildItem0. Does not require .odf extension.

Note that the engine can display a maximum of 31 buttons on-screen at one time (this includes all buttons, including commands). As a consequence, a maximum of the first 31 build items can be displayed.

buildItem0 = "fed_outpost"

buildHardpoint

String, Default: "root"

Determines where a unit will build from on the Producer's model. The specified hardpoint must match the label on the model. Note, the build hardpoint in the SOD model file is called "build".

alert

Boolean, Default: TRUE

Note the special default setting. Used as a relay for the Commands configuration files. In Fleet Operations, when set to true (1), the GameObject's Formations and AI Commands menu and the latter's nested Alert Commands are displayed and useable.

Fleet Operations ODF Commands

buildItemXAvailability

Integer, Default: 0

Gives the ability to conditionally hide build buttons. Default is to not hide anything, unless a button has one parent, then it uses the value of parents as the default (see buildItemXAvailabilityParent).

Values

Values may be combined in order to summate effects, except when indicated.

PBA_Default = 0, // If it has a parent button: visibility as the parent button, nat. Cannot be combined!

PBA_HideMatchRace = 1, // Hide the build button when the faction of the producer and the buildItem are the same.

PBA_HideNonMatchRace = 2, // Hide the build button when the faction of the producer and the buildItem are different.

PBA_HideAvTechnology = 4, // Hide the build button when technology requirements are met.

PBA_HideUnavTechnology = 8, //Hide the build button when technology requirements are not met.

PBA_HideFleetCapAllowes = 16, // Hide the build button when the buildItem is permitted by a fleetcap.

PBA_HideFleetCapDenies = 32, // Hide the build button when the buildItem is not permitted by a fleetcap.

PBA_HideAlliedRaceAllowes = 64, // Hide the build button when the the requirement for a specific allied faction for the buildItem is met.

PBA_HideAlliedRaceDenies = 128, // Hide the build button when the the requirement for a specific allied faction for the buildItem is not met.

PBA_InvertParent = -1 // myVisibility is opposite of parentVisibility. Cannot be combined!

Example

buildItem0Availability = 9 // PBA_HideUnavTechnology + PBA_HideMatchRace

buildItemXAvailabilityParent

Integer, Default: buildItemXAvailabilityParent = X (dependent on itself)

An override for buildItemXAvailability, so that the availability in the context of the other build buttons is checked. This thus allows you to set the availability of a particular buildItem (buildItemXAvailabilityParent) based on the availability settings of another specified buildItem (the second X ).

builditem1availabilityparent = 0