Thing types: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Backto|Editing reference}}
== New to BOOM ==
== New to BOOM ==
BOOM has implemented two new thing types as well, BoomPushPoint (5001), and BoomPullPoint (5002). These control the origin of the point source wind effect controlled by linedef types 225 and 226, and set whether the wind blows towards or away from the origin depending on which is used.
BOOM has implemented two new thing types as well, BoomPushPoint (5001), and BoomPullPoint (5002). These control the origin of the point source wind effect controlled by linedef types 225 and 226, and set whether the wind blows towards or away from the origin depending on which is used.
Line 11: Line 12:
== New to SMMU ==
== New to SMMU ==


SMMU introduces the following new mapthing types:
SMMU introduces the following mapthing type:


====SMMUCameraSpot (5003)====
*'''SMMUCameraSpot (5003)'''
A general-purpose camera place-holder. These cameras will be randomly chosen during "cool demo playback" and for a view of the level during the intermission.
:A general-purpose camera place-holder. These cameras will be randomly chosen during "cool demo playback" and for a view of the level during the intermission.


== New to Eternity ==
== New to Eternity ==


Eternity introduces the following new mapthing types. Note that this list does not currently contain any Heretic mapthings, which may be documented here or elsewhere in the future. Note that there are also some mapthing types within the engine which are not currently documented. Maps should refrain from using those things until they are made official, as they could change or be deleted later.
Eternity introduces the following new mapthing types. Note that this list does not currently contain any Heretic mapthings, which may be documented in the future. Note that there are also some mapthing types within the engine which are not currently documented. Maps should refrain from using those things until they are made official, as they could change or be deleted later.


====EEEnviroSequence (1200 - 1300)====
*'''EEEnviroSequence (1200 - 1300)'''
This group of objects are all translated into EEEnviroSequence with DoomEdNum 1300. These objects are used to add environmental sound sequences to the environmental sequence manager. For types 1200 through 1299, the sequence number to add is type - 1200. For type 1300, the sequence number is the value in args[0] as specified via ExtraData or the Hexen map format.  
:This group of objects are all translated into EEEnviroSequence with DoomEdNum 1300. These objects are used to add environmental sound sequences to the environmental sequence manager. For types 1200 through 1299, the sequence number to add is type - 1200. For type 1300, the sequence number is the value in args[0] as specified via [[ExtraData]] or the Hexen map format.  


====EESectorSequence (1400 - 1500)====
*'''EESectorSequence (1400 - 1500)'''
This group of objects are all translated into EESectorSequence with DoomEdNum 1500. These objects are used to assign sound sequences to sectors by number. For types 1400 through 1499, the sequence number is type - 1400. For type 1500, the sequence number is the value in args[0] as specified via ExtraData or the Hexen map format. For type 1500, if args[0] is 0, the sector is reset to default sound sequence behavior, even if the MapInfo variable "noautosequences" has been set to "true".  
:This group of objects are all translated into EESectorSequence with DoomEdNum 1500. These objects are used to assign sound sequences to sectors by number. For types 1400 through 1499, the sequence number is type - 1400. For type 1500, the sequence number is the value in args[0] as specified via [[ExtraData]] or the Hexen map format. For type 1500, if args[0] is 0, the sector is reset to default sound sequence behavior, even if the [[MapInfo]] variable "noautosequences" has been set to "true".  


====ExtraData Thing Control Object (5004)====
*'''ExtraData Thing Control Object (5004)'''
This doomednum is used to reference an [[ExtraData]] mapthing record, the number of which must be placed in the options field of this mapthing. There is no EDF thingtype which corresponds to the ExtraData control point; it is only used during map startup to spawn the appropriate ExtraData-defined thing at the location and angle of this mapthing. In the cases that an ExtraData control object references an invalid ExtraData mapthing record, attempts to spawn another ExtraData control object, or references an unknown EDF thingtype mnemonic, the "Unknown" object described below will be spawned as a placeholder. If an EDF thingtype is used which has a doomednum of -1, no thing will be spawned at all. See the ExtraData Reference for full information.
:This doomednum is used to reference an [[ExtraData]] mapthing record, the number of which must be placed in the options field of this mapthing. There is no [[EDF]] thingtype which corresponds to the ExtraData control point; it is only used during map startup to spawn the appropriate ExtraData-defined thing at the location and angle of this mapthing. In the cases that an ExtraData control object references an invalid ExtraData mapthing record, attempts to spawn another ExtraData control object, or references an unknown EDF thingtype mnemonic, the "Unknown" object described below will be spawned as a placeholder. If an EDF thingtype is used which has a doomednum of -1, no thing will be spawned at all. See the ExtraData Reference for full information.


====Unknown (5005)====
*'''Unknown (5005)'''
This thing type is used as a placeholder by EDF, ExtraData, and scripting. It may be spawned when an unknown thing type is requested, and its definition is required by the EDF language, so it is guaranteed to always exist. It uses DoomEd #5005 so that it can be used by ExtraData, but it will not generally be useful in maps.  
:This thing type is used as a placeholder by EDF, ExtraData, and scripting. It may be spawned when an unknown thing type is requested, and its definition is required by the EDF language, so it is guaranteed to always exist. It uses DoomEd #5005 so that it can be used by ExtraData, but it will not generally be useful in maps.  


====EESkyboxCam (5006)====
*'''EESkyboxCam (5006)'''
This thing type determines the origin for rendering of a skybox portal. See the Skybox Portal documentation for complete information.  
:This thing type determines the origin for rendering of a skybox portal. See the [[Portals#Skybox_Portals|Skybox Portal]] documentation for complete information.  


====EEParticleDrip (5007)====
*'''EEParticleDrip (5007)'''
A parameterized particle drip will be spawned at this mapthing's location with properties determined by the mapthing's ExtraData/Hexen arguments list. See the particlefx field documentation in the EDF Documentation for more information on thingtype particle effects, and see the ExtraData Documentation for full information on the ExtraData system.  
:A parameterized particle drip will be spawned at this mapthing's location with properties determined by the mapthing's ExtraData/Hexen arguments list. See the particlefx field documentation in the [[EDF]] Documentation for more information on thingtype particle effects, and see the [[ExtraData]] Documentation for full information on the ExtraData system.  


====EEMapSpot (9001)====
*'''EEMapSpot (9001)'''
This is a Hexen/zdoom-compatible mapspot for scripting purposes. It is especially handy for playing sounds or spawning objects at a particular location without needing to remember the location's x/y/z coordinates.  
:This is a Hexen/ZDoom-compatible mapspot for scripting purposes. It is especially handy for playing sounds or spawning objects at a particular location without needing to remember the location's x/y/z coordinates.  


====EEMapSpotGravity (9013)====
*'''EEMapSpotGravity (9013)'''
This object is exactly the same as EEMapSpot, but it will fall under gravity, allowing it to move up or down with sector floors/ceilings.  
:This object is exactly the same as EEMapSpot, but it will fall under gravity, allowing it to move up or down with sector floors/ceilings.  


====EEParticleFountain (9027 - 9033)====
*'''EEParticleFountain (9027 - 9033)'''
A particle fountain will be spawned at the mapthing's location. The fountain color depends on the mapthing number used, as follows:
:A particle fountain will be spawned at the mapthing's location. The fountain color depends on the mapthing number used, as follows:
* 9027: Red
:* 9027: Red
* 9028: Green
:* 9028: Green
* 9029: Blue
:* 9029: Blue
* 9030: Yellow
:* 9030: Yellow
* 9031: Purple
:* 9031: Purple
* 9032: Black
:* 9032: Black
* 9033: White  
:* 9033: White  
====EEPolyObjAnchor (9300)====
*'''EEPolyObjAnchor (9300)'''
This is a Hexen/zdoom-compatible PolyObject anchor spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the point relative to which lines will be translated and rotated.  
:This is a Hexen/zdoom-compatible PolyObject anchor spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the point relative to which lines will be translated and rotated.  


====EEPolyObjSpawnSpot (9301)====
*'''EEPolyObjSpawnSpot (9301)'''
This is a Hexen/zdoom-compatible PolyObject spawn spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the exact location at which the PolyObject will start at the beginning of play on the map. The anchor spot will be translated exactly to this point, and all lines in the PolyObject are translated relative to it.  
:This is a Hexen/zdoom-compatible PolyObject spawn spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the exact location at which the PolyObject will start at the beginning of play on the map. The anchor spot will be translated exactly to this point, and all lines in the PolyObject are translated relative to it.  


====EEPolyObjSpawnSpotCrush (9302)====
*'''EEPolyObjSpawnSpotCrush (9302)'''
Exactly the same as EEPolyObjSpawnSpot, but PolyObjects which use this object instead will inflict damage upon shootable things which block the course of their movement at a rate of 3 HP/gametic (105 damage per second).  
:Exactly the same as EEPolyObjSpawnSpot, but PolyObjects which use this object instead will inflict damage upon shootable things which block the course of their movement at a rate of 3 HP/gametic (105 damage per second).  


====EEAmbience (14001 - 14065)====
*'''EEPolyObjSpawnSpotDamage (9303)'''
This group of objects are all translated into EEAmbience with DoomEdNum 14065. These objects define control points that utilize EDF ambience definitions. For types 14001 through 14064, the ambience index used by that object is type - 14000. For type 14065, the ambience index used by the object is the value in args[0] as specified via ExtraData or the Hexen map format.
:Harmful polyobject: this particular type of polyobject causes damage to any actor who touches it, without the need for crushing. It has the same doomednum as ZDoom's equivalent. New to Eternity 3.37.00.
 
*'''EEAmbience (14001 - 14065)'''
:This group of objects are all translated into EEAmbience with DoomEdNum 14065. These objects define control points that utilize [[EDF]] ambience definitions. For types 14001 through 14064, the ambience index used by that object is type - 14000. For type 14065, the ambience index used by the object is the value in args[0] as specified via [[ExtraData]] or the Hexen map format.
 
*'''EESoundEnvironment (9048)'''
:Partially ZDoom-compatible method of assigning an environmental effect to a sound zone. This thingtype uses its first two map arguments as the ID1 and ID2 to match an EDF reverb definition and assigns that definition to its spawn sector's sound zone.
 
*'''EENightmareSpectre (889; Dehacked number 158)'''
:Implements PlayStation Doom's subtractively blended spectre w/300 spawnhealth.
 
*'''EEPSXSpectre (890, Dehacked number 159)'''
:Implements PlayStation Doom's additive spectre.
 
*'''EEPSXBloodyChain (891, Dehacked number 160)'''
:Implements PlayStation Doom's bloody chain decorative object. A sprite is not included in eternity.pke. Requires BLCHA0 to be useful.
 
*'''EEBetaLostSoul (9037; Dehacked number 161)'''
:Slightly edited Lost Soul from the press release beta version of Doom.
 
*'''EEMusicChanger (14101 - 14164)'''
:Music changer from Risen3D and PrBoom+. You place it in the map. See [[Doom Wiki:MUSINFO|MUSINFO]] in the Doom Wiki for info on how to use it. The MUSINFO lump is supported in Eternity.
 
==Special==
DOOM thingtypes can now be spawned in other gamemodes' maps via use of DoomEd numbers in the 6000 range.
 
For a normal thingtype with a DoomEd number between 0 and 255, simply add 6000 to its DoomEd number. For example the Arch-vile, with a normal DoomEd number of 64, can be spawned in Heretic using DoomEd number 6064.
 
For DoomEd numbers in the 2000 and 3000 ranges, subtract 2000 or 3000 respectively and then add 6200 or 6300, respectively. For example, 3001 DoomImp can be spawned in Heretic using DoomEd number 6301.
 
==Credits==
This document uses text from the old documentation and new Bifrost feature list (eternity.mancubus.net/text/bifrost_docs.txt)
[[Category:Editing reference]]

Revision as of 14:00, 16 April 2017

Back to Editing reference

New to BOOM

BOOM has implemented two new thing types as well, BoomPushPoint (5001), and BoomPullPoint (5002). These control the origin of the point source wind effect controlled by linedef types 225 and 226, and set whether the wind blows towards or away from the origin depending on which is used.

New to MBF

MBF introduces the following mapthing type:

  • MBFHelperDog (DoomEd #888, DeHackEd #140)
A dog similar to the one found in Wolfenstein. This dog is the one normally spawned with the player when the -dogs command-line option is used. It is not friendly by default, but must be given the FRIEND thing flag if you wish to make it so. Otherwise it will act as a normal enemy.

New to SMMU

SMMU introduces the following mapthing type:

  • SMMUCameraSpot (5003)
A general-purpose camera place-holder. These cameras will be randomly chosen during "cool demo playback" and for a view of the level during the intermission.

New to Eternity

Eternity introduces the following new mapthing types. Note that this list does not currently contain any Heretic mapthings, which may be documented in the future. Note that there are also some mapthing types within the engine which are not currently documented. Maps should refrain from using those things until they are made official, as they could change or be deleted later.

  • EEEnviroSequence (1200 - 1300)
This group of objects are all translated into EEEnviroSequence with DoomEdNum 1300. These objects are used to add environmental sound sequences to the environmental sequence manager. For types 1200 through 1299, the sequence number to add is type - 1200. For type 1300, the sequence number is the value in args[0] as specified via ExtraData or the Hexen map format.
  • EESectorSequence (1400 - 1500)
This group of objects are all translated into EESectorSequence with DoomEdNum 1500. These objects are used to assign sound sequences to sectors by number. For types 1400 through 1499, the sequence number is type - 1400. For type 1500, the sequence number is the value in args[0] as specified via ExtraData or the Hexen map format. For type 1500, if args[0] is 0, the sector is reset to default sound sequence behavior, even if the MapInfo variable "noautosequences" has been set to "true".
  • ExtraData Thing Control Object (5004)
This doomednum is used to reference an ExtraData mapthing record, the number of which must be placed in the options field of this mapthing. There is no EDF thingtype which corresponds to the ExtraData control point; it is only used during map startup to spawn the appropriate ExtraData-defined thing at the location and angle of this mapthing. In the cases that an ExtraData control object references an invalid ExtraData mapthing record, attempts to spawn another ExtraData control object, or references an unknown EDF thingtype mnemonic, the "Unknown" object described below will be spawned as a placeholder. If an EDF thingtype is used which has a doomednum of -1, no thing will be spawned at all. See the ExtraData Reference for full information.
  • Unknown (5005)
This thing type is used as a placeholder by EDF, ExtraData, and scripting. It may be spawned when an unknown thing type is requested, and its definition is required by the EDF language, so it is guaranteed to always exist. It uses DoomEd #5005 so that it can be used by ExtraData, but it will not generally be useful in maps.
  • EESkyboxCam (5006)
This thing type determines the origin for rendering of a skybox portal. See the Skybox Portal documentation for complete information.
  • EEParticleDrip (5007)
A parameterized particle drip will be spawned at this mapthing's location with properties determined by the mapthing's ExtraData/Hexen arguments list. See the particlefx field documentation in the EDF Documentation for more information on thingtype particle effects, and see the ExtraData Documentation for full information on the ExtraData system.
  • EEMapSpot (9001)
This is a Hexen/ZDoom-compatible mapspot for scripting purposes. It is especially handy for playing sounds or spawning objects at a particular location without needing to remember the location's x/y/z coordinates.
  • EEMapSpotGravity (9013)
This object is exactly the same as EEMapSpot, but it will fall under gravity, allowing it to move up or down with sector floors/ceilings.
  • EEParticleFountain (9027 - 9033)
A particle fountain will be spawned at the mapthing's location. The fountain color depends on the mapthing number used, as follows:
  • 9027: Red
  • 9028: Green
  • 9029: Blue
  • 9030: Yellow
  • 9031: Purple
  • 9032: Black
  • 9033: White
  • EEPolyObjAnchor (9300)
This is a Hexen/zdoom-compatible PolyObject anchor spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the point relative to which lines will be translated and rotated.
  • EEPolyObjSpawnSpot (9301)
This is a Hexen/zdoom-compatible PolyObject spawn spot. Each PolyObject defined in a map must have one and only one of these objects, and the object's angle field must be set to the PolyObject's integer id number. This spot determines the exact location at which the PolyObject will start at the beginning of play on the map. The anchor spot will be translated exactly to this point, and all lines in the PolyObject are translated relative to it.
  • EEPolyObjSpawnSpotCrush (9302)
Exactly the same as EEPolyObjSpawnSpot, but PolyObjects which use this object instead will inflict damage upon shootable things which block the course of their movement at a rate of 3 HP/gametic (105 damage per second).
  • EEPolyObjSpawnSpotDamage (9303)
Harmful polyobject: this particular type of polyobject causes damage to any actor who touches it, without the need for crushing. It has the same doomednum as ZDoom's equivalent. New to Eternity 3.37.00.
  • EEAmbience (14001 - 14065)
This group of objects are all translated into EEAmbience with DoomEdNum 14065. These objects define control points that utilize EDF ambience definitions. For types 14001 through 14064, the ambience index used by that object is type - 14000. For type 14065, the ambience index used by the object is the value in args[0] as specified via ExtraData or the Hexen map format.
  • EESoundEnvironment (9048)
Partially ZDoom-compatible method of assigning an environmental effect to a sound zone. This thingtype uses its first two map arguments as the ID1 and ID2 to match an EDF reverb definition and assigns that definition to its spawn sector's sound zone.
  • EENightmareSpectre (889; Dehacked number 158)
Implements PlayStation Doom's subtractively blended spectre w/300 spawnhealth.
  • EEPSXSpectre (890, Dehacked number 159)
Implements PlayStation Doom's additive spectre.
  • EEPSXBloodyChain (891, Dehacked number 160)
Implements PlayStation Doom's bloody chain decorative object. A sprite is not included in eternity.pke. Requires BLCHA0 to be useful.
  • EEBetaLostSoul (9037; Dehacked number 161)
Slightly edited Lost Soul from the press release beta version of Doom.
  • EEMusicChanger (14101 - 14164)
Music changer from Risen3D and PrBoom+. You place it in the map. See MUSINFO in the Doom Wiki for info on how to use it. The MUSINFO lump is supported in Eternity.

Special

DOOM thingtypes can now be spawned in other gamemodes' maps via use of DoomEd numbers in the 6000 range.

For a normal thingtype with a DoomEd number between 0 and 255, simply add 6000 to its DoomEd number. For example the Arch-vile, with a normal DoomEd number of 64, can be spawned in Heretic using DoomEd number 6064.

For DoomEd numbers in the 2000 and 3000 ranges, subtract 2000 or 3000 respectively and then add 6200 or 6300, respectively. For example, 3001 DoomImp can be spawned in Heretic using DoomEd number 6301.

Credits

This document uses text from the old documentation and new Bifrost feature list (eternity.mancubus.net/text/bifrost_docs.txt)