DECORATE: Difference between revisions
DrinkyBird (talk | contribs) (Improve the descriptions of the "limited use" flags) Tag: Source edit |
(Removed the GIVEFISTINGMEDAL and GIVESPAMMEDAL actor flags, which have been replaced by GivePlayerMedal and A_GivePlayerMedal.) Tag: Source edit |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 6: | Line 6: | ||
* <code>[[A_CheckRailReload]]</code> | * <code>[[A_CheckRailReload]]</code> | ||
* <code>[[A_FireRailgun]]</code> (exists in other ports, but behaves differently) | * <code>[[A_FireRailgun]]</code> (exists in other ports, but behaves differently) | ||
* <code>[[A_ClientsideExecute]]</code> {{Devfeature|3.2|alpha}} | |||
* <code>[[A_GivePlayerMedal]]</code> {{Devfeature|3.2|alpha}} | |||
== Actor flags == | == Actor flags == | ||
Line 22: | Line 24: | ||
* <code>'''SERVERSIDEONLY'''</code> | * <code>'''SERVERSIDEONLY'''</code> | ||
:Actors with this flag will never be spawned clientside, and can only be spawned by the server. As such, these actors will not be synced across the network, using no network bandwidth. Only use it on actors that are always invisible and don't block the movement of players. | :Actors with this flag will never be spawned clientside, and can only be spawned by the server. As such, these actors will not be synced across the network, using no network bandwidth. Only use it on actors that are always invisible and don't block the movement of players. | ||
===(In)abilities=== | ===(In)abilities=== | ||
Line 89: | Line 87: | ||
*<code>'''VisibleToPlayerClass ''classname'''''</code> | *<code>'''VisibleToPlayerClass ''classname'''''</code> | ||
Makes the actor only visible for a certain class. | Makes the actor only visible for a certain class. | ||
*<code>'''Weapon.SwayStyle'''</code> {{Devfeature|3.2|alpha}} | |||
Sway style. One of <code>Normal</code>, <code>DownOnly</code>, <code>UpOnly</code>, or <code>HorizontalOnly</code>. | |||
*<code>'''Weapon.SwaySpeed'''</code> {{Devfeature|3.2|alpha}} | |||
Sway speed. | |||
*<code>'''Weapon.ViewPitchStyle'''</code> {{Devfeature|3.2|alpha}} | |||
Style of view pitch offset (moving weapon sprite when looking up or down). One of <code>Full</code>, <code>DownOnly</code>, <code>UpOnly</code>, <code>DownAndUp</code>, or <code>Centered</code>. | |||
*<code>'''Weapon.ViewPitchOffset'''</code> {{Devfeature|3.2|alpha}} | |||
Number of pixels to offset weapon sprite with view pitch offset. | |||
*<code>'''Weapon.PreferredSkin'''</code> | *<code>'''Weapon.PreferredSkin'''</code> | ||
Forces the Player class to use a certain skin when the weapon is selected. | Forces the Player class to use a certain skin when the weapon is selected. |
Latest revision as of 02:03, 27 May 2024
For more information on the DECORATE lump and its use, see the ZDoom wiki's DECORATE article.
For a list of all the DECORATE functions supported by Zandronum, see List of DECORATE functions in Zandronum.
Action functions
A_FaceConsolePlayer
A_CheckRailReload
A_FireRailgun
(exists in other ports, but behaves differently)A_ClientsideExecute
(development version 3.2-alpha and above only)A_GivePlayerMedal
(development version 3.2-alpha and above only)
Actor flags
Behaviour
ALLOWCLIENTSPAWN
- Spawns the actor on the clientside. This only works for things on the map startup, meaning it will not affect newly spawned actors.
CLIENTSIDEONLY
- Actors with this flag will only be spawned and simulated clientside. If spawned serverside, the server will merely tell clients to spawn it. This is useful for graphical effects such as explosion sprites that do not need to be tracked by the server.
NONETID
- When spawned, actors with this flag will not be assigned a network ID, which is used to synchronise the actor state between the server and its clients. Only use this if you know what you are doing!
DONTIDENTIFYTARGET
- Players using a class with this flag enabled won't be identified when looked at.
SCOREPILLAR
- Used in conjunction with the flag to make the player score a point if he/she is holding the flag/skull item.
SERVERSIDEONLY
- Actors with this flag will never be spawned clientside, and can only be spawned by the server. As such, these actors will not be synced across the network, using no network bandwidth. Only use it on actors that are always invisible and don't block the movement of players.
(In)abilities
FORCEALLYCOLLISION
- A projectile or puff fired by an actor will always collide and push their teammates, even if sv_shootthroughallies or sv_dontpushallies are enabled.
USESPAWNEVENTSCRIPT
- Actors with this flag will trigger GAMEEVENT_ACTOR_SPAWNED just before their first tic.
NOSPAWNEVENTSCRIPT
- Actors with this flag will never trigger GAMEEVENT_ACTOR_SPAWNED, even if ForceSpawnEventScripts is enabled in the GameInfo Definition.
USEDAMAGEEVENTSCRIPT
- Actors with this flag will trigger GAMEEVENT_ACTOR_DAMAGED just before they're about to take damage.
NODAMAGEEVENTSCRIPT
- Actors with this flag will never trigger GAMEEVENT_ACTOR_DAMAGED, even if ForceDamageEventScripts is enabled in the GameInfo Definition.
Inventory
INVENTORY.FORCERESPAWNINSURVIVAL
- Causes the item to respawn in survival, even if respawn items is off.
Weapons
WEAPON.ALLOW_WITH_RESPAWN_INVUL
- Allows the weapon to be used while in respawn protection.
WEAPON.NOLMS
- This weapon is not given in the Last Man Standing game mode.
PIERCEARMOR
- Makes rail attacks ignore armor.
Limited use
BLUETEAM
(deprecated, see theLimitedToTeam
actor property)
- Does nothing, remains for compatibility purposes only.
REDTEAM
(deprecated, see theLimitedToTeam
actor property)
- Does nothing, remains for compatibility purposes only.
NODE
(deprecated)
- Does nothing, remains for compatibility purposes only.
BASEHEALTH
- Indicates that the actor is a base health item, for bot scripting.
SUPERHEALTH
- Indicates that the actor is a super health item, for bot scripting.
BASEARMOR
- Indicates that the actor is a base armor item, for bot scripting.
SUPERARMOR
- Indicates that the actor is a super armor item, for bot scripting.
EXPLODEONDEATH
Actor properties
Inventory.PickupAnnouncerEntry
Plays the specified announcer entry when the item is picked up.
LimitedToTeam teamindex
Forces the Player class to a certain team, i. e. LimitedToTeam 1 would assign this class to the second team in TEAMINFO (default Red; indexes start at 0 and 255 means not on a team and is set by default).
Player.MaxSkinSizeFactor
Adjusts player skin size limits. Example: Player.MaxSkinSizeFactor 3.44, 1.68 //This is also the limit for default skins.
Rune.Color color, alpha
Same as Powerup.Color.
Rune.Type
Sets what the rune does, similar to Powerup.Type. Possible values are DoubleDamage, DoubleFiringSpeed, Drain, Spread, HalfDamage, Regeneration, Prosperity, Reflection, HighJump, Speed25.
SelfObituary
(development version 3.2-alpha and above only)
Defines the obituary used when a player kills themselves with an actor. As with the regular Obituary property, this should be applied to the projectile actor for projectile weapons.
VisibleToTeam teamindex
Makes the actor only visible for a certain team, i. e. VisibleToTeam 1 would make this actor only visible for the second team in TEAMINFO (default Red; indexes start at 0 and 255 means not on a team and is set by default).
VisibleToPlayerClass classname
Makes the actor only visible for a certain class.
Weapon.SwayStyle
(development version 3.2-alpha and above only)
Sway style. One of Normal
, DownOnly
, UpOnly
, or HorizontalOnly
.
Weapon.SwaySpeed
(development version 3.2-alpha and above only)
Sway speed.
Weapon.ViewPitchStyle
(development version 3.2-alpha and above only)
Style of view pitch offset (moving weapon sprite when looking up or down). One of Full
, DownOnly
, UpOnly
, DownAndUp
, or Centered
.
Weapon.ViewPitchOffset
(development version 3.2-alpha and above only)
Number of pixels to offset weapon sprite with view pitch offset.
Weapon.PreferredSkin
Forces the Player class to use a certain skin when the weapon is selected.
Damage factors
spawntelefrag
A separate damage factor for the initial spawn frags with maps lacking player starts. This is different from the telefrag damagefactor.
deadspectate
A special damage type used by SetDeadSpectator when forcing a live player to dead spectators. No obituary message is printed with this damage type.