GameObjectClass P3: Combat Settings

GameObjectClass settings Part 2. This section focuses on Combat related settings, to do with Health/Ammo/Weapons.

[GameObjectClass]

maxHealth = 0
This object's maximum Health. 0 is indestructible.

addHealth = 0
How much health this object gains over a 1 second time period.

aiAddHealth = addHealth
How much health this object gains over a 1 second time period, when piloted by an AI, not a User.

CondAddHealthMinRatio1 ... CondAddHealthMinRatio8 = -1
Conditional AddHealth minimum Health Ratio that this object must be for the conditional to pass.

CondAddHealthMaxRatio1 ... CondAddHealthMaxRatio8 = -1
Conditional AddHealth maximum Health Ratio that this object must be for the conditional to pass.

CondAddHealthValue1 ... CondAddHealthValue8 = 0
Amount of AddHealth done by this conditional.

CondAddHealthFlags1 ... CondAddHealthFlags8 = 2147483647
Bit Mask for which Flags are used to enable this AddHealth. Values listed below:
  • Bit 0 (value = 1)
    Val=1: condition done when craft is empty.
    Val=0: skip if craft is empty
  • Bit 1 (value = 2)
    Val=1: condition done when craft is occupied by AI.
    Val=0: skip if craft is not occupied by AI
  • Bit 2 (value = 4)
    Val=1: condition done when craft is occupied by human (local/remote player).
    Val=0: skip if craft is not occupied by human (local/remote player)
  • Bit 3 (value = 8)
    Val=1: condition done when craft is undeployed.
    Val=0: skip if craft is deployed
    - bit flag is skipped if not a craft
  • Bit 4 (value = 16)
    Val=1: condition done when craft is deployed.
    Val=0: skip if craft is undeployed
    - bit flag is skipped if not a craft
  • Bit 5 (value = 32)
    Val=1: condition done when object is unpowered.
    Val=0: skip if object is powered
  • Bit 6 (value = 64)
    Val=1: condition done when object is powered.
    Val=0: skip if object is unpowered
  • Bit 7 (value = 128)
    Val=1: condition done when object is not locked down.
    Val=0: skip if object is locked down
  • Bit 8 (value = 256)
    Val=1: condition done when object is locked down.
    Val=0: skip if object is not locked down
  • Bit 9 (value = 512)
    Val=1: condition done when movement inputs are pressed.
    Val=0: skip if movement inputs not pressed.
  • Bit 10 (value = 1024)
    Val=1: condition done when movement inputs are not pressed.
    Val=0: skip if movement inputs are pressed.

DoBettyHealth = true
If true, does the Betty "Low Health" warning when the user's Health is below 25%.

maxAmmo = 0
This object's maximum Ammo. 0 is NOT infinite.

addAmmo = 0
How much ammo this object gains over a 1 second time period.

aiAddAmmo = addAmmo
How much ammo this object gains over a 1 second time period, when piloted by an AI, not a User.

DoBettyAmmo = true
If true, does the Betty "Low Ammo" warnings when the user's Ammo (or available shots in the currently selected Weapon) reaches 0.

aiName = ""
AI Process name. This is the brains of the unit, and controls it's behavior. aiName is used for Player controlled craft, or if no aiName2 is specified.
This must be one of the specified AI Process strings, and must be a valid type for the Class of object. Valid AI Names are listed in the AI Processes section.
Note: Specifying an incorrect AI Name will lead to crashes.

aiName2 = ""
AI Process name for Non-Player controlled objects, if specified.
This must be one of the specified AI Process strings, and must be a valid type for the Class of object. Valid AI Names are listed in the AI Processes section.
Note: Specifying an incorrect AI Name will lead to crashes.

collisionRadius = Bounding Sphere * 0.75f
This is the object's collisionRadius size, used for AI avoidance and path planning.

CanBeIdleVictim = true
If true, then this object can be the target of an AIP Plan's idle units dispatch.

DoBettyAttack = true
If true, will do the radar beep and warning Betty sounds when this object is damaged.

Weapon Settings


weaponHard1 .... weaponHard5 = ""
This is the hard point name in the Model. The name must start with one of the following, and it must match exactly with a piece in the model. These traditionally have "HP_" in front of them, to make them Hidden Parts, but that isn't required. The following are valid Hardpoint names, with or without HP_ in front of them:
  • "GUN"
  • "CANN"
  • "MORT"
  • "ROCK"
  • "SPEC"
  • "SHIE"
  • "HAND"
  • "PACK"

visualHard1 ... visualHard5 = ""
This is a visual hard point for this weapon. This is the location a visual mesh for the weapon's GeometryName is attached. See Pilot weapons for an example of this.

recoilName1 ... recoilName5 = ""
The model piece name that Recoils when this weapon is fired.

recoilDist1 ... recoilDist5 = -0.6f
How far forward/backwards the corresponding recoilName piece moves.

weaponAssault1 ... weaponAssault5
Flag for if this weapon is an Assault hard point or not. Only matching weapon types will be picked up by this Hard point, and this hard point will be preferred against isAssault targets by some AI Processes.

weaponName1 ... weaponName5 = ""
The ODF file name for the Weapon Class for this hard point.
Note: Must be a valid Weapon Class of ODF.

weaponGroup1 ... weaponGroup5 = -1
Sets this weapon into a specific Group. Default is the normal behavior: Group same Hardpoint Type and Assault settings. Valid values are 0 - 4.

weaponMask = "11111"
Binary bit mask for which weapons, out of the 5 weapon hard points, that the AI should try to use. 0 = don't use, 1 = use.
Note: The order goes from right to left, for hard point 1 - 5. So effectively "54321".


imageSignature = 1.0f
This is the object's Image signature strength. It controls how fast Image Launchers can lock onto it.

radarSignature = 1.0f
This is the object's Radar signature strength. It controls how fast Radar and Torpedo Launchers can lock onto it.

heatSignature = 1.0f
This is the object's Heat signature strength. It controls how fast Thermal Launchers can lock onto it, and how strongly Thermal Missiles are attracted to it.

armorClass = "N"
This object's Armor type. Valid values are:
  • N = None
  • L = Light
  • H = Heavy

shieldClass = "N"
This object's Shield type. Valid values are:
  • N = None
  • S = Stasis
  • D = Deflection
  • A = Absorption

hitType = "B"
What kind of explosion is used when an ordnance hits this object. Valid values are:
  • N = None
  • G = Ground
  • P = Person
  • V = Vehicle
  • B = Building
Note: Default is Vehicle for Class: Craft. Default is Person for Class: LandCreature and Person. Default is Ground for Class: Terrain, Computer, CNozzle if they are isTerrain.

explosionName = ""
If specified, this is the explosion ODF to use. For iexample: explosionName = "xbldxpl".
Default if not specified is chosen from the race's explosion.odf based on this object's type.

damageEffect1 ... damageEffect4 = "dmgvhcl1" ... "dmgvhcl4"
These are the Renders for the Damage Smoke. Below is a list of when they are used:
  • damageEffect1 starts when the object is below 50% health.
  • damageEffect2 starts when the object is below 25% health.
  • damageEffect3 starts when the object is below 12.5% health.
  • damageEffect4 is used on the Crash model generated when the object explodes.
Damage Smoke is read here, and used on VehicleCrash, though I'm fairly sure only Craft can use it, and it uses the values found under [CraftClass] instead.
On this page