GameObjectClass P3: Combat Settings
GameObjectClass settings Part 2. This section focuses on Combat related settings, to do with
Health/Ammo/Weapons.
[GameObjectClass]
This object's maximum Health. 0 is indestructible.
How much health this object gains over a 1 second time period.
How much health this object gains over a 1 second time period, when piloted by an AI, not a
User.
Conditional AddHealth minimum Health Ratio that this object must be for the conditional to
pass.
Conditional AddHealth maximum Health Ratio that this object must be for the conditional to
pass.
Amount of AddHealth done by this conditional.
Bit Mask for which Flags are used to enable this AddHealth. Values listed below:
If true, does the Betty "Low Health" warning when the user's Health is below 25%.
This object's maximum Ammo. 0 is NOT infinite.
How much ammo this object gains over a 1 second time period.
How much ammo this object gains over a 1 second time period, when piloted by an AI, not a
User.
If true, does the Betty "Low Ammo" warnings when the user's Ammo (or available shots in the
currently selected Weapon) reaches 0.
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.
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.
This is the object's collisionRadius size, used for AI avoidance and path planning.
If true, then this object can be the target of an AIP Plan's idle units dispatch.
If true, will do the radar beep and warning Betty sounds when this object is
damaged.
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:
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.
The model piece name that Recoils when this weapon is fired.
How far forward/backwards the corresponding recoilName piece moves.
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.
The ODF file name for the Weapon Class for this hard point.
Note: Must be a valid Weapon Class of ODF.
Sets this weapon into a specific Group. Default is the normal behavior: Group same Hardpoint
Type and Assault settings. Valid values are 0 - 4.
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".
This is the object's Image signature strength. It controls how fast Image Launchers can lock
onto it.
This is the object's Radar signature strength. It controls how fast Radar and Torpedo
Launchers can lock onto it.
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.
This object's Armor type. Valid values are:
This object's Shield type. Valid values are:
What kind of explosion is used when an ordnance hits this object. Valid values are:
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.
These are the Renders for the Damage Smoke. Below is a list of when they are used:
[GameObjectClass]
maxHealth = 0
addHealth = 0
aiAddHealth = addHealth
CondAddHealthMinRatio1 ... CondAddHealthMinRatio8 = -1
CondAddHealthMaxRatio1 ... CondAddHealthMaxRatio8 = -1
CondAddHealthValue1 ... CondAddHealthValue8 = 0
CondAddHealthFlags1 ... CondAddHealthFlags8 = 2147483647
-
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
maxAmmo = 0
addAmmo = 0
aiAddAmmo = addAmmo
DoBettyAmmo = true
aiName = ""
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 = ""
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
CanBeIdleVictim = true
DoBettyAttack = true
Weapon Settings
weaponHard1 .... weaponHard5 = ""
-
"GUN"
-
"CANN"
-
"MORT"
-
"ROCK"
-
"SPEC"
-
"SHIE"
-
"HAND"
- "PACK"
visualHard1 ... visualHard5 = ""
recoilName1 ... recoilName5 = ""
recoilDist1 ... recoilDist5 = -0.6f
weaponAssault1 ... weaponAssault5
weaponName1 ... weaponName5 = ""
Note: Must be a valid Weapon Class of ODF.
weaponGroup1 ... weaponGroup5 = -1
weaponMask = "11111"
Note: The order goes from right to left, for hard point 1 - 5. So effectively "54321".
imageSignature = 1.0f
radarSignature = 1.0f
heatSignature = 1.0f
armorClass = "N"
-
N = None
-
L = Light
- H = Heavy
shieldClass = "N"
-
N = None
-
S = Stasis
-
D = Deflection
- A = Absorption
hitType = "B"
-
N = None
-
G = Ground
-
P = Person
-
V = Vehicle
- B = Building
explosionName = ""
Default if not specified is chosen from the race's explosion.odf based on this object's type.
damageEffect1 ... damageEffect4 = "dmgvhcl1" ... "dmgvhcl4"
-
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.