Table of Contents

<- CRPL reference <- Unit Commands

GetUnitAttribute

Arguments Result Notation
Unit UID, Attribute ConstantThe resulting value for the attribute i1 i2 -- n1

Description

GetUnitAttribute allows you to query various attributes on different units.

Unit Constants

The constant must be one of the following:

CommandDescriptionValue
CONST_ACPACKETREQUESTDELAY The delay between AC packet requests for the unit. Only works for CRPLTowers. 10
CONST_AMMO The unit's ammo. Floating point value. 17
CONST_AMMOAC The unit's AntiCreeper ammo. Floating point value. 19
CONST_BEAMTARGET (1.66) Whether the unit is targeted by Beams. 32
CONST_BUILDCOST How many packets it takes to build the unit. Only works for CRPLTowers. 5
CONST_CANREQUESTAMMO Whether the unit can request Ammo packets. Only works for CRPLTowers. 11
CONST_CELLHEIGHT The width of space that the unit takes. Read/Write for CRPLTowers, read-only for everything else. 25
CONST_CELLWIDTH The width of space that the unit takes. Read/Write for CRPLTowers, read-only for everything else. 24
CONST_CONNECTABLE If the unit can connect to the player's network grid. Only works for CRPLTowers. 6
CONST_COORDX The x coordinate of the unit. 0
CONST_COORDY The y coordinate of the unit. 1
CONST_COUNTSFORVICTORY Whether the CrplTower must be destroyed before map victory on annihilation game modes. Only works for CRPLTowers. 27
CONST_CREATEPZ Whether the CrplTower creates a power zone when destroyed. Only works for CRPLTowers. 21
CONST_DESTROYMODE Effect to play when CrplTower is destroyed. Only works for CRPLTowers. -1 means Default, 0 means none, 1 means flash with no sound, 2 means explosion with sound, 3 means explosion with no sound. 34
CONST_DESTROYONDAMAGE Whether the unit should be destroyed if its health reaches zero due to enemy fire. 22
CONST_HEALRATE The Heal Rate of a unit. 0.001 is the default. This is the amount of health that is added per frame 14
CONST_HEALTH The unit's health. Floating point value. 15
CONST_ISBUILDING If the unit is in build mode (requests build packets). 4
CONST_ISDESTROYED If the unit is destroyed. Can only be read, not set. 12
CONST_ISLANDED If the unit is landed. Can only be read, not set. Only ever not true for units that can move. 13
CONST_MAXAMMO The unit's max ammo. Floating point value. 18
CONST_MAXAMMOAC The unit's max AntiCreeper ammo. Floating point value. 10
CONST_MAXHEALTH The unit's max health. Floating point value. 16
CONST_NULLIFIERDAMAGEAMT Set the amount of damage that a nullifier does to a unit. The default for nullifierdamageamt is 0. This means that the unit should be destroyed (the normal and default behavior). 0.1, for instance, does 0.1 damage to a unit rather than destroying it. Assuming the unit has a health more than 0.1, this means multiple nullifiers would be required to destroy the unit. Negative values will increase health.29
CONST_NULLIFIERDAMAGES Whether the CrplTower can be targeted and damaged by Nullifiers. Only works for CRPLTowers. 28
CONST_PACKETREQUESTDELAY The delay between packet requests for the unit. Only works for CRPLTowers. 9
CONST_PIXELCOORDX The X coordinate of the unit on the screen (pixels) 2
CONST_PIXELCOORDY The Y coordinate of the unit on the screen (pixels) 3
CONST_REQUESTACPACKETS If the unit can request AC packets. Only works for CRPLTowers. WARNING: This one does not persist between saves. 8
CONST_REQUESTPACKETS If the unit can request packets. Only works for CRPLTowers. 7
CONST_SHOWAMMOACBAR Whether the unit's AC bar is visible. Only works for CRPLTowers. Does not persist across saves.37
CONST_SHOWAMMOBAR Whether the unit's ammo bar is visible. Only works for CRPLTowers. Does not persist across saves.36
CONST_SHOWHEALTHBAR Whether the unit's health bar is visible. Only works for CRPLTowers. Does not persist across saves.35
CONST_SNIPERTARGET Whether the CrplTower can be targeted and damaged by Snipers. Only works for CRPLTowers.30
CONST_SNIPERIGNORELOS (1.66) On a unit that is targeted by snipers, whether or not the snipers ignore terrain heights when firing. i.e. The unit is “above the terrain” or “flying”. 32
CONST_SUPPORTSDIGITALIS Whether the CrplTower supports the growth of Digitalis. Does not mean that the unit seeds Digitalis, only that it keeps it alive. Only works for CRPLTowers. 26
CONST_TAKEMAPSPACE Whether the CrplTower consumes space on the map (preventing other units from stacking). Only works for CRPLTowers. 23
CONST_THORTARGET Whether the CrplTower can be targeted and damaged by Thor main cannons. Only works for CRPLTowers. 33

Examples

# Get the max AC ammo of the current unit.
 Self CONST_MAXAMMOAC GetUnitAttribute trace
# Show all attributes for a freshly-built CRPL core, or any unit.
once
ShowTraceLog
ClearTraceLog
Trace("CONST_ values...")
@TraceUnitAttributes(Self) # can pass any unit ID, not just Self.
endonce

:TraceUnitAttributes
->UnitID
Trace2(GetUnitAttribute(<-UnitID CONST_ACPACKETREQUESTDELAY) "ACPACKETREQUESTDELAY")
Trace2(GetUnitAttribute(<-UnitID CONST_AMMO)                 "AMMO")
Trace2(GetUnitAttribute(<-UnitID CONST_AMMOAC)               "AMMOAC")
Trace2(GetUnitAttribute(<-UnitID CONST_BUILDCOST)            "BUILDCOST")
Trace2(GetUnitAttribute(<-UnitID CONST_CANREQUESTAMMO)       "CANREQUESTAMMO")
Trace2(GetUnitAttribute(<-UnitID CONST_CELLHEIGHT)           "CELLHEIGHT")
Trace2(GetUnitAttribute(<-UnitID CONST_CELLWIDTH)            "CELLWIDTH")
Trace2(GetUnitAttribute(<-UnitID CONST_CONNECTABLE)          "CONNECTABLE")
Trace2(GetUnitAttribute(<-UnitID CONST_COORDX)               "COORDX")
Trace2(GetUnitAttribute(<-UnitID CONST_COORDY)               "COORDY")
Trace2(GetUnitAttribute(<-UnitID CONST_COUNTSFORVICTORY)     "COUNTSFORVICTORY")
Trace2(GetUnitAttribute(<-UnitID CONST_CREATEPZ)             "CREATEPZ")
Trace2(GetUnitAttribute(<-UnitID CONST_DESTROYMODE)          "DESTROYMODE")
Trace2(GetUnitAttribute(<-UnitID CONST_DESTROYONDAMAGE)      "DESTROYONDAMAGE")
Trace2(GetUnitAttribute(<-UnitID CONST_HEALRATE)             "HEALRATE")
Trace2(GetUnitAttribute(<-UnitID CONST_HEALTH)               "HEALTH")
Trace2(GetUnitAttribute(<-UnitID CONST_ISBUILDING)           "ISBUILDING")
Trace2(GetUnitAttribute(<-UnitID CONST_ISDESTROYED)          "ISDESTROYED")
Trace2(GetUnitAttribute(<-UnitID CONST_ISLANDED)             "ISLANDED")
Trace2(GetUnitAttribute(<-UnitID CONST_MAXAMMO)              "MAXAMMO")
Trace2(GetUnitAttribute(<-UnitID CONST_MAXAMMOAC)            "MAXAMMOAC")
Trace2(GetUnitAttribute(<-UnitID CONST_MAXHEALTH)            "MAXHEALTH")
Trace2(GetUnitAttribute(<-UnitID CONST_NULLIFIERDAMAGES)     "NULLIFIERDAMAGES")
Trace2(GetUnitAttribute(<-UnitID CONST_PACKETREQUESTDELAY)   "PACKETREQUESTDELAY")
Trace2(GetUnitAttribute(<-UnitID CONST_PIXELCOORDX)          "PIXELCOORDX")
Trace2(GetUnitAttribute(<-UnitID CONST_PIXELCOORDY)          "PIXELCOORDY")
Trace2(GetUnitAttribute(<-UnitID CONST_REQUESTACPACKETS)     "REQUESTACPACKETS")
Trace2(GetUnitAttribute(<-UnitID CONST_REQUESTPACKETS)       "REQUESTPACKETS")
Trace2(GetUnitAttribute(<-UnitID CONST_SHOWAMMOACBAR)        "SHOWAMMOACBAR")
Trace2(GetUnitAttribute(<-UnitID CONST_SHOWAMMOBAR)          "SHOWAMMOBAR")
Trace2(GetUnitAttribute(<-UnitID CONST_SHOWHEALTHBAR)        "SHOWHEALTHBAR")
Trace2(GetUnitAttribute(<-UnitID CONST_SNIPERTARGET)         "SNIPERTARGET")
Trace2(GetUnitAttribute(<-UnitID CONST_SUPPORTSDIGITALIS)    "SUPPORTSDIGITALIS")
Trace2(GetUnitAttribute(<-UnitID CONST_TAKEMAPSPACE)         "TAKEMAPSPACE")
Trace2(GetUnitAttribute(<-UnitID CONST_THORTARGET)           "THORTARGET")