List of codepointers: Difference between revisions
Bloodshedder (talk | contribs) |
Altazimuth (talk | contribs) m (Add CounterDiceRoll to list.) |
||
(164 intermediate revisions by 17 users not shown) | |||
Line 1: | Line 1: | ||
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. | |||
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. | |||
{{backto|EDF state reference}} | |||
{{backto|Eternity Engine}} | |||
=== | ==Player guns== | ||
===Weapon maintenance=== | |||
{|class="wikitable sortable" | |||
! 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=== | ||
====Classic Doom==== | |||
{|class="wikitable sortable" | |||
! 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==== | |||
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 | |||
|} | |||
=== | ====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 | |||
|} | |||
===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 | |||
|} | |||
==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 | |||
|} | |||
===Explosions and flames=== | |||
====BFG9000==== | |||
{|class="wikitable sortable" | |||
! 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==== | ||
{|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 | |||
|} | |||
=== | ====Explosions==== | ||
{|class="wikitable sortable" | |||
! 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===== | |||
{|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 | |||
|} | |||
=== | ====Homing projectiles==== | ||
{|class="wikitable sortable" | |||
! 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==== | ||
{|class="wikitable sortable" | |||
! 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===== | |||
{|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 | |||
|} | |||
=== | ===AI=== | ||
{|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 | |||
|} | |||
=== | ===AI attacks=== | ||
====Parameterized==== | |||
{|class="wikitable sortable" | |||
! 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==== | ||
{|class="wikitable sortable" | |||
! 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 | ====Heretic==== | ||
*[[ | {|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 | |||
|} | |||
=== | ===Alterations=== | ||
{|class="wikitable sortable" | |||
! 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==== | |||
{|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 | |||
|} | |||
=== | ===Sound effects=== | ||
====Generic==== | |||
{|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 | |||
|} | |||
=== | ===Frame scripting=== | ||
{|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 | |||
|} | |||
=== | ===Powerup use=== | ||
These are triggered from [[EDF_item_effects_and_inventory#artifact|artifact]]'s '''useaction''' field, not from states. | |||
{|class="wikitable sortable" | |||
! Name | |||
! Description | |||
! First game it appeared | |||
|- | |||
||[[HticArtiTele]]||Chaos Device action||Heretic | |||
|- | |||
||[[HticSpawnFireBomb]]||Time Bomb of the Ancients action||Heretic | |||
|} | |||
[[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 |