====== Actor properties ====== ACSUtils provides wrapper functions for all actor properties. For every property ''**PropertyName**'', ACSUtils provides two functions: ''type GetActor**PropertyName**(int tid)'' ''void SetActor**PropertyName**(int tid, type value)'' The only exception is that [[zdoom>GetActorViewHeight]] is a native ZDoom function that takes crouching into account. To access the actual value of the ViewHeight property, use ''GetActorProperty(tid, APROP_ViewHeight)''. ===== Network optimization ===== All ''SetActor**PropertyName**'' functions first call [[zdoom>GetActorProperty]] and compare the new value of the property to the current one. If both values are the same, [[zdoom>SetActorProperty]] is **not** called. This automatically optimizes bandwidth use in Zandronum multiplayer. function void SetActorHealth(int tid, int Health) { if (GetActorProperty(tid, APROP_Health) != Health) SetActorProperty(tid, APROP_Health, Health); } Some actor properties are optimized by zandronum itself. However, the set of optimized actor properties depends on zandronum version, and not all actor properties are currently optimized (https://zandronum.com/tracker/view.php?id=1609). All string properties are compared in a case-insensitive way before being set. This means, for example, that ''%%SetActorNameTag(0, "Thing")%%'' will not call ''SetActorProperty'' if the **NameTag** property is already set to ''%%"thing"%%''. ===== List of all properties ===== ^ type ^ Name ^ | int | Accuracy | | str | ActiveSound | | fixed | Alpha | | bool | Ambush | | str | AttackSound | | fixed | AttackZOffset | | bool | ChaseGoal | | int | Damage | | fixed | DamageFactor | | fixed | DamageMultiplier | | str | DamageType | | str | DeathSound | | bool | Dormant | | bool | Dropped | | fixed | Friction | | bool | Friendly | | bool | Frightened | | fixed | Gravity | | int | Health | | fixed | Height | | bool | Invulnerable | | fixed | JumpZ | | int | Mass | | int | MasterTID | | fixed | MaxDropOffHeight | | fixed | MaxStepHeight | | fixed | MeleeRange | | str | Nametag | | bool | NoTarget | | bool | NoTrigger | | str | PainSound | | fixed | Radius | | int | ReactionTime | | int | RenderStyle | | fixed | ScaleX | | fixed | ScaleY | | int | Score | | str | SeeSound | | int | SpawnHealth | | str | Species | | fixed | Speed | | int | Stamina | | int | StencilColor | | int | TargetTID | | int | TracerTID | | fixed | ViewHeight | | int | Waterlevel |