List of codepointers

From Eternity Wiki
Jump to navigationJump to search

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