ACS scripting: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(→‎ACS spawn IDs: externalized spawn ids)
Line 23: Line 23:


== ACS spawn IDs ==
== ACS spawn IDs ==
 
See [[ACS spawn IDs]].
For Hexen compatibility, parameterized specials like '''Thing_Spawn''' or '''Thing_SpawnNoFog''' use the '''acs_spawndata''' { '''num''' } properties of [[thingtype]]s, instead of using doomednum, dehackednum or EDF mnemonics.
 
=== Doom spawn IDs ===
The following ACS spawn numbers will only work in Doom mode.
==== Monsters====
*Zombieman: 4
*Sergeant: 1
*Archvile: 111
*Revenant: 20
*Mancubus: 112
*Chaingunner: 2
*Doom Imp: 5
*Demon: 8
*Spectre: 9
*Cacodemon: 19
*Baron of Hell: 3
*Hell Knight: 113
*Lost Soul: 110
*Spiderdemon: 7
*Arachnotron: 6
*Cyberdemon: 114
*Pain Elemental: 115
*Wolf SS: 116
 
====Projectiles====
*Tracer Shot: 52
*Mancubus Shot: 153
*Baron Shot: 154
*Doom Imp Shot: 10
*Cacodemon Shot: 126
*Rocket Shot: 127
*Plasma Shot: 51
*BFG Shot: 128
*Arachnotron Shot: 129
 
====Effects====
*Boss Spawn Fire: 98
*Bullet Puff: 131
*Doom Blood: 130
 
====Interactive inanimate====
*Doom Barrel: 125
 
====Items====
=====Health and armour=====
*Green Armor: 68
*Blue Armor: 69
*Health Bonus: 152
*Armor Bonus: 22
*Stim Pack: 23
*Medi Kit: 24
*Soul Sphere: 25
*Mega Sphere: 132
 
=====Keys=====
*Doom Blue Card: 85
*Doom Red Card: 86
*Doom Yellow Card: 87
*Doom Yellow Skull: 88
*Doom Red Skull: 89
*Doom Blue Skull: 90
 
=====Powerups=====
*Invuln Sphere: 133
*Berzerk Box: 134
*Invisi Sphere: 135
*Radiation Suit: 136
*Computer Map: 137
*Light Amp Visor: 138
 
=====Ammunition=====
*Ammo Clip: 11
*Ammo Bullet Box: 139
*Ammo Rocket: 140
*Ammo Rocket Box: 141
*Ammo Cell: 75
*Ammo Cell Pack: 142
*Ammo Shells: 12
*Ammo Shell Box: 143
*Backpack: 144
=====Weapons=====
*Weapon BFG: 31
*Weapon Chaingun: 28
*Weapon Chainsaw: 32
*Weapon Rocket Launcher: 29
*Weapon Plasma Gun: 30
*Weapon Shotgun: 27
*Weapon SSG: 33
=====Decoration=====
*Dead Doom Player Gibs: 145
*Crushed Gibs: 146
*Flaming Barrel: 149
*Pool Blood and Guts: 147
*Pool Blood: 148
*Pool Brain: 150
 
=== Heretic spawn IDs ===
The following ACS spawn numbers will only work in Heretic mode.
 
====Items====
=====Health and armour=====
*Crystal Vial: 23
*Silver Shield: 68
*Enchanted Shield: 69
=====Ammunition=====
*Bag of Holding: 136
*H Ammo Wand Wimpy: 11
*H Ammo Wand Hefty: 12
*H Ammo Mace Wimpy: 35
*H Ammo Mace Hefty: 36
*H Ammo CBow Wimpy: 33
*H Ammo CBow Hefty: 34
*H Ammo Skull Wimpy: 158
*H Ammo Skull Hefty: 159
*H Ammo Phoenix Wimpy: 161
*H Ammo Phoenix Hefty: 162
*H Ammo Blaster Wimpy: 37
*H Ammo Blaster Hefty: 38
 
=====Powerups=====
*Map Scroll: 137
=====Keys=====
*Heretic Green Key: 86
*Heretic Blue Key: 85
*Heretic Yellow Key: 87
====Interactive inanimate====
*Pod: 125
*Pod Generator: 126
*Heretic Volcano: 150
====Effects====
*Tele Glitter Red: 166
*Tele Glitter Blue: 167
====Monsters====
*Golem: 4
*Nitro Golem: 2
*Golem Ghost: 8
*Nitro Golem Ghost: 9
*Weredragon: 3
*Ophidian: 132
*Sabre Claw: 1
*Disciple: 19
*Death Knight: 6
*Death Knight Ghost: 129
*Serpent Rider D'sparil: 142
*D'sparil: 143
*Maulotaur: 114
*Iron Lich: 20
*Heretic Imp: 5
*Heretic Imp Leader: 7
 
====Projectiles====
*Golem Shot: 131
*Weredragon Shot: 120
*Ophidian Shot A: 138
*Ophidian Shot B: 139
*Disciple Shot: 140
*Knight Axe: 127
*Knight Axe Red: 128
*SR D'sparil Shot 1: 144
*D'sparil Shot 1: 146
*D'sparil Shot 2: 145
*Volcano Ball: 123
*Volcano Ball Small: 124
*Maulotaur Shot: 115
*Maulotaur Floor Fire: 116
*Maulotaur Floor Flame: 117
*Iron Lich Shot 1: 164
*Lich Whirlwind: 165
*Heretic Imp Shot: 10
 
====Ambient sounds====
*Heretic Ambience Wind: 110
*Heretic Ambience Water: 111


[[Category:Editing reference]]
[[Category:Editing reference]]

Revision as of 08:57, 23 January 2016

For the upcoming Hexen implementation, Eternity supports ACS scripts. Note that unlike in ZDoom, it requires the vanilla Hexen format, which can be compiled using modern ACC by using the -h command-line switch, or by using an old version of ACC. Comprehensive information regarding the ACS language for Hexen can be found at the Official Hexen Technical Specs by Ben Morris and Ben Gokey.

All parameterized specials can be called from ACS as functions.

Back to Editing reference

Using ACS for your map

ACS scripts can be used with Doom-format maps through the help of EMAPINFO and ExtraData. The MapInfo entry for the map needs at least a specifier for its ExtraData lump and compiled ACS lump (setting the extradata and acsscript entries).

The script can be written in a text editor and compiled using acc (or, in new ACC's case, acc -h) and imported with a tool like SLADE3, which supports editing your map with Doom Builder 2 simultaneously.

Important: don't set the acs script name to BEHAVIOR and put it after BLOCKMAP. This will break forward compatibility of your map with future versions of Eternity that support the Hexen format, which can be identified by looking for the annexed BEHAVIOR lump. Only use BEHAVIOR when Hexen and/or UDMF format becomes possible in Eternity.

ACS scripts will be callable from map linedefs by using the parameterized 365 (ACS_Execute) special through an ExtraData record of the linedef. Note that currently there is no ACS_ExecuteAlways special.

Calling ACS scripts from actor frames

Eternity actors can call ACS scripts directly, by using the StartScript codepointer.

Testing ACS scripts from console

ACS scripts can be tested from the console by using the puke command.

ACS spawn IDs

See ACS spawn IDs.