// EDF for Eternity Engine v3.35.93 // Thing types define monsters, fireballs, decorations, etc. // Thing types may be defined elsewhere, and order is unimportant. // User-defined thing types should use DeHackEd numbers greater // than 10000 in all cases, to remain compatible with future versions // of Eternity. See the EDF documentation for important information on // the format of thing type fields. // Doom Thing Types ------------------------------------------------------------ // DoomEdNums: 1 - 3999 // DeHackEd Nums: 0 - 137 includeifenabled("doom/things.edf", "DOOM") // Heretic Thing Types --------------------------------------------------------- // DoomEdNums: 7001 - 7299 // DeHackEd Nums: 300 - 399 includeifenabled("heretic/things.edf", "HERETIC") // Common Objects -------------------------------------------------------------- // // TeleportSpot // // This is the object used to tag line-to-thing teleport exit spots. It is // shared by all gamemodes. // thingtype TeleportSpot { doomednum = 14 flags = NOSECTOR|NOBLOCKMAP dehackednum = 42 } // BOOM Objects ---------------------------------------------------------------- thingtype BoomPushPoint { doomednum = 5001 spawnstate = S_TNT1 radius = 0.0001220703125 // haleyjd: very odd values... height = 0.0001220703125 mass = 10 flags = NOBLOCKMAP dehackednum = 138 } thingtype BoomPullPoint { doomednum = 5002 spawnstate = S_TNT1 radius = 0.0001220703125 // haleyjd: very odd values... height = 0.0001220703125 mass = 10 flags = NOBLOCKMAP dehackednum = 139 } // MBF Objects ----------------------------------------------------------------- thingtype MBFHelperDog { doomednum = 888 spawnstate = S_DOGS_STND spawnhealth = 500 seestate = S_DOGS_RUN1 seesound = dgsit attacksound = dgatk painstate = S_DOGS_PAIN painchance = 180 painsound = dgpain meleestate = S_DOGS_ATK1 deathstate = S_DOGS_DIE1 deathsound = dgdth speed = 10 radius = 12.0 height = 28.0 activesound = dgact cflags = SOLID|SHOOTABLE|COUNTKILL|JUMPDOWN|FOOTCLIP|SPACMONSTER|PASSMOBJ|AUTOTRANSLATE raisestate = S_DOGS_RAISE1 obituary_melee = "was chased down by a rabid puppy" dehackednum = 140 } ifenabled(DOOM) thingtype MBFBetaPlasma1 { spawnstate = S_PLS1BALL seesound = plasma deathstate = S_PLS1EXP deathsound = firxpl speed = 25.0 radius = 13.0 height = 8.0 damage = 4 cflags = NOBLOCKMAP|NOGRAVITY|DROPOFF|MISSILE|BOUNCES|NOCROSS|SPACMISSILE mod = BetaBFG dehackednum = 141 } thingtype MBFBetaPlasma2 { spawnstate = S_PLS2BALL seesound = plasma deathstate = S_PLS2BALLX1 deathsound = firxpl speed = 25.0 radius = 6.0 height = 8.0 damage = 4 cflags = NOBLOCKMAP|NOGRAVITY|DROPOFF|MISSILE|BOUNCES|NOCROSS|SPACMISSILE mod = BetaBFG dehackednum = 142 } endif() // SMMU Objects ---------------------------------------------------------------- thingtype SMMUCameraSpot { doomednum = 5003 spawnstate = S_TNT1 mass = 10 flags = NOBLOCKMAP dehackednum = 143 } // Eternity Engine Objects ----------------------------------------------------- ifenabled(DOOM) thingtype EEBetaPlasma3 { spawnstate = S_PLS1BALL deathstate = S_PLS1EXP speed = 25.0 radius = 13.0 height = 8.0 damage = 10 cflags = NOBLOCKMAP|NOGRAVITY|DROPOFF|MISSILE|BOUNCES|NOCROSS mod = BFGBurst dehackednum = 144 } endif() thingtype Unknown { doomednum = 5005 spawnstate = S_UNKNOWN radius = 32.0 height = 56.0 cflags = NOBLOCKMAP|NOGRAVITY } thingtype EESkyboxCam { doomednum = 5006 spawnstate = S_TNT1 radius = 10.0 height = 10.0 mass = 10 flags = NOBLOCKMAP|NOGRAVITY } thingtype EEParticleFountain { spawnstate = S_TNT1 height = 0.0 } thingtype EETerrainLavaSplash { spawnstate = S_LAVASPLASH1 cflags = NOBLOCKMAP|NOGRAVITY|NOSPLASH dehackednum = 145 } thingtype EETerrainLavaSmoke { spawnstate = S_LAVASMOKE1 cflags = NOBLOCKMAP|NOGRAVITY|NOSPLASH translucency = 26624 dehackednum = 146 } thingtype EETerrainWaterSplash { spawnstate = S_SPLASH1 deathstate = S_SPLASHX radius = 2.0 height = 4.0 cflags = NOBLOCKMAP|DROPOFF|MISSILE|LOGRAV|NOSPLASH|NOCROSS|CANNOTPUSH dehackednum = 147 } thingtype EETerrainWaterBase { spawnstate = S_SPLASHBASE1 cflags = NOBLOCKMAP|NOGRAVITY|NOSPLASH dehackednum = 148 } thingtype EETerrainSludgeChunk { spawnstate = S_SLUDGE1 deathstate = S_SLUDGEX radius = 2.0 height = 4.0 mass = 150 cflags = NOBLOCKMAP|DROPOFF|MISSILE|LOGRAV|NOSPLASH|NOCROSS|CANNOTPUSH dehackednum = 149 } thingtype EETerrainSludgeBase { spawnstate = S_SLUDGEBASE1 cflags = NOBLOCKMAP|NOGRAVITY|NOSPLASH dehackednum = 150 } thingtype EEParticleDrip { doomednum = 5007 spawnstate = S_TNT1 radius = 1.0 height = 1.0 flags = NOBLOCKMAP|NOGRAVITY particlefx = DRIP dehackednum = 151 } // Hexen compatible map spots for scripting thingtype EEMapSpot { doomednum = 9001 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOSECTOR|NOGRAVITY dehackednum = 152 } thingtype EEMapSpotGravity { doomednum = 9013 spawnstate = S_TNT1 cflags = DONTDRAW|NOSPLASH dehackednum = 153 } // Polyobject spots thingtype EEPolyObjAnchor { doomednum = 9300 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOSECTOR|NOGRAVITY dehackednum = 154 } thingtype EEPolyObjSpawnSpot { doomednum = 9301 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOSECTOR|NOGRAVITY dehackednum = 155 } thingtype EEPolyObjSpawnSpotCrush { doomednum = 9302 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOSECTOR|NOGRAVITY dehackednum = 156 } thingtype EEPolyObjSpawnSpotDamage { doomednum = 9303 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOSECTOR|NOGRAVITY dehackednum = 157 } // Ambience object thingtype EEAmbience { doomednum = 14065 spawnstate = S_EE_AMBIENCE_SPAWN cflags = NOBLOCKMAP|NOGRAVITY } // Environmental Sequence Point thingtype EEEnviroSequence { doomednum = 1300 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOGRAVITY } // Sector Sequence Override thingtype EESectorSequence { doomednum = 1500 spawnstate = S_TNT1 cflags = NOBLOCKMAP|NOGRAVITY } // What's this??? o_O thingtype EERavenObj { inherits = Unknown doomednum = 5008 skinsprite = EERV } // Doom Builder's 3D mode camera spots often get left in maps. // Let's define an Unknown object with the default DoomEdNum. thingtype DoomBuilderCameraSpot { inherits = Unknown translucency = 33% } // Eternity TC Objects --------------------------------------------------------- // WARNING: NONE of the thingtypes below here are considered documented, and // many are subject to future removal -- most are left-over from Eternity TC // development and have not been removed because they use potentially useful // code that may be generalized for editor use. DO NOT depend upon the presence, // availability, or DeHackEd number of any object below this point. thingtype ETCFogSpawner { doomednum = 6011 spawnstate = S_SPAWNFOG1 flags = NOBLOCKMAP flags2 = NOTHRUST|FLOATBOB|DONTDRAW dehackednum = 227 } thingtype ETCSmallFog { doomednum = 6012 spawnstate = S_FOGPATCHS1 deathstate = S_FOGPATCHS0 speed = 65536 flags = NOBLOCKMAP|NOGRAVITY|NOCLIP|FLOAT|TRANSLUCENT dehackednum = 228 } thingtype ETCMediumFog { doomednum = 6013 spawnstate = S_FOGPATCHM1 deathstate = S_FOGPATCHM0 speed = 65536 flags = NOBLOCKMAP|NOGRAVITY|NOCLIP|FLOAT|TRANSLUCENT dehackednum = 229 } thingtype ETCLargeFog { doomednum = 6014 spawnstate = S_FOGPATCHL1 deathstate = S_FOGPATCHL0 speed = 65536 flags = NOBLOCKMAP|NOGRAVITY|NOCLIP|FLOAT|TRANSLUCENT dehackednum = 230 } thingtype ETCTotalInvisiSphere { doomednum = 6052 spawnstate = S_PNS2_1 flags = SPECIAL|COUNTITEM|TRANSLUCENT dehackednum = 237 } // Damage Types ---------------------------------------------------------------- // Note: the "Unknown" type, number 0, is defined by the engine and cannot be // overridden or altered. It is unnecessary and is not recommended to assign // your own damage types numbers. They are provided for backward compatibility // only. If the obituary string begins with a $, it is a BEX mnemonic for the // internal string to use as the message. // Normal damagetypes damagetype Fist { num = 1; obituary = "$OB_FIST" } damagetype Pistol { num = 2; obituary = "$OB_PISTOL" } damagetype Shotgun { num = 3; obituary = "$OB_SHOTGUN" } damagetype Chaingun { num = 4; obituary = "$OB_CHAINGUN" } damagetype Plasma { num = 7; obituary = "$OB_PLASMA" } damagetype BFG { num = 8; obituary = "$OB_BFG" } damagetype BFG_Splash { num = 9; obituary = "$OB_BFG_SPLASH" } damagetype Chainsaw { num = 10; obituary = "$OB_CHAINSAW" } damagetype SShotgun { num = 11; obituary = "$OB_SSHOTGUN" } damagetype BetaBFG { num = 22; obituary = "$OB_BETABFG" } damagetype BFGBurst { num = 23; obituary = "$OB_BFGBURST" } // Damagetypes that are sourceless, or want to be treated that way. damagetype Slime { num = 12; obituary = "$OB_SLIME"; sourceless = true } damagetype Lava { num = 13; obituary = "$OB_LAVA"; sourceless = true } damagetype Crush { num = 14; obituary = "$OB_CRUSH"; sourceless = true } damagetype Telefrag { num = 15; obituary = "$OB_TELEFRAG"; sourceless = true } damagetype Falling { num = 16; obituary = "$OB_FALLING"; sourceless = true } damagetype Suicide { num = 17; obituary = "$OB_SUICIDE"; sourceless = true } damagetype Barrel { num = 18; obituary = "$OB_BARREL"; sourceless = true } damagetype Splash { num = 19; obituary = "$OB_SPLASH"; sourceless = true } damagetype Quake { num = 26; obituary = "$OB_QUAKE"; sourceless = true } // Damage types that can kill oneself, and thus have a special message for it. damagetype Rocket { num = 5 obituary = "$OB_ROCKET" obituaryself = "$OB_ROCKET_SELF" } damagetype R_Splash { num = 6 obituary = "$OB_R_SPLASH" obituaryself = "$OB_R_SPLASH_SELF" } damagetype BFG11k_Splash { num = 21; obituaryself = "$OB_BFG11K_SELF" } damagetype Grenade { num = 25 obituary = "$OB_GRENADE" obituaryself = "$OB_GRENADE_SELF" } // These two damagetypes are special in that the message they trigger depends on // the thing doing the damage, be it a monster, or a player weapon. damagetype Hit { num = 20 } damagetype PlayerMisc { num = 24 } // These damagetypes are special in that things with certain flag values will // inflict them regardless of the value of their mod field. damagetype Fire { num = 27 }