ResearchPod
ResearchPods can apply universal upgrades if equipped with them.
ResearchPods can be built by any Producer, but only ResearchStations can assign podHardpoints to limit the construction of the pod to one per ResearchStation and to ensure that that the ResearchPod will not explode upon completion. Note that if the Craft ODF command destroyMeWithResearchStation = 0, the ResearchPod will not explode upon completion.
classlabel = "pod"
Stock ODF Commands
isUpgrade
Integer, Default: 0
When set to 1 or larger, the ResearchPod builds at the root of the Producer and cannot be selected or directly targeted. When the Producer is destroyed, if the ResearchPod is intact, Armada II will crash. The Producer will inherit the maxHealth of the ResearchPod when construction finishes without replacing the Producer. When set to 0, the ResearchPod builds and functions normally (no inheritance functionality).
isShipUpgrade
Boolean, Default: FALSE
When set to true (1) all Craft are affected by the universal upgrade. When true, the Pod uses the ShipUpgradeBegin, ShipUpgradeComplete, and ShipUpgradeCancelled hardcoded event labels.
upgradeLevel
Integer, Default: crash
Determines which level the specified universal upgrade is, although only two hardcoded options are possible: 2 or 3.
All GameObjects begin at level 1. The first level can be upgradeLevel = 2 and the second level can be upgradeLevel = 3. The order will affect which "weapon_control" and "shield_generator" upgrade is applied first.
When the second level upgrade is complete, the model of the first level upgrade is replaced.
upgradeMultiplier
Float, Default: 0.0
Modifies the base characteristic (1.0 = 100% = no change). Upgrade effects are lost when the ResearchPod is destroyed.
The second upgrade that is built overwrites the first linked upgrade (determined by secondaryBuildItem usage, NOT by upgradeLevel) for "sensors", "engines", and "life_support" (the effects are not cumulative).
Building a first upgrade when its secondaryBuildItem upgrade (the second upgrade) is still present will not revert the upgrade, when the first upgrade is built by another ResearchStation. Note however that if you build an upgrade that is not linked (has a different secondaryBuildItem) it will overwrite the existing upgrade of the same function at any level. Using Fleet Ops techtree options, this can be used to chain multiple upgrades together to create additional upgrade levels.
Example 1: ResearchPod A, B, and C modify "sensors" by 1.5, 2.5, and 3.5. Provided ResearchPod C is built last, sensor range will be modified by 3.5, overwriting the earlier 1.5 and 2.5 upgrades.
Example 2: ResearchPod X, Y, and Z modify "weapon_control" by 2.0, 0.5, and 4.0. X and Y are linked upgrades of upgradeLevel 1 and 2 and modify the damageBase and shotDelay, respectively. When ResearchPod Z is constructed, damageBase is modified by 4.0, overwriting the earlier 2.0 modifier, but NOT modifying the 0.5 upgrade to shotDelay.
Note that if you want to make "life_support" upgrades decrease lifesupportLoss, the value should be less than one. Likewise, if you want to make the second "weapon_control" upgrade increase fire rate, the value should be less than one.
Note that when upgradeMultiplier is 0.0 (the system is nullified), a few unusual effects will be noticed (appropriate for each upgradeSystem):
- Craft will lose their shields, but become invincible (if upgradeLevel 2 is > 0.0 these GameObjects will regain shields / vulnerability upon research.).
- Destroying or disabling the lifesupport subsystem will not cause crew deaths.
- Weapons will still fire, but deal no damage.
upgradeSystem
String, Default: Null
Determines which subsystem is affected by the upgrade. Options are:
"weapon_control" = Modifies damageBase of weaponry on upgradeLevel 1 and shotDelay on upgradeLevel 2 (additive with upgradeLevel 1)
"sensors" = Modifies the line of sight of the sensors
"shield_generator" = Modifies maxShields on upgradeLevel 1 and shieldRate on upgradeLevel 2 (additive with upgradeLevel 1)
"engines" = Modifies impulseSpeed
"life_support" = Modifies lifesupportLoss when the lifesupport subsystem is non-functional
Fleet Operations ODF Commands
isResearchedByYard
Boolean, Default: FALSE
Used by the AI only. Used so the AI knows where to find the upgrade if it is being researched in a Shipyard and not in a ResearchStation.