Skip to main content

5. Level Modding

Information for creating custom levels and encounters. Documentation on event calls, entity types, etc.

A Comprehensive Guide to Level Modding: A Step-by-Step Process

This guide, when completed, will go over each aspect of modding levels so you can create your own...

Tools

Information about the tools necessary for Level Modding.

Entities

A description of various entities that shape the level.

Entities List (Doom 2016)

A complete list of every entity class in Doom 2016: idAASObstacle idAASReachability idAbnormal...

Entities List (Doom Eternal)

An incomplete list of known entity classes in Doom Eternal: idAASObstacle idAASReachability id...

idAI2

An entity for AI/NPCs, usually demons. idAI2 can be individually placed throughout a map, or mor...

idArchvileTemplate

An entity to control what ai types an Archvile can summon. Usage entity { entityDef example_a...

idDestructible

An entity that can be destroyed by certain actions. Breakable Concrete Wall entity { entityDe...

idDynamicEntity

An entity that consists of various objects not connected to the level geometry. Usage entity { ...

idEncounterManager

An entity that scripts the encounters. This is what is used to spawn in demons. Usage entity { ...

idEncounterTrigger_Commit

An entity used to trigger an encounter manager Usage entity { entityDef example_trigger_commi...

idEncounterTrigger_Exit

An entity used to end an encounter manager Usage entity { entityDef example_trigger_exit { ...

idEncounterTrigger_RaiseUserFlag

An entity used to trigger (raise a flag) for encounters. Usage entity { entityDef example_use...

idEntityFx

An entity that will play FX. Usage entity { layers { "game/pvp/slayer_team" // give the FX...

idEnvironmentalDamage_Hurt_Trigger

An entity that deals damage when entering its volume. Essentially the damaging part of a hazard. ...

idGameChallenge

An entity that determines the game mode for the level. Only one idGameChallenge entity can exist ...

idGuiEntity_Text

An entity that displays text in the world. Example entity { entityDef sample_text { // name o...

idInteractable

An entity that is interactable with a melee input. Some of these entities only work in specific ...

idMover

An entity that can move around on pre-programmed paths, and also scripted to move around from tim...

idMusicEntity

Music Entities are used to play music in the level. Usage entity { entityDef sound_sound_musi...

idParticleEmitter

An entity that emits particles. Usage entity { entityDef example_particle_emitter { inherit...

idPlayerStart

An entity that defines the spawn position for players. Single Player entity { entityDef initi...

idProp2

An entity that will spawn a pickup or barrel. Health entity { entityDef pickups_pickup_health...

idProp_Coop

An entity that can create a physical obstruction for all players. Usage entity { entityDef pr...

idResurrectionProxy

An entity to serve as a summoning location for Summoners. Usage entity { entityDef example_ai...

idSummoningTemplate

An entity to control summoning behaviour of a Summoner. Usage entity { entityDef example_summ...

idTarget_Command

An entity to trigger the specified console commands. 2016 entity { entityDef example_target_c...

idTarget_Count

An entity that is commonly used for relays. As with most computing logic, relays wait for specif...

idTarget_FirstThinkActivate

An entity that will execute on first map load. Usage entity { entityDef first_think_activate_...

idTarget_Notification

An entity that creates a notification on player's screen when triggered. Eternal entity { ent...

idTarget_Remove

An entity that will remove the listed entities when activated. 2016 entity { entityDef exampl...

idTarget_Hide

An entity that will hide the listed entities when activated. Note that not all entities can be h...

idTarget_Show

An entity that will show the listed entities when activated. 2016 entity { entityDef example_...

idTarget_Spawn

An entity to spawn other entities. Primarily used for idAI2 entities. 2016 entity { entityDef...

idTarget_Spawn_Parent

An entity that idTargetSpawnGroup entities use to define what AI can spawn in its spawn group. U...

idTargetSpawnGroup

An entity used to group multiple idTarget_Spawn entities. Target Spawn Groups are used for defin...

idTarget_Teleport

An entity to teleport the player to the specified location when used. 2016 entity { entityDef...

idTarget_Timeline

An entity that plays multiple entities after a set amount of time between each event. Usage ent...

idTrigger

An entity that will trigger its listed targets when used. 2016 entity { entityDef example_tri...

idTrigger_Teleporter & idInfo_TeleportDestination

The idTrigger_Teleporter entity defines the location where the player can teleport from. The idI...

idVolume_PlayerEnvOverride

An entity to overwrite the envSettings decl set by idWorldspawn when within the defined volume. ...

Event Calls

A description of various eventCalls that can be used when building a custom encounter.

activateTarget

An eventCall to activate another entity from an idEncounterManager. Usage item[0] = { eventCa...

clearCombatRoles

An eventCall to clear any combat roles set by a preceding setCombatRoles. Usage item[0] = { e...

clearFactionOverrides

An eventCall to clear any faction overrides set by a preceding setFactionRelation in an idEncount...

damageAI

An eventCall to apply a damage type to the specified ai in an idEncounterManager. Usage item[0]...

designerComment

An eventCall for leaving a comment in an idEncounterManager. Usage item[0] = { eventCall = { ...

forceAIToFlee

An eventCall to that forces spawned ai in an idEncounterManager to flee. Usage item[0] = { ev...

forceChargeOnAllAI

An eventCall to make all spawned ai in an idEncounterManager charge the player. Usage item[0] =...

maintainAICount

An eventCall to maintain a certain quantity of respawning idAI2 in an idEncounterManager. Usage ...

makeAIAwareOfPlayer

An eventCall to make any ai entities spawned in an idEncounterManager, aware of the player. Usag...

migrateAIFromExternalScript

An eventCall to migrate ai entities from another idEncounterManager, into the current encounter m...

proceedToNextScript

An eventCall to proceed to the next script in an idEncounterManager. Usage item[0] = { eventC...

raiseEventFlagOnExternalScript

An eventcall to trigger a flag on an idEncounterManager outside of the one that this eventcall is...

removeAI

An eventCall to remove spawned ai entities from an idEncounterManager. Usage item[0] = { even...

setCombatRoles

An eventCall to assign roles to idAI2 in an idEncounterManager. Usage item[0] = { eventCall =...

setFactionRelation

An eventCall to force an emotion between an instigating and target faction in an idEncounterManag...

setMusicState

An eventCall to change the state of the specified idMusicEntity in an idEncounterManager. Usage ...

setNextScriptIndex

An eventCall to set the index of the next script in an idEncounterManager. Usage item[0] = { ...

spawnAI

An eventCall to spawn multiple idAI2 entities, simultaneously, in an idEncounterManager. Usage ...

spawnArchvile

An eventCall to spawn an Archvile. Usage item[0] = { eventCall = { eventDef = "sp...

spawnBuffPod

An eventCall to spawn a buff totem. Usage item[0] = { eventCall = { eventDef = "s...

spawnPossessedAI

An eventCall to spawn an ai that is already possessed by a spirit in an idEncounterManager. Usag...

spawnSingleAI

An eventCall to spawn a single idAI2 entity in an idEncounterManager. Usage item[0] = { ev...

spawnSpirit

An eventCall to spawn a spirit in an idEncounterManager. Usage item[0] = { eventCall = { e...

spawnSummoner

An eventCall to spawn a Summoner with an idSummoningTemplate Usage item[0] = { eventCall = { ...

staggeredAISpawn

An eventCall to spawn multiple idAI2 entities, with a delay between each spawn, in an idEncounter...

stopMaintainingAICount

An eventCall to end a maintainAICount in an idEncounterManager. Usage This eventCall should onl...

wait

An eventCall that tells the idEncounterManager to wait a specified amount of time before executin...

waitAIHealthLevel

An eventCall that tells the idEncounterManager to wait until the specified ai type reaches a cert...

waitAIRemaining

An eventCall to wait until a certain quantity of specified ai types remain in an idEncounterManag...

waitForEventFlag

An eventCall that waits until a trigger is activated, or a "flag" is raised. Usage item[0] = { ...

waitKillCount

An eventCall that tells the idEncounterManager to wait until a certain quantity of the specified ...

waitMaintainComplete

An eventCall to wait until a preceding maintainAICount finishes. Usage item[0] = { eventCall ...

waitMulitpleConditions

An eventCall for using multiple wait eventCalls in an idEncounterManager. This eventCall is spel...

waitRandomKillCount

An eventCall to wait until a random quantity of specified ai types are killed in an idEncounterMa...

waitStaggeredSpawnComplete

An eventCall to wait until the preceding staggeredAISpawn finishes. Usage item[0] = { eventCa...

Type Lists