Difference between revisions of "Actor properties"

From ECWolf Wiki
(Created page with "Properties set various values regarding the behavior of a DECORATE actor. If a propert has the same name as a ZDoom property the behavior shoul...")
 
m
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Properties set various values regarding the behavior of a [[DECORATE]] actor. If a propert has the same name as a [[ZDoom:Actor properties|ZDoom property]] the behavior should be assumed to be similar.
+
Properties set various values regarding the behavior of a [[DECORATE]] actor. If a property has the same name as a [[ZDoom:Actor properties|ZDoom property]] the behavior should be assumed to be similar.
== Actor Properties ==
+
==Actor Properties==
=== Behavior ===
+
===Behavior===
* '''Damage''' ''value''
+
* '''{{LE|Damage}}''' ''value''
:Specifies the amount of damage the actor will do on impact. If the damage is given in parenthesis the value will be absolute. Otherwise, it will use the value*random(1,8).
+
:Specifies the amount of damage the actor will do on impact. If the damage is given in parenthesis the value will be absolute. Otherwise, it will use the value*random(1,8).
* '''GibHealth''' ''value''
+
* '''{{LE|GibHealth}}''' ''value''
 
:The negative health threashold before the actor enters its extreme death state.
 
:The negative health threashold before the actor enters its extreme death state.
* '''Health''' ''value''[, ''skill2'' ...]
+
* '''{{LE|Health}}''' ''value''[, ''skill2'' ...]
:Sets the number of hit points the actor has. If multiple health values are given the health will apply to the next successive skill level. Unspecified skills will use the next highest value. (In other words, if only skills 1 and 2 are given skill 3 will use the value for skill2.)
+
:Sets the number of hit points the actor has. If multiple health values are given the health will apply to the next successive skill level. Unspecified skills will use the next highest value. (In other words, if only skills 1 and 2 are given skill 3 will use the value for skill2.)
* '''PainChance''' ''value''
+
* '''{{LE|PainChance}}''' ''value''
:The chance (out of 256, where 256 = Always) the actor will enter the pain state when damaged.
+
:The chance (out of 256, where 256 = Always) the actor will enter the Pain state when damaged.
* '''SightTime''' ''value''[, ''random'']
+
* '''{{LE|SightTime}}''' ''value''[, ''random'']
:The number of function calls (usually [[A_Look]]) it takes for the actor to react to seeing the player. The random portion is the maximum number of tics to add to the base value.
+
:The number of function calls (usually [[A_Look]]) it takes for the actor to react to seeing the player. The random portion is the maximum number of tics to add to the base value.
* '''Speed''' ''value''[, ''runspeed'']
+
* '''{{LE|Speed}}''' ''value''[, ''runspeed'']
 
:The amount the actor moves in one Doom tic or one call to [[A_Chase]]. The speed will be changed to runspeed when the actor sees the player.
 
:The amount the actor moves in one Doom tic or one call to [[A_Chase]]. The speed will be changed to runspeed when the actor sees the player.
=== Physics ===
+
===Physics===
* '''Height''' ''value''
+
* '''{{LE|Height}}''' ''value''
 
:The height of the actor.  This is ignored at the time, but should be set to 64 for all solid actors for forwards compatibility.
 
:The height of the actor.  This is ignored at the time, but should be set to 64 for all solid actors for forwards compatibility.
* '''Radius''' ''value'
+
* '''{{LE|Radius}}''' ''value'
 
:The radius of the actor.
 
:The radius of the actor.
=== Attacks ===
+
===Attacks===
* '''MissileChance''' ''value''
+
* '''{{LE|MeleeRange}}''' ''value''
:Gives the chance that the monster will enter the attack state. Higher values are more aggressive. '''Warning:''' May change to MinMissileChance.
+
:Gives the maximum distance from the center of the monster that a melee attack can reach.
=== Sound ===
+
* '''{{LE|MinMissileChance}}''' ''value''
* '''ActiveSound''' ''soundname''
+
:Gives the minimum chance (0-256) the monster has of not attacking when attempting to attack. Lower values are more aggressive.
 +
* '''{{LE|MissileFrequency}}''' ''value''
 +
:Gives a floating point multiplier for the missile chance curve. Higher values will make the monster attack more frequently over longer distances.
 +
 
 +
===Sound===
 +
* '''{{LE|ActiveSound}}''' ''soundname''
 
:Defines the sound to randomly play while the actor is active.
 
:Defines the sound to randomly play while the actor is active.
* '''AttackSound''' ''soundname''
+
* '''{{LE|AttackSound}}''' ''soundname''
 
:Defines the sound to play when the actor attacks.
 
:Defines the sound to play when the actor attacks.
* '''DeathSound''' ''soundname''
+
* '''{{LE|DeathSound}}''' ''soundname''
 
:Defines the sound to play when [[A_Scream]] is called.
 
:Defines the sound to play when [[A_Scream]] is called.
* '''PainSound''' ''soundname''
+
* '''{{LE|PainSound}}''' ''soundname''
 
:Defines the sound to play when [[A_Pain]] is called.
 
:Defines the sound to play when [[A_Pain]] is called.
* '''SecretDeathSound''' ''soundname''
+
* '''{{LE|SecretDeathSound}}''' ''soundname''
 
:Defines the alternative deathsound to play when the level requests it.
 
:Defines the alternative deathsound to play when the level requests it.
* '''SeeSound''' ''soundname''
+
* '''{{LE|SeeSound}}''' ''soundname''
 
:Defines the sound to play when the actor sees the player.
 
:Defines the sound to play when the actor sees the player.
=== Special ===
+
===Rendering===
* '''DropItem''' ''classname''[, ''probability''[, ''amount'']]
+
* '''{{LE|Scale}}''' ''value''
:When an actor dies it will drop items based off this property. A probability can be specified (0-255) which indicates the liklihood of the item spawning.  Amount is used for ammunition and indicates how much ammo the pickup should give.
+
* '''{{LE|XScale}}''' ''value''
* '''Points''' ''score''
+
* '''{{LE|YScale}}''' ''value''
 +
:Defines scaling factors for the actor's sprite. Scale sets both xscale and yscale.
 +
===Special===
 +
* '''{{LE|Overheadicon}}''' "''TILE'':''value''"
 +
:What overhead icon the actor should show on the automap.
 +
* '''{{LE|DropItem}}''' ''classname''[, ''probability''[, ''amount'']]
 +
:When an actor dies it will drop items based off this property. A probability can be specified (0-255) which indicates the liklihood of the item spawning.  Amount is used for ammunition and indicates how much ammo the pickup should give.
 +
* '''{{LE|Points}}''' ''score''
 
:Number of points to give to the target when the actor is killed or picked up.
 
:Number of points to give to the target when the actor is killed or picked up.
  
== Additional Properties ==
+
==Additional Properties==
 
The following properties are restricted to a certain set of actors.
 
The following properties are restricted to a certain set of actors.
=== Inventory ===
+
===Inventory===
* '''inventory.amount''' ''amount''
+
* '''{{LE|inventory.amount}}''' ''amount''
 
:Amount to give when picking up the inventory item.
 
:Amount to give when picking up the inventory item.
* '''inventory.icon''' ''icon''
+
* '''{{LE|inventory.icon}}''' ''icon''
 
:Icon to show in the players inventory. ''(Partially implemented)''
 
:Icon to show in the players inventory. ''(Partially implemented)''
* '''inventory.interhubamount''' ''amount''
+
* '''{{LE|inventory.interhubamount}}''' ''amount''
 
:Amount to keep in the players inventory between hubs.
 
:Amount to keep in the players inventory between hubs.
* '''inventory.maxamount''' ''amount''
+
* '''{{LE|inventory.maxamount}}''' ''amount''
 
:Maximum amount of this item the actor can carry at once.
 
:Maximum amount of this item the actor can carry at once.
* '''inventory.pickupsound''' ''soundname''
+
* '''{{LE|ammo.backpackamount}}''' ''amount''
 +
:Amount of the item to be supplied when picking up a backpack.
 +
* '''{{LE|ammo.backpackboostamount}}''' ''amount''
 +
:How much the backpack should boost the item's capacity.
 +
* '''{{LE|ammo.backpackmaxamount}}''' ''amount''
 +
:Maximum amount of this item that backpacks can boost it to.
 +
* '''{{LE|inventory.pickupsound}}''' ''soundname''
 
:Sound to play when picking up the item.
 
:Sound to play when picking up the item.
  
=== Player ===
+
===Player===
* '''player.displayname''' ''name''
+
* '''{{LE|player.damagescreencolor}}''' ''color'' {{New}}
 +
:Color which will be used when player takes damage. Darker shade of it is used with fizzle fade death type.
 +
* '''{{LE|player.displayname}}''' ''name''
 
:Name to show on the class selection screen. Must be unique.
 
:Name to show on the class selection screen. Must be unique.
* '''player.maxhealth''' ''amount''
+
* '''{{LE|player.forwardmove}}''' ''scale''[, ''run-scale'']
 +
:Scales the forward/backward movement speed. Moving backwards will still be scaled by 2/3.
 +
* '''{{LE|player.maxhealth}}''' ''amount''
 
:Maximum health the class has.
 
:Maximum health the class has.
* '''player.startitem''' ''classname''[, ''amount'']
+
* '''{{LE|player.movebob}}''' ''factor''
 +
:Multiplies the strength of the movement bob by the given factor.
 +
* '''{{LE|player.sidemove}}''' ''scale''[, ''run-scale'']
 +
:Scales the strafe speed for the player.
 +
* '''{{LE|player.startitem}}''' ''classname''[, ''amount'']
 
:Specifies an inventory item to give to the player initially. For ammo an amount can also be specified.
 
:Specifies an inventory item to give to the player initially. For ammo an amount can also be specified.
* '''player.weaponslot''' ''slotnum'', ''classname''[, ...]
+
* '''{{LE|player.viewheight}}''' ''height''
 +
:Sets the player's viewheight relative to the ground.
 +
* '''{{LE|player.weaponslot}}''' ''slotnum'', ''classname''[, ...]
 
:Sets the default weapon slot assignment for the class.
 
:Sets the default weapon slot assignment for the class.
  
=== Weapon ===
+
===Weapon===
* '''weapon.ammogive1''' ''amount''
+
* '''{{LE|weapon.ammogive1}}''' ''amount''
 
:Amount of ammo to give when picking up the weapon.
 
:Amount of ammo to give when picking up the weapon.
* '''weapon.ammotype1''' ''classname''
+
* '''{{LE|weapon.ammotype1}}''' ''classname''
 
:The ammo type to use for this weapon.
 
:The ammo type to use for this weapon.
* '''weapon.ammouse1''' ''amount''
+
* '''{{LE|weapon.ammouse1}}''' ''amount''
 
:The amount of ammo to use when firing this weapon.
 
:The amount of ammo to use when firing this weapon.
* '''weapon.selectionorder''' ''value''
+
* '''{{LE|weapon.bobrangex}}''' ''amount''
 +
:Range multiplier for horizontal bobbing. Default is 1.0.
 +
* '''{{LE|weapon.bobrangey}}''' ''amount''
 +
:Range multiplier for vertical bobbing. Default is 1.0.
 +
* '''{{LE|weapon.bobspeed}}''' ''amount''
 +
:Bobbing speed multiplier. Affects how quickly the bobbing motion occurs. Default is 1.0.
 +
* '''{{LE|weapon.bobstyle}}''' ''style''
 +
:The type of bobbing to use. Possible values include ''Normal'', ''Inverse'', ''Alpha'', ''InverseAlpha'', ''Smooth'', and ''InverseSmooth''.
 +
:*''Normal'' is the default value and corresponds to the bobbing motion used in all old Doom-engine games.
 +
:*''Alpha'' is the bobbing motion used in the alpha versions of ''Doom''. The weapon sprites are raised when bobbing, not lowered, so they might get cut off if they do not extend enough past the screen.
 +
:*''Smooth'' is a smoother version of the normal style.
 +
:*''Inverse*'' types mirror the motion vertically compared to the non-inverse version. InverseAlpha lowers the weapon sprite while bobbing; the others raise it.
 +
* '''{{LE|weapon.selectionorder}}''' ''value''
 
:The priority of this weapon when performing auto selections when running out of ammo. Lower numbers are higher priority.
 
:The priority of this weapon when performing auto selections when running out of ammo. Lower numbers are higher priority.
* '''weapon.slotnumber''' ''slotnum''
+
* '''{{LE|weapon.slotnumber}}''' ''slotnum''
 
:Assigns this weapon to a slot for all classes.
 
:Assigns this weapon to a slot for all classes.
* '''weapon.slotpriority''' ''value''
+
* '''{{LE|weapon.slotpriority}}''' ''value''
 
:Decimal value which specifies where to place the weapon in the slot.  0 for the beginning, 1 for the end.
 
:Decimal value which specifies where to place the weapon in the slot.  0 for the beginning, 1 for the end.
* '''weapon.yadjust''' ''amount''
+
* '''{{LE|weapon.yadjust}}''' ''amount''
 
:Amount of shift the weapon sprite when the hud is off.  Positive values shift the sprite down.
 
:Amount of shift the weapon sprite when the hud is off.  Positive values shift the sprite down.
 +
==Flag Combos==
 +
These properties set a series of flags appropriate for a certain kind of actor.
 +
* '''{{LE|MONSTER}}'''
 +
:* {{flag|CANUSEWALLS}}
 +
:* {{flag|COUNTKILL}}
 +
:* {{flag|ISMONSTER}}
 +
:* {{flag|SHOOTABLE}}
 +
:* {{flag|SOLID}}
 +
* '''{{LE|PROJECTILE}}'''
 +
:* {{flag|MISSILE}}

Latest revision as of 03:55, 21 January 2023

Properties set various values regarding the behavior of a DECORATE actor. If a property has the same name as a ZDoom property the behavior should be assumed to be similar.

Actor Properties

Behavior

  • Damage value
Specifies the amount of damage the actor will do on impact. If the damage is given in parenthesis the value will be absolute. Otherwise, it will use the value*random(1,8).
  • GibHealth value
The negative health threashold before the actor enters its extreme death state.
  • Health value[, skill2 ...]
Sets the number of hit points the actor has. If multiple health values are given the health will apply to the next successive skill level. Unspecified skills will use the next highest value. (In other words, if only skills 1 and 2 are given skill 3 will use the value for skill2.)
  • PainChance value
The chance (out of 256, where 256 = Always) the actor will enter the Pain state when damaged.
  • SightTime value[, random]
The number of function calls (usually A_Look) it takes for the actor to react to seeing the player. The random portion is the maximum number of tics to add to the base value.
  • Speed value[, runspeed]
The amount the actor moves in one Doom tic or one call to A_Chase. The speed will be changed to runspeed when the actor sees the player.

Physics

  • Height value
The height of the actor. This is ignored at the time, but should be set to 64 for all solid actors for forwards compatibility.
  • Radius value'
The radius of the actor.

Attacks

  • MeleeRange value
Gives the maximum distance from the center of the monster that a melee attack can reach.
  • MinMissileChance value
Gives the minimum chance (0-256) the monster has of not attacking when attempting to attack. Lower values are more aggressive.
  • MissileFrequency value
Gives a floating point multiplier for the missile chance curve. Higher values will make the monster attack more frequently over longer distances.

Sound

  • ActiveSound soundname
Defines the sound to randomly play while the actor is active.
  • AttackSound soundname
Defines the sound to play when the actor attacks.
  • DeathSound soundname
Defines the sound to play when A_Scream is called.
  • PainSound soundname
Defines the sound to play when A_Pain is called.
  • SecretDeathSound soundname
Defines the alternative deathsound to play when the level requests it.
  • SeeSound soundname
Defines the sound to play when the actor sees the player.

Rendering

  • Scale value
  • XScale value
  • YScale value
Defines scaling factors for the actor's sprite. Scale sets both xscale and yscale.

Special

  • Overheadicon "TILE:value"
What overhead icon the actor should show on the automap.
  • DropItem classname[, probability[, amount]]
When an actor dies it will drop items based off this property. A probability can be specified (0-255) which indicates the liklihood of the item spawning. Amount is used for ammunition and indicates how much ammo the pickup should give.
  • Points score
Number of points to give to the target when the actor is killed or picked up.

Additional Properties

The following properties are restricted to a certain set of actors.

Inventory

  • inventory.amount amount
Amount to give when picking up the inventory item.
  • inventory.icon icon
Icon to show in the players inventory. (Partially implemented)
  • inventory.interhubamount amount
Amount to keep in the players inventory between hubs.
  • inventory.maxamount amount
Maximum amount of this item the actor can carry at once.
  • ammo.backpackamount amount
Amount of the item to be supplied when picking up a backpack.
  • ammo.backpackboostamount amount
How much the backpack should boost the item's capacity.
  • ammo.backpackmaxamount amount
Maximum amount of this item that backpacks can boost it to.
  • inventory.pickupsound soundname
Sound to play when picking up the item.

Player

  • player.damagescreencolor color (New from 1.4)
Color which will be used when player takes damage. Darker shade of it is used with fizzle fade death type.
  • player.displayname name
Name to show on the class selection screen. Must be unique.
  • player.forwardmove scale[, run-scale]
Scales the forward/backward movement speed. Moving backwards will still be scaled by 2/3.
  • player.maxhealth amount
Maximum health the class has.
  • player.movebob factor
Multiplies the strength of the movement bob by the given factor.
  • player.sidemove scale[, run-scale]
Scales the strafe speed for the player.
  • player.startitem classname[, amount]
Specifies an inventory item to give to the player initially. For ammo an amount can also be specified.
  • player.viewheight height
Sets the player's viewheight relative to the ground.
  • player.weaponslot slotnum, classname[, ...]
Sets the default weapon slot assignment for the class.

Weapon

  • weapon.ammogive1 amount
Amount of ammo to give when picking up the weapon.
  • weapon.ammotype1 classname
The ammo type to use for this weapon.
  • weapon.ammouse1 amount
The amount of ammo to use when firing this weapon.
  • weapon.bobrangex amount
Range multiplier for horizontal bobbing. Default is 1.0.
  • weapon.bobrangey amount
Range multiplier for vertical bobbing. Default is 1.0.
  • weapon.bobspeed amount
Bobbing speed multiplier. Affects how quickly the bobbing motion occurs. Default is 1.0.
  • weapon.bobstyle style
The type of bobbing to use. Possible values include Normal, Inverse, Alpha, InverseAlpha, Smooth, and InverseSmooth.
  • Normal is the default value and corresponds to the bobbing motion used in all old Doom-engine games.
  • Alpha is the bobbing motion used in the alpha versions of Doom. The weapon sprites are raised when bobbing, not lowered, so they might get cut off if they do not extend enough past the screen.
  • Smooth is a smoother version of the normal style.
  • Inverse* types mirror the motion vertically compared to the non-inverse version. InverseAlpha lowers the weapon sprite while bobbing; the others raise it.
  • weapon.selectionorder value
The priority of this weapon when performing auto selections when running out of ammo. Lower numbers are higher priority.
  • weapon.slotnumber slotnum
Assigns this weapon to a slot for all classes.
  • weapon.slotpriority value
Decimal value which specifies where to place the weapon in the slot. 0 for the beginning, 1 for the end.
  • weapon.yadjust amount
Amount of shift the weapon sprite when the hud is off. Positive values shift the sprite down.

Flag Combos

These properties set a series of flags appropriate for a certain kind of actor.

  • MONSTER
  • PROJECTILE