List of codepointers: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
Line 281: Line 281:
! Name
! Name
! Description
! Description
! Origin
|-
|-
||[[BetaSkullAttack]]||Remote melee attack, as used by the Doom alpha lost souls (available since [[MBF]]).
||[[BetaSkullAttack]]||Remote melee attack, as used by the Doom alpha lost souls (available since [[MBF]]).||MBF beta emulation
|-
|-
||[[BulletAttack]]||Generic bullet (hitscan) shooting.
||[[BulletAttack]]||Generic bullet (hitscan) shooting.||Eternity
|-
|-
||[[MissileAttack]]||Generic projectile shooting.
||[[MissileAttack]]||Generic projectile shooting.||Eternity
|-
|-
||[[MissileSpread]]||'''MissileAttack''' variation, supports shooting in spread patterns.
||[[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.
||[[SargAttack12]]||Old Doom 1.2 style monster melee attack which uses hitscan similar to player's fist.||Doom v1.2
|-
|-
||[[Scratch]]||Generic melee attack.
||[[Scratch]]||Generic melee attack.||MBF
|-
|-
||[[ThingSummon]]||Generic creature summoning.
||[[ThingSummon]]||Generic creature summoning.||Eternity
|}
|}



Revision as of 07:08, 17 April 2020

This list of codepointers is a list of all the action routines which can be used in 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 they will not be usable in the DECORATE syntax, but they all have DECORATE-compatible equivalents.

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

Attacks

Parameterized

Name Description Origin
CustomPlayerMelee Configurable player melee attack. Eternity
FireCustomBullets Configurable player bullet (hitscan) attack. Eternity
FirePlayerMissile Configurable player projectile attack. Eternity
PlayerThunk (deprecated) Run monster-specific codepointers as weapon actions. Eternity

Classic

These exist to support the vanilla Doom player attacks.

Name Description Origin
FireBFG BFG9000 attack. 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. Doom 2
Punch Fist attack. Doom
Saw Chainsaw attack. Doom

Control

Name Description Origin
CheckReload Super shotgun reload check. Doom 2
CheckReloadEx Extended version of CheckReload that allows counter comparison. Eternity
JumpIfNoAmmo Jumps to a state if ammo is gone. ZDoom
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
WeaponReady Action during a weapon's idle sequence. Doom

Other

Name Description Origin
EjectCasing Used for the effect of throwing casing. Eternity

Muzzle flash effects

Name Description Origin
GunFlash Produces a gun flash sprite without firing anything at the current moment. Doom
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

DOOM gun sound effects

Name Description Origin
BFGSound Plays the BFG charge-up sound effect. Doom
CloseShotgun2 Plays the super shotgun closing sound effect. Also includes ReFire. Doom 2
LoadShotgun2 Plays the super shotgun loading sound effect. Doom 2
OpenShotgun2 Plays the super shotgun opening sound effect. Doom 2

Frame scripting

Name Description Origin
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:

Name Description Origin
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

Name Description Origin
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

Name Description Origin
BrainExplode Brain perpetual explosion controller. Doom 2
BrainScream Giant demon wall explosion sequence. Doom 2
SpawnFly Spawn cube controller. Doom 2

Explosions

Name Description Origin
Detonate Thing damage controlled explosion. MBF
DetonateEx Parameterized detonate action. Eternity
Explode Rocket/barrel splash damage. Doom
HticExplode Heretic-compatible explosion. Heretic
Mushroom MBF-style mushroom explosion. MBF
Nailbomb SMMU-style explosion with shrapnels. SMMU

Homing projectiles

Name Description Origin
GenTracer Generic homing projectile. Eternity
HticTracer Heretic nitrogolem homing projectile. Heretic
Tracer Revenant homing projectile. Doom 2

Others

Name Description Origin
Fire Stick on the face of attacker's target, like the archvile's fire effect. Doom 2
Heretic specific
Name Description Origin
BeastPuff Weredragon fire projectile smoke. 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
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

Name Description Origin
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

Name Description Origin
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

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

Heretic

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

Alterations

Name Description
BossDeath special monster death functions (such as Baron death in E1M8)
BrainDie exits the level
CasingThrust movement for ejected casing
Die causes suicide
FadeIn increments alpha
FadeOut decrements alpha, DOESN'T destroy the thing
Fall remove SOLID flag (used on dying monsters)
HideThing Sets DONTDRAW flag on an object
KeenDie open 666-tagged doors on death of all like-named monsters
KillChildren destroy all summoned things
LineEffect activate a tag using a special
PainNukeSpec Pain elemental nuke cheat handler.
RestoreArtifact Adds the SPECIAL flag back to an object, sets the object back into its spawnstate, and plays the object's seesound.
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.
RestoreSpecialThing2 Adds the SPECIAL flag back to an object and sets the object back into its spawnstate.
SetFlags alter flags
SetTranslucent modify alpha amount; setup additiveness or fuzziness
ShowMessage display text message
Spawn create another object on top of this one
SteamSpawn create steam effects
UnHideThing Unsets DONTDRAW flag on an object
UnSetFlags alter flags

Heretic

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

Sound effects

Name Description
AmbientThinker ambient sound maintenance
BabyMetal bspwlk sound effect — also includes Chase!
BrainAwake loud bossit sound effect
BrainPain loud bospn sound effect
FatRaise mancubus warning — also includes FaceTarget
FireCrackle flame sound effect — also includes "Fire" action!
Hoof cyberdemon hoof sound — also includes Chase!
Metal metal sound effect — also includes Chase!
Pain play pain sound
PlayerScream player-specific, health-dependent (death) sound
PlaySound custom sound
PlaySoundEx extended custom sound
Scream play death sound
SkelWhoosh revenant swing noise — also includes FaceTarget
SpawnSound boscub sound effect — also includes SpawnFly
StartFire flamst sound effect — also includes "Fire" action!
VileStart archvile heat-up noise
XScream extreme death gut noise

Frame scripting

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