List of codepointers: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
Line 16: Line 16:
! Name
! Name
! Description
! Description
! Origin
|-
|-
||[[CustomPlayerMelee]]||Configurable player melee attack.
||[[CustomPlayerMelee]]||Configurable player melee attack.||Eternity
|-
|-
||[[FireCustomBullets]]||Configurable player bullet (hitscan) attack.
||[[FireCustomBullets]]||Configurable player bullet (hitscan) attack.||Eternity
|-
|-
||[[FirePlayerMissile]]||Configurable player projectile attack.
||[[FirePlayerMissile]]||Configurable player projectile attack.||Eternity
|-
|-
||[[PlayerThunk]]||{{deprecated}} Run monster-specific codepointers as weapon actions.
||[[PlayerThunk]]||{{deprecated}} Run monster-specific codepointers as weapon actions.||Eternity
|}
|}



Revision as of 06:42, 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
FireBFG BFG9000 attack.
FireCGun Chaingun attack.
FireMissile Rocket launcher attack.
FireOldBFG Alpha Doom BFG attack (made available since MBF).
FirePistol Pistol attack.
FirePlasma Plasma rifle attack.
FireShotgun Shotgun attack.
FireShotgun2 Super shotgun attack.
Punch Fist attack.
Saw Chainsaw attack.

Control

Name Description
CheckReload Super shotgun reload check.
CheckReloadEx Extended version of CheckReload that allows counter comparison.
JumpIfNoAmmo Jumps to a state if ammo is gone.
Lower Action during a weapon's lowering sequence.
Raise Action during a weapon's raise sequence.
ReFire Skip frame if shooting is sustained (e.g. for plasma rifle's cooldown effect).
WeaponReady Action during a weapon's idle sequence.

Other

Name Description
EjectCasing Used for the effect of throwing casing.

Muzzle flash effects

Name Description
GunFlash Produces a gun flash sprite without firing anything at the current moment.
Light0 Resets the gun flash light level.
Light1 Sets the gun flash light level to 1.
Light2 Sets the gun flash light level to 2.

DOOM gun sound effects

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

Frame scripting

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

Map objects

Simple movement

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

Name Description
Face Face a specified angle.
Stop Set velocity to 0.
Turn Turn around by a specified angle.

Explosions and flames

BFG9000

Name Description
BFG11KHit SMMU BFG variant.
BFGBurst Produces a burst of smaller plasma projectiles.
BFGSpray Original Doom BFG explosion damage-inflicting afterglow.
BouncingBFG SMMU bouncing BFG.

DOOM 2 Final boss

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

Explosions

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

Homing projectiles

Name Description
GenTracer Generic homing projectile.
HticTracer Heretic nitrogolem homing projectile.
Tracer Revenant homing projectile.

Others

Name Description
Fire Stick on the face of attacker's target, like the archvile's fire effect.
Heretic specific
Name Description
BeastPuff Weredragon fire projectile smoke.
BlueSpark Create a blue D'sparil attack projectile.
GenWizard Spawn a disciple of D'sparil.
LichFireGrow Expand the iron lich fire column projectile.
LichIceImpact Explode iron lich ice globe into shards.
MntrFloorFire Used by the maulotaur ground fire projectile.
PhoenixPuff Phoenix rod missile trail.
PodPain Special effect when pod is damaged.
VolcBallImpact Heretic volcano lava ball impact.
WhirlwindSeek Homing behaviour used by iron lich tornado projectiles.

AI

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

AI attacks

Parameterized

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

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