List of codepointers: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
m (Add new codepointer, A_CounterSwitchEx.)
(35 intermediate revisions by 14 users not shown)
Line 1: Line 1:
This '''list of codepointers''' is a list of all the action routines which can be used in [[EDF]] [[frame]]s. The Heretic actions ''can'' be used in Doom based modifications.
This '''list of codepointers''' is a list of all the action routines which can be used in [[EDF]] [[frame]]s. They are common for all games, so for example Heretic codepointers can be used in Doom.


TYVM you've solved all my prbeomls
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.
 
{{backto|EDF state reference}}
{{backto|Eternity Engine}}
 
=Player guns=
==Attacks==
*[[CustomPlayerMelee]]
*[[FireBFG]]
*[[FireCGun]]
*[[FireCustomBullets]]
*[[FireMissile]]: rocket launcher attack
*[[FireOldBFG]]: alpha Doom BFG attack
*[[FirePistol]]
*[[FirePlasma]]
*[[FirePlayerMissile]]: custom missile attack
*[[FireShotgun]]
*[[FireShotgun2]]: super shotgun attack
*[[PlayerThunk]] {{deprecated}}
*[[Punch]]: fist attack
*[[Saw]]: chainsaw attack
 
==Control==
*[[CheckReload]]: super shotgun reload check
*[[CheckReloadEx]]: extended version that allows counter comparison
*[[JumpIfNoAmmo]]: as it says
*[[Lower]]: "lower" effect & frame
*[[Raise]]: "raise" effect & frame
*[[ReFire]]: skip frame if shooting is maintained (plasma gun cooldown effect)
*[[WeaponReady]]: "bob" effect, ready frame
 
==Other==
*[[EjectCasing]]: throw casing
 
==Muzzle flash effects==
*[[GunFlash]]: produces gunflash sprite without firing anything
*[[Light0]]: resets the muzzle light level
*[[Light1]]: muzzle light level 1
*[[Light2]]
 
==Sound effects==
*[[BFGSound]]
*[[CloseShotgun2]]: this one also includes ReFire
*[[LoadShotgun2]]: ...these two don't
*[[OpenShotgun2]]
 
==Frame scripting==
*[[PlayerStartScript]]: start map script
*[[WeaponCopyCtr]]
*[[WeaponCtrOp]]
*[[WeaponCtrJump]]
*[[WeaponCtrSwitch]]
*[[WeaponSetCtr]]


=Map objects=
=Map objects=
==Flashes and booms==
==Explosions and flames==
*[[BFG11KHit]]: [[SMMU]] BFG variant
*[[BFG11KHit]]: [[SMMU]] BFG variant
*[[BFGBurst]]: produce a burst of smaller plasma objects
*[[BFGBurst]]: produce a burst of smaller plasma objects
Line 12: Line 68:
*[[BrainScream]]: giant demon wall explosion sequence
*[[BrainScream]]: giant demon wall explosion sequence
*[[Detonate]]: thing damage controlled explosion
*[[Detonate]]: thing damage controlled explosion
*[[DetonateEx]]: parameterized detonate action
*[[Explode]]: rocket/barrel splash damage
*[[Explode]]: rocket/barrel splash damage
*[[Fire]]: stick on the face of attacker's target, like the vile fire
*[[Fire]]: stick on the face of attacker's target, like the vile fire
Line 50: Line 107:


==AI attacks==
==AI attacks==
===Parameterized===
*[[BetaSkullAttack]]: remote melee attack
*[[BetaSkullAttack]]: remote melee attack
*[[BulletAttack]]: custom bullet shooting
*[[MissileAttack]]: custom missile shooting
*[[MissileSpread]]: MissileAttack variation, supports shooting spread shots
*[[SargAttack12]]: Old Doom 1.2 style melee attack
*[[Scratch]]: custom melee attack
*[[ThingSummon]]: customized summoning
===Original Doom===
*[[BrainSpit]]: cube spawn
*[[BrainSpit]]: cube spawn
*[[BruisAttack]]: baron/knight of hell
*[[BruisAttack]]: baron/knight of hell
*[[BspiAttack]]: arachnotron
*[[BspiAttack]]: arachnotron
*[[BulletAttack]]: custom bullet shooting
*[[CPosAttack]]: pistol attack w/ shotgn noise
*[[CPosAttack]]: pistol attack w/ shotgn noise
*[[CyberAttack]]: rocket launching
*[[CyberAttack]]: rocket launching
Line 61: Line 126:
*[[FatAttack3]]: mancubus front attack
*[[FatAttack3]]: mancubus front attack
*[[HeadAttack]]: cacodemon
*[[HeadAttack]]: cacodemon
*[[MissileAttack]]: custom missile shooting
*[[MissileSpread]]: MissileAttack variation, supports shooting spread shots
*[[PainAttack]]: elemental
*[[PainAttack]]: elemental
*[[PainDie]]: elemental death (3 souls)
*[[PainDie]]: elemental death (3 souls)
*[[PosAttack]]: former human
*[[PosAttack]]: former human
*[[SargAttack]]: demon bite
*[[SargAttack]]: demon bite
*[[Scratch]]: custom melee attack
*[[SkelFist]]: revenant punch
*[[SkelFist]]: revenant punch
*[[SkelMissile]]: revenant missile
*[[SkelMissile]]: revenant missile
*[[SkullAttack]]: flying skull
*[[SkullAttack]]: flying skull
*[[SPosAttack]]: sergeant
*[[SPosAttack]]: sergeant
*[[ThingSummon]]: customized summoning
*[[TroopAttack]]: imp
*[[TroopAttack]]: imp
*[[VileAttack]]: arch vile toss
*[[VileAttack]]: arch vile toss
Line 81: Line 142:
*[[ImpChargeAtk]]: gargoyle charge
*[[ImpChargeAtk]]: gargoyle charge
*[[ImpMeleeAtk]]: gargoyle scratch
*[[ImpMeleeAtk]]: gargoyle scratch
*[[ImpMisssileAtk]]: gargoyle fire
*[[ImpMissileAtk]]: gargoyle fire
*[[KnightAttack]]: undead warrior
*[[KnightAttack]]: undead warrior
*[[LichAttack]]: iron lich random attack **only one which includes ice globes**
*[[LichAttack]]: iron lich random attack **only one which includes ice globes**
Line 109: Line 170:
*[[FadeOut]]: decrements alpha, DOESN'T destroy the thing
*[[FadeOut]]: decrements alpha, DOESN'T destroy the thing
*[[Fall]]: remove SOLID flag (used on dying monsters)
*[[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
*[[KeenDie]]: open 666-tagged doors on death of all like-named monsters
*[[KillChildren]]: destroy all summoned things
*[[KillChildren]]: destroy all summoned things
*[[LineEffect]]: activate a tag using a special
*[[LineEffect]]: activate a tag using a special
*[[PainNukeSpec]]
*[[PainNukeSpec]]
*[[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
*[[SetFlags]]: alter flags
*[[SetTranslucent]]: modify alpha amount; setup additiveness or fuzziness
*[[SetTranslucent]]: modify alpha amount; setup additiveness or fuzziness
*[[ShowMessage]]: display text message
*[[ShowMessage]]: display text message
*[[Spawn]]: create another object on top of this one
*[[Spawn]]: create another object on top of this one
*[[StartScript]]: run map script
*[[SteamSpawn]]: create steam effects
*[[SteamSpawn]]: create steam effects
*[[Stop]]: set velocity to 0
*[[Stop]]: set velocity to 0
*[[UnHideThing]]: Unsets DONTDRAW flag on an object
*[[UnSetFlags]]: alter flags
*[[UnSetFlags]]: alter flags
===Heretic===
===Heretic===
Line 167: Line 232:
*[[CopyCounter]]: copy a variable to another variable
*[[CopyCounter]]: copy a variable to another variable
*[[CounterJump]]: counter-based next frame
*[[CounterJump]]: counter-based next frame
*[[CounterJumpEx]]: DECORATE-compatible counter-based next frame
*[[CounterOp]]: set a variable to an operation of another 2 variables
*[[CounterOp]]: set a variable to an operation of another 2 variables
*[[CounterSwitch]]: counter-based set of frames
*[[CounterSwitch]]: counter-based set of frames
*[[CounterSwitchEx]]: DECORATE-compatible counter-based set of states
*[[HealthJump]]: health-based next frame
*[[HealthJump]]: health-based next frame
*[[JumpIfTargetInLOS]]: jump to frame if target is in the field of view
*[[JumpIfTargetInLOS]]: jump to frame if target is in the field of view
*[[RandomJump]]: random next frame
*[[RandomJump]]: random next frame
*[[Jump]]
*[[SetCounter]]: set a variable
*[[SetCounter]]: set a variable
*[[SetTics]]: set frame duration
*[[SetTics]]: set frame duration
*[[StartScript]]: run map script
*[[StartScriptNamed]]: run named map script
*[[TargetJump]]: go to designated frame if having a target
*[[TargetJump]]: go to designated frame if having a target


[[Category:Codepointers|*]]
[[Category:Codepointers|*]]
[[Category:EDF]]

Revision as of 13:31, 19 September 2016

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

Control

Other

Muzzle flash effects

  • GunFlash: produces gunflash sprite without firing anything
  • Light0: resets the muzzle light level
  • Light1: muzzle light level 1
  • Light2

Sound effects

Frame scripting

Map objects

Explosions and flames

Heretic

AI

  • AlertMonsters: shout so other monsters chase the player
  • Chase: pursue a target and check for attack
  • CPosRefire: go to seestate if target is out of sight
  • Face: face a specified angle
  • FaceTarget: turn to target, look around it if it's partly 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 mount specific chase
  • Sor1Pain: d'sparil mount specific twitch. Calls Pain.
  • SpidRefire: like CPosRefire, slightly modified
  • Turn: turn around a specified angle
  • VileChase: same as Chase, but resurrecting encountered cadavers

AI attacks

Parameterized

Original Doom

Heretic

Alterations

  • 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
  • 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
  • Stop: set velocity to 0
  • UnHideThing: Unsets DONTDRAW flag on an object
  • UnSetFlags: alter flags

Heretic

Sound effects

  • 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