Difference between revisions of "List of codepointers"

From Eternity Wiki
Jump to: navigation, search
m (Miscellaneous Weapon Pointers)
m (Add CounterDiceRoll to list.)
 
(164 intermediate revisions by 17 users not shown)
Line 1: Line 1:
General code pointers can be used in any frame that is not a player gun frame. Player Gun Frame code pointers cannot be used anywhere except in player gun frames. If a code pointer is used in the wrong type of frame, the internal function call stack will be corrupted, a "Segmentation Violation" error will most likely occur, and [[Doom Wiki:Cyberdemon|Cyberdemon]]s will come to get you in the night. This isn't an [[Eternity]] bug or limitation. This problem would eventually manifest itself even in the original doom.exe, as a sudden, unexplained [[Doom Wiki:Venetian blind crash|Venetian Blinds crash]]. There is additionally no way to type-check codepointers at run-time, so the user must accept this responsibility.  
+
This '''list of codepointers''' is a list of all the action routines which can be performed by [[thingtype|things]] from [[EDF]] [[frame]]s. They are common for all games, so for example Heretic codepointers can be used in Doom.
  
Note that as of Eternity Engine v3.31 public beta 3, there is a special codepointer called [[PlayerThunk]], usable via [[EDF]], which allows player gun frames to call a select set of monster codepointers by proxy.  
+
You can specify the codepointers with or without their internal A_ prefix, even inside [[DECORATE state syntax]]. For simplicity, they will be referred in this wiki without the prefix.
  
Parameterized pointers take parameters via fields on the frame in which they are used. The code pointer parameter information will indicate what fields are used as parameters, and what parameter values mean.
+
Note that some codepointers, inherited from MBF, use the '''misc1''' and '''misc2''' frame properties, instead of the more general '''args''' list. Side effects aside, this also means that in the DECORATE syntax they will have to use the '''offset'''(''misc1'', ''misc2'') specifier. They all have DECORATE-friendly equivalents however.
  
==Player Gun Frame Code Pointers==
+
'''IMPORTANT:''' Do not provide more nonzero arguments to the codepointers than specified in the reference. Doing so may break forward compatibility with versions of Eternity that implement new functionality to codepointers.
===Weapon Maintenance Pointers===
 
*[[Light0]]
 
*[[Light1]]
 
*[[Light2]]
 
*[[WeaponReady]]
 
*[[Lower]]
 
*[[Raise]]
 
*[[ReFire]]
 
*[[CheckReload]]
 
*[[GunFlash]]
 
  
===Player Attack Pointers===
+
{{backto|EDF state reference}}
*[[Punch]]
+
{{backto|Eternity Engine}}
*[[FirePistol]]
 
*[[FireShotgun]]
 
*[[FireShotgun2]]
 
*[[FireCGun]]
 
*[[FireMissile]]
 
*[[Saw]]
 
*[[FirePlasma]]
 
*[[FireBFG]]
 
  
===Miscellaneous Weapon Pointers===
+
==Player guns==
*[[BFGSound]]
+
===Weapon maintenance===
*[[OpenShotgun2]]
+
{|class="wikitable sortable"
*[[LoadShotgun2]]
+
! Name
*[[CloseShotgun2]]
+
! Description
 +
! First game it appeared
 +
|-
 +
||[[CheckReload]]||Super shotgun reload check.||Doom 2
 +
|-
 +
||[[CheckReloadEx]]||Extended version of [[CheckReload]] that allows counter comparison.||Eternity
 +
|-
 +
||[[GunFlash]]||Produces a gun flash sprite without firing anything at the current moment.||Doom
 +
|-
 +
||[[JumpIfNoAmmo]]||Jumps to a state if ammo is gone.||ZDoom
 +
|-
 +
||[[Light0]]||Resets the gun flash light level.||Doom
 +
|-
 +
||[[Light1]]||Sets the gun flash light level to 1.||Doom
 +
|-
 +
||[[Light2]]||Sets the gun flash light level to 2.||Doom
 +
|-
 +
||[[Lower]]||Action during a weapon's lowering sequence.||Doom
 +
|-
 +
||[[Raise]]||Action during a weapon's raise sequence.||Doom
 +
|-
 +
||[[ReFire]]||Skip frame if shooting is sustained (e.g. for plasma rifle's cooldown effect).||Doom
 +
|-
 +
||[[SubtractAmmo]]||Consumes one ammo unit without firing.||Eternity
 +
|-
 +
||[[WeaponReady]]||Action during a weapon's idle sequence.||Doom
 +
|}
  
===Parameterized Player Attack Pointers===
+
===Player attacks===
*[[FireCustomBullets]]
+
====Classic Doom====
*[[FirePlayerMissile]]
+
{|class="wikitable sortable"
*[[CustomPlayerMelee]]
+
! Name
*[[PlayerThunk]]
+
! Description
 +
! Specifics
 +
! First game it appeared
 +
|-
 +
||[[BFGsound]]||Plays the BFG charge-up sound effect.||BFG||Doom
 +
|-
 +
||[[CloseShotgun2]]||Plays the super shotgun closing sound effect. Also includes [[ReFire]].||Super shotgun||Doom 2
 +
|-
 +
||[[FireBFG]]||BFG9000 attack.||BFG||Doom
 +
|-
 +
||[[FireCGun]]||Chaingun attack.||||Doom
 +
|-
 +
||[[FireMissile]]||Rocket launcher attack.||||Doom
 +
|-
 +
||[[FireOldBFG]]||Alpha Doom BFG attack (made available since [[MBF]]).||||Doom
 +
|-
 +
||[[FirePistol]]||Pistol attack.||||Doom
 +
|-
 +
||[[FirePlasma]]||Plasma rifle attack.||||Doom
 +
|-
 +
||[[FireShotgun]]||Shotgun attack.||||Doom
 +
|-
 +
||[[FireShotgun2]]||Super shotgun attack.||Super shotgun||Doom 2
 +
|-
 +
||[[LoadShotgun2]]||Plays the super shotgun loading sound effect.||Super shotgun||Doom 2
 +
|-
 +
||[[OpenShotgun2]]||Plays the super shotgun opening sound effect.||Super shotgun||Doom 2
 +
|-
 +
||[[Punch]]||Fist attack.||||Doom
 +
|-
 +
||[[Saw]]||Chainsaw attack.||||Doom
 +
|}
 +
====Classic Heretic====
 +
These exist to support the vanilla Doom and Heretic player attacks.
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[FireBlasterPL1]]||Dragon claw attack.||Heretic
 +
|-
 +
||[[FireCrossbowPL1]]||Ethereal crossbow attack.||Heretic
 +
|-
 +
||[[FireCrossbowPL2]]||Ethereal crossbow attack with Tome of Power.||Heretic
 +
|-
 +
||[[FireGoldWandPL1]]||Elven wand attack.||Heretic
 +
|-
 +
||[[FireGoldWandPL2]]||Elven wand attack with Tome of Power.||Heretic
 +
|-
 +
||[[FireMacePL1]]||Fire mace attack.||Heretic
 +
|-
 +
||[[FireMacePL2]]||Fire mace attack with Tome of Power.||Heretic
 +
|-
 +
||[[FirePhoenixPL1]]||[[Doom Wiki:Phoenix Rod|Phoenix Rod]] attack.||Heretic
 +
|-
 +
||[[FirePhoenixPL2]]||Phoenix rod attack with Tome of Power.||Heretic
 +
|-
 +
||[[FireSkullRodPL1]]||[[Doom Wiki:Hellstaff|Hellstaff]] attack.||Heretic
 +
|-
 +
||[[GauntletAttack]]||Gauntlets of the Necromancer attack.||Heretic
 +
|-
 +
||[[InitPhoenixPL2]]||Heretic Tome of Power Phoenix Rod startup.||Heretic
 +
|}
  
===Weapon Frame Scripting Pointers===
+
====Parameterized====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[CustomPlayerMelee]]||Configurable player melee attack.||Eternity
 +
|-
 +
||[[EjectCasing]]||Used for the effect of throwing casing.||Eternity
 +
|-
 +
||[[FireCustomBullets]]||Configurable player bullet (hitscan) attack.||Eternity
 +
|-
 +
||[[FirePlayerMissile]]||Configurable player projectile attack.||Eternity
 +
|-
 +
||[[PlayerThunk]]||{{deprecated}} Run monster-specific codepointers as weapon actions.||Eternity
 +
|}
  
These pointers allow a degree of programmatic control over an weapon's behavior, and are therefore termed "frame scripting" codepointers.  
+
===Weapon frame scripting===
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[PlayerStartScript]]||Starts map script, as from a player weapon.||Eternity
 +
|-
 +
||[[WeaponCopyCtr]]||Copy counter value to another counter.||Eternity
 +
|-
 +
||[[WeaponCtrOp]]||Computer operation between two counters, storing result into another counter.||Eternity
 +
|-
 +
||[[WeaponCtrJump]]||Change to a given state, based on a counter's value.||Eternity
 +
|-
 +
||[[WeaponCtrSwitch]]||Change to a state from a given list, depending on a counter's value.||Eternity
 +
|-
 +
||[[WeaponSetCtr]]||Assign value to a counter.||Eternity
 +
|}
  
Counter fields may have values from -32768 to 32767. Values above or below this range will wrap around.
+
==Map objects==
 +
===Simple movement===
 +
These operations perform simple effects on thing's direction, position or velocity. The available codepointers are:
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[Face]]||Face a specified angle.||MBF
 +
|-
 +
||[[Stop]]||Set velocity to 0.||MBF beta emulation
 +
|-
 +
||[[Turn]]||Turn around by a specified angle.||MBF
 +
|}
  
*[[WeaponCtrJump]]
+
===Explosions and flames===
*[[WeaponCtrSwitch]]
+
====BFG9000====
*[[WeaponSetCtr]]
+
{|class="wikitable sortable"
*[[WeaponCtrOp]]
+
! Name
*[[WeaponCopyCtr]]
+
! Description
 +
! First game it appeared
 +
|-
 +
||[[BFG11KHit]]||[[SMMU]] BFG variant.||SMMU
 +
|-
 +
||[[BFGBurst]]||Produces a burst of smaller plasma projectiles.||MagDOOM by Cephaler
 +
|-
 +
||[[BFGSpray]]||Original Doom BFG explosion damage-inflicting afterglow.||Doom
 +
|-
 +
||[[BouncingBFG]]||SMMU bouncing BFG.||SMMU
 +
|}
  
==General Code Pointers==
+
====DOOM 2 Final boss====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[BrainExplode]]||Brain perpetual explosion controller.||Doom 2
 +
|-
 +
||[[BrainScream]]||Giant demon wall explosion sequence.||Doom 2
 +
|-
 +
||[[SpawnFly]]||Spawn cube controller.||Doom 2
 +
|}
  
===Miscellaneous Pointers===
+
====Explosions====
*[[BFGSpray]]
+
{|class="wikitable sortable"
*[[BFG11KHit]]
+
! Name
*[[BouncingBFG]]
+
! Description
*[[BFGBurst]]
+
! First game it appeared
*[[Mushroom]]
+
|-
*[[Nailbomb]]
+
||[[Detonate]]||Thing damage controlled explosion.||MBF
*[[SetFlags]]
+
|-
*[[UnSetFlags]]
+
||[[DetonateEx]]||Parameterized detonate action.||Eternity
*[[Fall]]
+
|-
*[[Die]]
+
||[[Explode]]||Rocket/barrel splash damage.||Doom
*[[BrainScream]]
+
|-
*[[BrainExplode]]
+
||[[Mushroom]]||[[MBF]]-style mushroom explosion.||MBF
*[[SpawnFly]]
+
|-
*[[Fire]]
+
||[[MushroomEx]]||Extended mushroom explosion codepointer.||Eternity
*[[Spawn]]
+
|-
*[[Turn]]
+
||[[Nailbomb]]||[[SMMU]]-style explosion with shrapnels.||SMMU
*[[Face]]
+
|}
*[[LineEffect]]
+
=====Heretic=====
*[[Stop]]
+
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[DeathBallImpact]]||Heretic super firemace sphere impact.||Heretic
 +
|-
 +
||[[HticExplode]]||Heretic-compatible explosion.||Heretic
 +
|-
 +
||[[MaceBallImpact]]||Heretic small firemace sphere impact.||Heretic
 +
|-
 +
||[[MaceBallImpact2]]||Heretic medium firemace sphere impact.||Heretic
 +
|}
  
===Heretic Miscellaneous Pointers===
+
====Homing projectiles====
*[[SpawnGlitter]]
+
{|class="wikitable sortable"
*[[AccelGlitter]]
+
! Name
*[[SpawnAbove]]
+
! Description
*[[MummySoul]]
+
! First game it appeared
*[[BlueSpark]]
+
|-
*[[GenWizard]]
+
||[[GenTracer]]||Generic homing projectile.||Eternity
*[[Sor2DthInit]]
+
|-
*[[Sor2DthLoop]]
+
||[[HticTracer]]||Heretic nitrogolem homing projectile (generalized).||Heretic
*[[PodPain]]
+
|-
*[[RemovePod]]
+
||[[MummyFX1Seek]]||Heretic nitrogolem homing projectile (particular).||Heretic
*[[MakePod]]
+
|-
*[[DripBlood]]
+
||[[Tracer]]||Revenant homing projectile.||Doom 2
 +
|}
  
===Miscellaneous / Sound Pointers===
+
====Others====
*[[StartFire]]
+
{|class="wikitable sortable"
*[[FireCrackle]]
+
! Name
*[[SkelWhoosh]]
+
! Description
*[[FatRaise]]
+
! First game it appeared
*[[SpawnSound]]
+
|-
 +
||[[Fire]]||Stick on the face of attacker's target, like the archvile's fire effect.||Doom 2
 +
|}
 +
=====Heretic specific=====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[FlameEnd]]||Phoenix rod flame rising.||Heretic
 +
|-
 +
||[[FloatPuff]]||Phoenix rod flame hitting wall.||Heretic
 +
|-
 +
||[[BeastPuff]]||Weredragon fire projectile smoke.||Heretic
 +
|-
 +
||[[BoltSpark]]||Ethereal arrow trail.||Heretic
 +
|-
 +
||[[BlueSpark]]||Create a blue D'sparil attack projectile.||Heretic
 +
|-
 +
||[[GenWizard]]||Spawn a disciple of D'sparil.||Heretic
 +
|-
 +
||[[LichFireGrow]]||Expand the iron lich fire column projectile.||Heretic
 +
|-
 +
||[[LichIceImpact]]||Explode iron lich ice globe into shards.||Heretic
 +
|-
 +
||[[MacePL1Check]]||Small Heretic mace sphere maintenance.||Heretic
 +
|-
 +
||[[MntrFloorFire]]||Used by the maulotaur ground fire projectile.||Heretic
 +
|-
 +
||[[PhoenixPuff]]||Phoenix rod missile trail.||Heretic
 +
|-
 +
||[[PodPain]]||Special effect when pod is damaged.||Heretic
 +
|-
 +
||[[VolcBallImpact]]||Heretic volcano lava ball impact.||Heretic
 +
|-
 +
||[[WhirlwindSeek]]||Homing behaviour used by iron lich tornado projectiles.||Heretic
 +
|}
  
===Heretic Misc / Sound Pointers===
+
===AI===
*[[Sor1Pain]]
+
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[AlertMonsters]]||Shout so other monsters chase the player.||ZDoom
 +
|-
 +
||[[Chase]]||Pursue a target and check for attacks||Doom
 +
|-
 +
||[[CPosRefire]]||Go to '''seestate''' if target is out of sight.||Doom 2
 +
|-
 +
||[[FaceTarget]]||Turn to target, looking around it if it's partially invisible.||Doom
 +
|-
 +
||[[GenRefire]]||Customizable refire control.||Eternity
 +
|-
 +
||[[KeepChasing]]||pursue target without attacking.||Eternity
 +
|-
 +
||[[Look]]||Stand in guard, looking for targets.||Doom
 +
|-
 +
||[[RandomWalk]]||Random wandering for inactive enemies.||Eternity
 +
|-
 +
||[[Sor1Chase]]||D'sparil's mount specific chase.||Heretic
 +
|-
 +
||[[Sor1Pain]]||D'sparil's mount specific twitch. Calls Pain.||Heretic
 +
|-
 +
||[[SpidRefire]]||Like CPosRefire, slightly modified.||Doom
 +
|-
 +
||[[VileChase]]||Same as Chase, but resurrects encountered cadavres.||Doom 2
 +
|}
  
===Object Sound Pointers===
+
===AI attacks===
*[[PlaySound]]
+
====Parameterized====
*[[Pain]]
+
{|class="wikitable sortable"
*[[Scream]]
+
! Name
*[[XScream]]
+
! Description
*[[PlayerScream]]
+
! First game it appeared
*[[BrainPain]]
+
|-
*[[BrainAwake]]
+
||[[BetaSkullAttack]]||Remote melee attack, as used by the Doom alpha lost souls (available since [[MBF]]).||MBF beta emulation
*[[VileStart]]
+
|-
 +
||[[BulletAttack]]||Generic bullet (hitscan) shooting.||Eternity
 +
|-
 +
||[[MissileAttack]]||Generic projectile shooting.||Eternity
 +
|-
 +
||[[MissileSpread]]||'''MissileAttack''' variation, supports shooting in spread patterns.||Eternity
 +
|-
 +
||[[SargAttack12]]||Old Doom 1.2 style monster melee attack which uses hitscan similar to player's fist.||Doom v1.2
 +
|-
 +
||[[Scratch]]||Generic melee attack.||MBF
 +
|-
 +
||[[ThingSummon]]||Generic creature summoning.||Eternity
 +
|}
  
===AI Pointers===
+
====Original Doom====
*[[Look]]
+
{|class="wikitable sortable"
*[[Chase]]
+
! Name
*[[VileChase]]
+
! Description
*[[FaceTarget]]
+
! First game it appeared
*[[KeepChasing]]
+
|-
*[[RandomWalk]]
+
||[[BrainSpit]]||cube spawn||Doom 2
 +
|-
 +
||[[BruisAttack]]||baron/knight of hell||Doom
 +
|-
 +
||[[BspiAttack]]||arachnotron||Doom 2
 +
|-
 +
||[[CPosAttack]]||pistol attack w/ shotgn noise||Doom 2
 +
|-
 +
||[[CyberAttack]]||rocket launching||Doom
 +
|-
 +
||[[FatAttack1]]||mancubus left attack||Doom 2
 +
|-
 +
||[[FatAttack2]]||mancubus right attack||Doom 2
 +
|-
 +
||[[FatAttack3]]||mancubus front attack||Doom 2
 +
|-
 +
||[[HeadAttack]]||cacodemon||Doom
 +
|-
 +
||[[PainAttack]]||elemental||Doom 2
 +
|-
 +
||[[PainDie]]||elemental death (3 souls)||Doom 2
 +
|-
 +
||[[PosAttack]]||former human||Doom
 +
|-
 +
||[[SargAttack]]||demon bite||Doom
 +
|-
 +
||[[SkelFist]]||revenant punch||Doom 2
 +
|-
 +
||[[SkelMissile]]||revenant missile||Doom 2
 +
|-
 +
||[[SkullAttack]]||flying skull||Doom
 +
|-
 +
||[[SPosAttack]]||sergeant||Doom
 +
|-
 +
||[[TroopAttack]]||imp||Doom
 +
|-
 +
||[[VileAttack]]||arch vile toss||Doom 2
 +
|-
 +
||[[VileTarget]]||spawn a vile fire effect on target||Doom 2
 +
|}
  
===Heretic AI Pointers===
+
====Heretic====
*[[Sor1Chase]]
+
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[BeastAttack]]||weredragon||Heretic
 +
|-
 +
||[[ClinkAttack]]||sabreclaw||Heretic
 +
|-
 +
||[[ImpChargeAtk]]||gargoyle charge||Heretic
 +
|-
 +
||[[ImpMeleeAtk]]||gargoyle scratch||Heretic
 +
|-
 +
||[[ImpMissileAtk]]||gargoyle fire||Heretic
 +
|-
 +
||[[KnightAttack]]||undead warrior||Heretic
 +
|-
 +
||[[LichAttack]]||iron lich random attack **only one which includes ice globes**||Heretic
 +
|-
 +
||[[LichFire]]||iron lich fire column||Heretic
 +
|-
 +
||[[LichWhirlwind]]||iron lich tornado||Heretic
 +
|-
 +
||[[MinotaurAtk1]]||maulotaur melee damage||Heretic
 +
|-
 +
||[[MinotaurAtk2]]||spreadshot||Heretic
 +
|-
 +
||[[MinotaurAtk3]]||straight flame snake||Heretic
 +
|-
 +
||[[MinotaurCharge]]||maulotaur charge||Heretic
 +
|-
 +
||[[MinotaurDecide]]||maulotaur ranged attack choosing||Heretic
 +
|-
 +
||[[MummyAttack]]||golem melee||Heretic
 +
|-
 +
||[[MummyAttack2]]||nitrogolem range||Heretic
 +
|-
 +
||[[SnakeAttack]]||ophidian blue spark||Heretic
 +
|-
 +
||[[SnakeAttack2]]||ophidian yellow shot||Heretic
 +
|-
 +
||[[Srcr1Attack]]||d'sparil mount attack||Heretic
 +
|-
 +
||[[Srcr2Attack]]||d'sparil sorcerer attack||Heretic
 +
|-
 +
||[[Srcr2Decide]]||d'sparil decide whether to teleport||Heretic
 +
|-
 +
||[[VolcanoBlast]]||volcano burst||Heretic
 +
|-
 +
||[[WizardAtk3]]||disciple tri-ball||Heretic
 +
|}
  
===AI Pointers with Walking Sounds===
+
===Alterations===
*[[Metal]]
+
{|class="wikitable sortable"
*[[BabyMetal]]
+
! Name
*[[Hoof]]
+
! Description
 +
! First game it appeared
 +
|-
 +
||[[BossDeath]]||special monster death functions (such as Baron death in E1M8)||Doom
 +
|-
 +
||[[BrainDie]]||exits the level||Doom 2
 +
|-
 +
||[[CasingThrust]]||movement for ejected casing||Eternity
 +
|-
 +
||[[Die]]||causes suicide||MBF
 +
|-
 +
||[[Fall]]||remove SOLID flag (used on dying monsters)||Doom
 +
|-
 +
||[[KeenDie]]||open 666-tagged doors on death of all like-named monsters||Doom 2
 +
|-
 +
||[[KillChildren]]||destroy all summoned things||ZDoom
 +
|-
 +
||[[LineEffect]]||activate a tag using a special||MBF
 +
|-
 +
||[[PainNukeSpec]]||Pain elemental nuke cheat handler.||Eternity
 +
|-
 +
||[[RestoreArtifact]]||Adds the SPECIAL flag back to an object, sets the object back into its spawnstate, and plays the object's seesound.||Heretic
 +
|-
 +
||[[RestoreSpecialThing1]]||Removes the DONTDRAW flag from an object. If the object defines the itemrespawnat property, it will at this time be moved to a random spot if any such spots exist on the map (otherwise the item will remain where it spawned originally). The item will play its seesound.||Heretic
 +
|-
 +
||[[RestoreSpecialThing2]]||Adds the SPECIAL flag back to an object and sets the object back into its spawnstate.||Heretic
 +
|-
 +
||[[SelfDestruct]]||Projectile-compatible counterpart to '''Die'''.||Eternity
 +
|-
 +
||[[SetFlags]]||alter flags||Eternity
 +
|-
 +
||[[SetSpecial]]||alter thing's special and args||ZDoom
 +
|-
 +
||[[ShowMessage]]||display text message||Eternity
 +
|-
 +
||[[Spawn]]||create another object on top of this one||MBF
 +
|-
 +
||[[SpawnEx]]||enhanced spawn variant||Eternity
 +
|-
 +
||[[SteamSpawn]]||create steam effects||Eternity
 +
|-
 +
||[[UnSetFlags]]||alter flags||Eternity
 +
|}
 +
====Visual====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[ClearSkin]]||Removes the sprite skin.||Eternity
 +
|-
 +
||[[FadeIn]]||increments alpha||ZDoom
 +
|-
 +
||[[FadeOut]]||decrements alpha, DOESN'T destroy the thing||ZDoom
 +
|-
 +
||[[HideThing]]||Sets DONTDRAW flag on an object||ZDoom
 +
|-
 +
||[[SetTranslucent]]||modify alpha amount; setup additiveness or fuzziness||ZDoom
 +
|-
 +
||[[UnHideThing]]||Unsets DONTDRAW flag on an object||ZDoom
 +
|-
 +
|}
 +
====Heretic====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[AccelGlitter]]||accelerate upwards||Heretic
 +
|-
 +
||[[DripBlood]]||spawn heretic blood||Heretic
 +
|-
 +
||[[GhostOff]]||Remove the ghost effect||Heretic
 +
|-
 +
||[[HticBossDeath]]||special monster death functions for Heretic||Heretic
 +
|-
 +
||[[Fall|HticDrop]]||{{deprecated}} same thing as [[Fall]]||Heretic
 +
|-
 +
||[[ImpDeath]]||special death for gargoyle||Heretic
 +
|-
 +
||[[ImpExplode]]||crash for gargoyle||Heretic
 +
|-
 +
||[[ImpXDeath1]]||special extreme death for gargoyle, stage 1||Heretic
 +
|-
 +
||[[ImpXDeath2]]||special extreme death for gargoyle, stage 2||Heretic
 +
|-
 +
||[[InitKeyGizmo]]||Heretic key lock orb statue maintenance||Heretic
 +
|-
 +
||[[MakePod]]||generate a pod||Heretic
 +
|-
 +
||[[MummySoul]]||create raising soul||Heretic
 +
|-
 +
||[[PlayerSkull]]||player death effect, when the skull tosses in air||Heretic
 +
|-
 +
||[[RemovePod]]||notifies the generator that this pod was destroyed||Heretic
 +
|-
 +
||[[Sor2DthInit]]||d'sparil death maintenance||Heretic
 +
|-
 +
||[[Sor2DthLoop]]||d'sparil death maintenance||Heretic
 +
|-
 +
||[[SorcererRise]]||d'sparil waking up after mount crash||Heretic
 +
|-
 +
||[[SorcNukeSpec]]||D'sparil handling of the nuke cheat.||Heretic
 +
|-
 +
||[[SpawnAbove]]||spawns above the summoner||Heretic
 +
|-
 +
||[[SpawnGlitter]]||create teleportation sparkle||Heretic
 +
|-
 +
||[[WizardAtk1]]||face target and clear GHOST flag||Heretic
 +
|-
 +
||[[WizardAtk2]]||face target and set GHOST flag||Heretic
 +
|}
  
===Blast Radius Attack Pointers===
+
===Sound effects===
*[[Explode]]
+
====Generic====
*[[Detonate]]
+
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[AmbientThinker]]||ambient sound maintenance||Eternity
 +
|-
 +
||[[Pain]]||play pain sound||Doom
 +
|-
 +
||[[PlayerScream]]||player-specific, health-dependent (death) sound||Doom
 +
|-
 +
||[[PlaySound]]||custom sound||MBF
 +
|-
 +
||[[PlaySoundEx]]||extended custom sound||ZDoom
 +
|-
 +
||[[Scream]]||play death sound||Doom
 +
|-
 +
||[[XScream]]||extreme death gut noise||Doom
 +
|}
 +
====Game specific====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[BrainAwake]]||loud bossit sound effect||Doom 2
 +
|-
 +
||[[BrainPain]]||loud bospn sound effect||Doom 2
 +
|-
 +
||[[ContMobjSound]]||Heretic knight axe and nitrogolem missile sounds||Heretic
 +
|-
 +
||[[ESound]]||Heretic water and wind ambiend sounds||Heretic
 +
|-
 +
||[[FlameSnd]]||Heretic player burning death sound||Heretic
 +
|-
 +
||[[RavenPlayerScream]]||Heretic player scream||Heretic
 +
|-
 +
||'''SorDBon'''||Plays sound 329 ('''ht_sordbon''')||Heretic
 +
|-
 +
||'''SorDExp'''||Plays sound 328 ('''ht_sordexp''')||Heretic
 +
|-
 +
||'''SorDSph'''||Plays sound 327 ('''ht_sordsph''')||Heretic
 +
|-
 +
||'''SorRise'''||Plays sound 322 ('''ht_sorrise''')||Heretic
 +
|-
 +
||'''SorSightSnd'''||Plays sound 323 ('''ht_sorsit''')||Heretic
 +
|-
 +
||'''SorZap'''||Plays sound 321 ('''ht_sorzap''')||Heretic
 +
|-
 +
||[[StartFire]]||flamst sound effect — also includes "Fire" action!||Doom 2
 +
|-
 +
||[[VileStart]]||archvile heat-up noise||Doom 2
 +
|}
 +
=====Combined=====
 +
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[BabyMetal]]||bspwlk sound effect — also includes Chase!||Doom 2
 +
|-
 +
||[[FatRaise]]||mancubus warning — also includes FaceTarget||Doom 2
 +
|-
 +
||[[FireCrackle]]||flame sound effect — also includes "Fire" action!||Doom 2
 +
|-
 +
||[[Hoof]]||cyberdemon hoof sound — also includes Chase!||Doom
 +
|-
 +
||[[Metal]]||metal sound effect — also includes Chase!||Doom
 +
|-
 +
||[[SkelWhoosh]]||revenant swing noise — also includes FaceTarget||Doom 2
 +
|-
 +
||[[SpawnSound]]||boscub sound effect — also includes SpawnFly||Doom 2
 +
|}
  
===Heretic Blast Radius Attack Pointers===
+
===Frame scripting===
*[[HticExplode]]
+
{|class="wikitable sortable"
 +
! Name
 +
! Description
 +
! First game it appeared
 +
|-
 +
||[[AproxDistance]]||assign distance from target to a variable||Eternity
 +
|-
 +
||[[CheckPlayerDone]]||jump to a frame if not under player control||ZDoom
 +
|-
 +
||[[CopyCounter]]||copy a variable to another variable||Eternity
 +
|-
 +
||[[CounterDiceRoll]]||set a variable to the result of a damage calculation||Eternity
 +
|-
 +
||[[CounterJump]]||counter-based next frame||Eternity
 +
|-
 +
||[[CounterJumpEx]]||DECORATE-compatible counter-based next frame||Eternity
 +
|-
 +
||[[CounterOp]]||set a variable to an operation of another 2 variables||Eternity
 +
|-
 +
||[[CounterSwitch]]||counter-based set of frames||Eternity
 +
|-
 +
||[[CounterSwitchEx]]||DECORATE-compatible counter-based set of states||Eternity
 +
|-
 +
||[[HealthJump]]||health-based next frame||Eternity
 +
|-
 +
||[[JumpIfTargetInLOS]]||jump to frame if target is in the field of view||ZDoom
 +
|-
 +
||[[RandomJump]]||random next frame||MBF
 +
|-
 +
||[[Jump]]||Decorate-compatible alternative to RandomJump.||ZDoom
 +
|-
 +
||[[SetCounter]]||set a variable||Eternity
 +
|-
 +
||[[SetTics]]||set frame duration||Eternity
 +
|-
 +
||[[StartScript]]||run map script||Eternity
 +
|-
 +
||[[StartScriptNamed]]||run named map script||Eternity
 +
|-
 +
||[[TargetJump]]||go to designated frame if having a target||Eternity
 +
|}
  
===Monster Attack Pointers===
+
===Powerup use===
*[[PosAttack]]
+
These are triggered from [[EDF_item_effects_and_inventory#artifact|artifact]]'s '''useaction''' field, not from states.
*[[SPosAttack]]
+
{|class="wikitable sortable"
*[[VileTarget]]
+
! Name
*[[VileAttack]]
+
! Description
*[[SkelFist]]
+
! First game it appeared
*[[SkelMissile]]
+
|-
*[[FatAttack1]]
+
||[[HticArtiTele]]||Chaos Device action||Heretic
*[[FatAttack2]]
+
|-
*[[FatAttack3]]
+
||[[HticSpawnFireBomb]]||Time Bomb of the Ancients action||Heretic
*[[CPosAttack]]
+
|}
*[[TroopAttack]]
 
*[[SargAttack]]
 
*[[HeadAttack]]
 
*[[BruisAttack]]
 
*[[SkullAttack]]
 
*[[BspiAttack]]
 
*[[CyberAttack]]
 
*[[PainAttack]]
 
*[[BrainSpit]]
 
 
 
===Parameterized Monster Attacks===
 
*[[BetaSkullAttack]]
 
*[[Scratch]]
 
*[[MissileAttack]]
 
*[[MissileSpread]]
 
*[[BulletAttack]]
 
*[[ThingSummon]]
 
 
 
===Heretic Monster Attack Pointers===
 
*[[MummyAttack]]
 
*[[MummyAttack2]]
 
*[[ClinkAttack]]
 
*[[WizardAtk1]]
 
*[[WizardAtk2]]
 
*[[WizardAtk3]]
 
*[[Srcr2Decide]]
 
*[[Srcr2Attack]]
 
*[[KnightAttack]]
 
*[[BeastAttack]]
 
*[[BeastPuff]]
 
*[[SnakeAttack]]
 
*[[SnakeAttack2]]
 
*[[Srcr1Attack]]
 
*[[VolcanoBlast]]
 
*[[VolcBallImpact]]
 
*[[MinotaurAtk1]]
 
*[[MinotaurDecide]]
 
*[[MinotaurAtk2]]
 
*[[MinotaurAtk3]]
 
*[[MinotaurCharge]]
 
*[[MntrFloorFire]]
 
*[[LichFire]]
 
*[[LichWhirlwind]]
 
*[[LichAttack]]
 
*[[LichIceImpact]]
 
*[[LichFireGrow]]
 
*[[ImpChargeAtk]]
 
*[[ImpMeleeAtk]]
 
*[[ImpMissileAtk]]
 
 
 
===Homing Missile Maintenance Pointers===
 
*[[Tracer]]
 
*[[GenTracer]]
 
 
 
===Heretic Homing Missile Maintenance Pointers===
 
*[[HticTracer]]
 
*[[WhirlwindSeek]]
 
 
 
===Line of Sight Checking Pointers===
 
*[[CPosRefire]]
 
*[[SpidRefire]]
 
 
 
===Special Monster Death Effects===
 
*[[PainDie]]
 
*[[KeenDie]]
 
*[[BossDeath]]
 
*[[BrainDie]]
 
*[[KillChildren]]
 
 
 
===Heretic Special Monster Death Effects===
 
*[[HticBossDeath]]
 
*[[SorcererRise]]
 
*[[ImpDeath]]
 
*[[ImpXDeath1]]
 
*[[ImpXDeath2]]
 
*[[ImpExplode]]
 
 
 
===Massacre Cheat Specials===
 
*[[PainNukeSpec]]
 
*[[SorcNukeSpec]]
 
 
 
===Frame Scripting Pointers===
 
 
 
These pointers allow a degree of programmatic control over an object's behavior, and are therefore termed "frame scripting" codepointers. Note that some other codepointers utilize the Counter fields of a thing, and so using those pointers along with these will cause interference. Codepointer descriptions now make note of which Counter fields they utilize, so be sure to check for conflicts.
 
 
 
Counter fields may have values from -32768 to 32767. Values above or below this range will wrap around.
 
 
 
*[[RandomJump]]
 
*[[HealthJump]]
 
*[[TargetJump]]
 
*[[CounterJump]]
 
*[[CounterSwitch]]
 
*[[SetCounter]]
 
*[[CounterOp]]
 
*[[CopyCounter]]
 
*[[SetTics]]
 
*[[AproxDistance]]
 
 
 
===Small Scripting System===
 
 
 
These codepointers allow execution of Small functions in either of the Gamescript or Levelscript VMs. See the [[Small]] Usage Documentation and the Small Function Reference for full information.
 
 
 
*[[StartScript]]
 
*[[PlayerStartScript]]
 
 
 
===EDF-Related Pointers===
 
 
 
These pointers interact directly with parts of the EDF system. For more information on EDF, see the [[EDF]] Documentation.
 
 
 
*[[ShowMessage]]
 
  
 
[[Category:Codepointers|*]]
 
[[Category:Codepointers|*]]
 +
[[Category:EDF]]

Latest revision as of 10:18, 9 February 2021

This list of codepointers is a list of all the action routines which can be performed by things from EDF frames. They are common for all games, so for example Heretic codepointers can be used in Doom.

You can specify the codepointers with or without their internal A_ prefix, even inside DECORATE state syntax. For simplicity, they will be referred in this wiki without the prefix.

Note that some codepointers, inherited from MBF, use the misc1 and misc2 frame properties, instead of the more general args list. Side effects aside, this also means that in the DECORATE syntax they will have to use the offset(misc1, misc2) specifier. They all have DECORATE-friendly equivalents however.

IMPORTANT: Do not provide more nonzero arguments to the codepointers than specified in the reference. Doing so may break forward compatibility with versions of Eternity that implement new functionality to codepointers.

Back to EDF state reference
Back to Eternity Engine

Player guns[edit]

Weapon maintenance[edit]

Name Description First game it appeared
CheckReload Super shotgun reload check. Doom 2
CheckReloadEx Extended version of CheckReload that allows counter comparison. Eternity
GunFlash Produces a gun flash sprite without firing anything at the current moment. Doom
JumpIfNoAmmo Jumps to a state if ammo is gone. ZDoom
Light0 Resets the gun flash light level. Doom
Light1 Sets the gun flash light level to 1. Doom
Light2 Sets the gun flash light level to 2. Doom
Lower Action during a weapon's lowering sequence. Doom
Raise Action during a weapon's raise sequence. Doom
ReFire Skip frame if shooting is sustained (e.g. for plasma rifle's cooldown effect). Doom
SubtractAmmo Consumes one ammo unit without firing. Eternity
WeaponReady Action during a weapon's idle sequence. Doom

Player attacks[edit]

Classic Doom[edit]

Name Description Specifics First game it appeared
BFGsound Plays the BFG charge-up sound effect. BFG Doom
CloseShotgun2 Plays the super shotgun closing sound effect. Also includes ReFire. Super shotgun Doom 2
FireBFG BFG9000 attack. BFG Doom
FireCGun Chaingun attack. Doom
FireMissile Rocket launcher attack. Doom
FireOldBFG Alpha Doom BFG attack (made available since MBF). Doom
FirePistol Pistol attack. Doom
FirePlasma Plasma rifle attack. Doom
FireShotgun Shotgun attack. Doom
FireShotgun2 Super shotgun attack. Super shotgun Doom 2
LoadShotgun2 Plays the super shotgun loading sound effect. Super shotgun Doom 2
OpenShotgun2 Plays the super shotgun opening sound effect. Super shotgun Doom 2
Punch Fist attack. Doom
Saw Chainsaw attack. Doom

Classic Heretic[edit]

These exist to support the vanilla Doom and Heretic player attacks.

Name Description First game it appeared
FireBlasterPL1 Dragon claw attack. Heretic
FireCrossbowPL1 Ethereal crossbow attack. Heretic
FireCrossbowPL2 Ethereal crossbow attack with Tome of Power. Heretic
FireGoldWandPL1 Elven wand attack. Heretic
FireGoldWandPL2 Elven wand attack with Tome of Power. Heretic
FireMacePL1 Fire mace attack. Heretic
FireMacePL2 Fire mace attack with Tome of Power. Heretic
FirePhoenixPL1 Phoenix Rod attack. Heretic
FirePhoenixPL2 Phoenix rod attack with Tome of Power. Heretic
FireSkullRodPL1 Hellstaff attack. Heretic
GauntletAttack Gauntlets of the Necromancer attack. Heretic
InitPhoenixPL2 Heretic Tome of Power Phoenix Rod startup. Heretic

Parameterized[edit]

Name Description First game it appeared
CustomPlayerMelee Configurable player melee attack. Eternity
EjectCasing Used for the effect of throwing casing. Eternity
FireCustomBullets Configurable player bullet (hitscan) attack. Eternity
FirePlayerMissile Configurable player projectile attack. Eternity
PlayerThunk (deprecated) Run monster-specific codepointers as weapon actions. Eternity

Weapon frame scripting[edit]

Name Description First game it appeared
PlayerStartScript Starts map script, as from a player weapon. Eternity
WeaponCopyCtr Copy counter value to another counter. Eternity
WeaponCtrOp Computer operation between two counters, storing result into another counter. Eternity
WeaponCtrJump Change to a given state, based on a counter's value. Eternity
WeaponCtrSwitch Change to a state from a given list, depending on a counter's value. Eternity
WeaponSetCtr Assign value to a counter. Eternity

Map objects[edit]

Simple movement[edit]

These operations perform simple effects on thing's direction, position or velocity. The available codepointers are:

Name Description First game it appeared
Face Face a specified angle. MBF
Stop Set velocity to 0. MBF beta emulation
Turn Turn around by a specified angle. MBF

Explosions and flames[edit]

BFG9000[edit]

Name Description First game it appeared
BFG11KHit SMMU BFG variant. SMMU
BFGBurst Produces a burst of smaller plasma projectiles. MagDOOM by Cephaler
BFGSpray Original Doom BFG explosion damage-inflicting afterglow. Doom
BouncingBFG SMMU bouncing BFG. SMMU

DOOM 2 Final boss[edit]

Name Description First game it appeared
BrainExplode Brain perpetual explosion controller. Doom 2
BrainScream Giant demon wall explosion sequence. Doom 2
SpawnFly Spawn cube controller. Doom 2

Explosions[edit]

Name Description First game it appeared
Detonate Thing damage controlled explosion. MBF
DetonateEx Parameterized detonate action. Eternity
Explode Rocket/barrel splash damage. Doom
Mushroom MBF-style mushroom explosion. MBF
MushroomEx Extended mushroom explosion codepointer. Eternity
Nailbomb SMMU-style explosion with shrapnels. SMMU
Heretic[edit]
Name Description First game it appeared
DeathBallImpact Heretic super firemace sphere impact. Heretic
HticExplode Heretic-compatible explosion. Heretic
MaceBallImpact Heretic small firemace sphere impact. Heretic
MaceBallImpact2 Heretic medium firemace sphere impact. Heretic

Homing projectiles[edit]

Name Description First game it appeared
GenTracer Generic homing projectile. Eternity
HticTracer Heretic nitrogolem homing projectile (generalized). Heretic
MummyFX1Seek Heretic nitrogolem homing projectile (particular). Heretic
Tracer Revenant homing projectile. Doom 2

Others[edit]

Name Description First game it appeared
Fire Stick on the face of attacker's target, like the archvile's fire effect. Doom 2
Heretic specific[edit]
Name Description First game it appeared
FlameEnd Phoenix rod flame rising. Heretic
FloatPuff Phoenix rod flame hitting wall. Heretic
BeastPuff Weredragon fire projectile smoke. Heretic
BoltSpark Ethereal arrow trail. Heretic
BlueSpark Create a blue D'sparil attack projectile. Heretic
GenWizard Spawn a disciple of D'sparil. Heretic
LichFireGrow Expand the iron lich fire column projectile. Heretic
LichIceImpact Explode iron lich ice globe into shards. Heretic
MacePL1Check Small Heretic mace sphere maintenance. Heretic
MntrFloorFire Used by the maulotaur ground fire projectile. Heretic
PhoenixPuff Phoenix rod missile trail. Heretic
PodPain Special effect when pod is damaged. Heretic
VolcBallImpact Heretic volcano lava ball impact. Heretic
WhirlwindSeek Homing behaviour used by iron lich tornado projectiles. Heretic

AI[edit]

Name Description First game it appeared
AlertMonsters Shout so other monsters chase the player. ZDoom
Chase Pursue a target and check for attacks Doom
CPosRefire Go to seestate if target is out of sight. Doom 2
FaceTarget Turn to target, looking around it if it's partially invisible. Doom
GenRefire Customizable refire control. Eternity
KeepChasing pursue target without attacking. Eternity
Look Stand in guard, looking for targets. Doom
RandomWalk Random wandering for inactive enemies. Eternity
Sor1Chase D'sparil's mount specific chase. Heretic
Sor1Pain D'sparil's mount specific twitch. Calls Pain. Heretic
SpidRefire Like CPosRefire, slightly modified. Doom
VileChase Same as Chase, but resurrects encountered cadavres. Doom 2

AI attacks[edit]

Parameterized[edit]

Name Description First game it appeared
BetaSkullAttack Remote melee attack, as used by the Doom alpha lost souls (available since MBF). MBF beta emulation
BulletAttack Generic bullet (hitscan) shooting. Eternity
MissileAttack Generic projectile shooting. Eternity
MissileSpread MissileAttack variation, supports shooting in spread patterns. Eternity
SargAttack12 Old Doom 1.2 style monster melee attack which uses hitscan similar to player's fist. Doom v1.2
Scratch Generic melee attack. MBF
ThingSummon Generic creature summoning. Eternity

Original Doom[edit]

Name Description First game it appeared
BrainSpit cube spawn Doom 2
BruisAttack baron/knight of hell Doom
BspiAttack arachnotron Doom 2
CPosAttack pistol attack w/ shotgn noise Doom 2
CyberAttack rocket launching Doom
FatAttack1 mancubus left attack Doom 2
FatAttack2 mancubus right attack Doom 2
FatAttack3 mancubus front attack Doom 2
HeadAttack cacodemon Doom
PainAttack elemental Doom 2
PainDie elemental death (3 souls) Doom 2
PosAttack former human Doom
SargAttack demon bite Doom
SkelFist revenant punch Doom 2
SkelMissile revenant missile Doom 2
SkullAttack flying skull Doom
SPosAttack sergeant Doom
TroopAttack imp Doom
VileAttack arch vile toss Doom 2
VileTarget spawn a vile fire effect on target Doom 2

Heretic[edit]

Name Description First game it appeared
BeastAttack weredragon Heretic
ClinkAttack sabreclaw Heretic
ImpChargeAtk gargoyle charge Heretic
ImpMeleeAtk gargoyle scratch Heretic
ImpMissileAtk gargoyle fire Heretic
KnightAttack undead warrior Heretic
LichAttack iron lich random attack **only one which includes ice globes** Heretic
LichFire iron lich fire column Heretic
LichWhirlwind iron lich tornado Heretic
MinotaurAtk1 maulotaur melee damage Heretic
MinotaurAtk2 spreadshot Heretic
MinotaurAtk3 straight flame snake Heretic
MinotaurCharge maulotaur charge Heretic
MinotaurDecide maulotaur ranged attack choosing Heretic
MummyAttack golem melee Heretic
MummyAttack2 nitrogolem range Heretic
SnakeAttack ophidian blue spark Heretic
SnakeAttack2 ophidian yellow shot Heretic
Srcr1Attack d'sparil mount attack Heretic
Srcr2Attack d'sparil sorcerer attack Heretic
Srcr2Decide d'sparil decide whether to teleport Heretic
VolcanoBlast volcano burst Heretic
WizardAtk3 disciple tri-ball Heretic

Alterations[edit]

Name Description First game it appeared
BossDeath special monster death functions (such as Baron death in E1M8) Doom
BrainDie exits the level Doom 2
CasingThrust movement for ejected casing Eternity
Die causes suicide MBF
Fall remove SOLID flag (used on dying monsters) Doom
KeenDie open 666-tagged doors on death of all like-named monsters Doom 2
KillChildren destroy all summoned things ZDoom
LineEffect activate a tag using a special MBF
PainNukeSpec Pain elemental nuke cheat handler. Eternity
RestoreArtifact Adds the SPECIAL flag back to an object, sets the object back into its spawnstate, and plays the object's seesound. Heretic
RestoreSpecialThing1 Removes the DONTDRAW flag from an object. If the object defines the itemrespawnat property, it will at this time be moved to a random spot if any such spots exist on the map (otherwise the item will remain where it spawned originally). The item will play its seesound. Heretic
RestoreSpecialThing2 Adds the SPECIAL flag back to an object and sets the object back into its spawnstate. Heretic
SelfDestruct Projectile-compatible counterpart to Die. Eternity
SetFlags alter flags Eternity
SetSpecial alter thing's special and args ZDoom
ShowMessage display text message Eternity
Spawn create another object on top of this one MBF
SpawnEx enhanced spawn variant Eternity
SteamSpawn create steam effects Eternity
UnSetFlags alter flags Eternity

Visual[edit]

Name Description First game it appeared
ClearSkin Removes the sprite skin. Eternity
FadeIn increments alpha ZDoom
FadeOut decrements alpha, DOESN'T destroy the thing ZDoom
HideThing Sets DONTDRAW flag on an object ZDoom
SetTranslucent modify alpha amount; setup additiveness or fuzziness ZDoom
UnHideThing Unsets DONTDRAW flag on an object ZDoom

Heretic[edit]

Name Description First game it appeared
AccelGlitter accelerate upwards Heretic
DripBlood spawn heretic blood Heretic
GhostOff Remove the ghost effect Heretic
HticBossDeath special monster death functions for Heretic Heretic
HticDrop (deprecated) same thing as Fall Heretic
ImpDeath special death for gargoyle Heretic
ImpExplode crash for gargoyle Heretic
ImpXDeath1 special extreme death for gargoyle, stage 1 Heretic
ImpXDeath2 special extreme death for gargoyle, stage 2 Heretic
InitKeyGizmo Heretic key lock orb statue maintenance Heretic
MakePod generate a pod Heretic
MummySoul create raising soul Heretic
PlayerSkull player death effect, when the skull tosses in air Heretic
RemovePod notifies the generator that this pod was destroyed Heretic
Sor2DthInit d'sparil death maintenance Heretic
Sor2DthLoop d'sparil death maintenance Heretic
SorcererRise d'sparil waking up after mount crash Heretic
SorcNukeSpec D'sparil handling of the nuke cheat. Heretic
SpawnAbove spawns above the summoner Heretic
SpawnGlitter create teleportation sparkle Heretic
WizardAtk1 face target and clear GHOST flag Heretic
WizardAtk2 face target and set GHOST flag Heretic

Sound effects[edit]

Generic[edit]

Name Description First game it appeared
AmbientThinker ambient sound maintenance Eternity
Pain play pain sound Doom
PlayerScream player-specific, health-dependent (death) sound Doom
PlaySound custom sound MBF
PlaySoundEx extended custom sound ZDoom
Scream play death sound Doom
XScream extreme death gut noise Doom

Game specific[edit]

Name Description First game it appeared
BrainAwake loud bossit sound effect Doom 2
BrainPain loud bospn sound effect Doom 2
ContMobjSound Heretic knight axe and nitrogolem missile sounds Heretic
ESound Heretic water and wind ambiend sounds Heretic
FlameSnd Heretic player burning death sound Heretic
RavenPlayerScream Heretic player scream Heretic
SorDBon Plays sound 329 (ht_sordbon) Heretic
SorDExp Plays sound 328 (ht_sordexp) Heretic
SorDSph Plays sound 327 (ht_sordsph) Heretic
SorRise Plays sound 322 (ht_sorrise) Heretic
SorSightSnd Plays sound 323 (ht_sorsit) Heretic
SorZap Plays sound 321 (ht_sorzap) Heretic
StartFire flamst sound effect — also includes "Fire" action! Doom 2
VileStart archvile heat-up noise Doom 2
Combined[edit]
Name Description First game it appeared
BabyMetal bspwlk sound effect — also includes Chase! Doom 2
FatRaise mancubus warning — also includes FaceTarget Doom 2
FireCrackle flame sound effect — also includes "Fire" action! Doom 2
Hoof cyberdemon hoof sound — also includes Chase! Doom
Metal metal sound effect — also includes Chase! Doom
SkelWhoosh revenant swing noise — also includes FaceTarget Doom 2
SpawnSound boscub sound effect — also includes SpawnFly Doom 2

Frame scripting[edit]

Name Description First game it appeared
AproxDistance assign distance from target to a variable Eternity
CheckPlayerDone jump to a frame if not under player control ZDoom
CopyCounter copy a variable to another variable Eternity
CounterDiceRoll set a variable to the result of a damage calculation Eternity
CounterJump counter-based next frame Eternity
CounterJumpEx DECORATE-compatible counter-based next frame Eternity
CounterOp set a variable to an operation of another 2 variables Eternity
CounterSwitch counter-based set of frames Eternity
CounterSwitchEx DECORATE-compatible counter-based set of states Eternity
HealthJump health-based next frame Eternity
JumpIfTargetInLOS jump to frame if target is in the field of view ZDoom
RandomJump random next frame MBF
Jump Decorate-compatible alternative to RandomJump. ZDoom
SetCounter set a variable Eternity
SetTics set frame duration Eternity
StartScript run map script Eternity
StartScriptNamed run named map script Eternity
TargetJump go to designated frame if having a target Eternity

Powerup use[edit]

These are triggered from artifact's useaction field, not from states.

Name Description First game it appeared
HticArtiTele Chaos Device action Heretic
HticSpawnFireBomb Time Bomb of the Ancients action Heretic