This page heavily uses some information from Duke Nukem 3D Infosuite by Ryan "Nukey" Lennox, please check out his awesome documentation at: http://infosuite.duke4.net/. Some bits have been modified to better suit Ion Fury

Common special "effect" sprites

With Build engine games, it was very common to use special sprites to add behavior in to maps. These effects can range from all sorts of things such as geometry morphing to things like emitting sounds. Since Build map format can only store a limited amount of data, all additional attributes get modified with additional sprites that generally have a specific function. Ion Fury's effect system essentially builds upon the one seen in Duke Nukem 3D but expands the roster and possibilities tremendously. You still have your "bread and butter" tools from Sector effectors to GPSpeed sprites, however most of the cooler logic is done with specifics sprites instead. Generally any effect sprite you place on a map will have various fields that you can set. Typically games only utilized two values: Lotag and Hitag that you can set with ALT T and ALT H while pointing at a sprite (these two values also exist for sectors via T and H). It isn't always intuitive on what each of these tag fields do so you will need to refer to the on-screen help or references quite a bit to see what is what. Do not worry if you can't remember them all, nobody does! :)

In Ion Fury, we use not just 2 or 3 tags but up to 8! These are: Lotag, Hitag, Extra, Xvel, Yvel, Zvel, Owner, Blend. This approach allows many of the new effects to be highly customizable and easier to edit in one place rather than being split between 3 or more further sprites just to describe things like speed and such.

What are Channels and Pairing tags ?

Many effects rely on remote triggering or linking two points together. Say you want to create a teleporter, or you create monster closet that you want to open once a player trips a touchplate, you have to somehow have two points communicate with each other. Remember those tags we talked about? A single value in these can be used as a linking tag or as a channel.
There is some degree of consistency for most effects: Anything that requires pairing, it's done with Hitag and anything that is trigger related (switches/activation), it's Lotag. Due to the increased amount of tags in Fury, the linking tags might vary quite a bit depending on use. However I highly recommend double checking any documentation on these. Many effects in Fury started simple but later on mappers ended up demanding more flexibility, due to this reason the linking tag or channel isn't always consistent.

In other words: Think of channels as literal radio channels that effects can tune in to. When someone presses a switch, it will say "Fire!" to that channel and any effects that are tuned to this channel will activate. For pairings like rotating sectors which need a pivot/hinge, the term channel is exchanged for pairing tag i.e. SE0 Hitag and SE1 Hitag are clearly used for cross-communication between each other but they will not react to any triggers. In most cases the numbers will have no overlap between regular channels but with some effects the Pairing tag also doubles as a channel input.

Effects above SE64 are new to Ion Fury and generally do not rely on activator or masterswitch operation.

1 Sector effector

These sprites can do anything from rotating sectors to escalators. For Fury, we added a new range of effects and expanded on some existing ones slightly. Usually the sprites do exactly what it says on the tin: Make sectors do something cool. These used to be your main tool in Duke3D mapping. Since the effect is extremely multi-purpose, I will list all the Lotag variants below. A common way of referring to Sector effectors is by their Lotag, i.e. whenever you see SE7 mentioned, it refers to a Sector effector with Lotag 7

SE 0 Rotate sector

Used to either rotate or spin a sector. Rotation happens around a pivot point sprite SE1.
Alternate functionality exists when used with Sector tag 30 (Rotate-rise sector), which is documented under that sector tag.
For finer rotation control, you may want to use SE72, which is new and specific to Ion Fury.

Notes

SE 1 Rotation pivot

Used as a rotation axis for SE0 or Rotate ride door This pivot sprite will not work with SE72, please use SE71 for that instead.

SE 2 ! Earthquake

A combination effect that manipulates wallpoints, spawns debris, shakes the screen and plays sounds for about 4 secnds.
In Ion Fury, use of this effect is not recommended as it relies on many hardcoded Duke3D specific assets that no longer exist. A combination of SE73 SE76 and SE75 will achieve the same effect with much more control over the outcome.

Notes

SE 3 ! Flickering light when shot

Essentially an on-demand activated SE3 after a light source gets shot. First acts as a light that you can toggle on/off but if a wall or ceiling light gets shot, it turns in to a flickering light.
When shot part (Hitag) will not work with Ion Fury but you may use light switch properties otherwise.

Notes

SE 4 Flickering light

Will flicker a sector's light on/off randomly

SE 5 ! Helicopter

This is a cut effect from Duke3D that is heavily buggy, it was intended for a helicopter boss fight at top of the U.S. Bank tower. This effect will work even worse in Ion Fury and using it is not really recommended at all.

SE 6 ! Subway engine

Used to move a sector around a set path indicated by Locator sprites. Can be combined with SE14 to introduce additional trailing sectors. Most commonly used to create subway trains.

Notes

SE 7 Teleport, 2-way (water/land)

Teleports the player between A <-> B sectors of identical shape. SE7 acts as a SOURCE and DESTINATION where SE23 is only DESTINATION. If placed on a sector with Lotag 1 (liquid/submergible) it will work as a water teleporter instead. If raised from the ground, it will be Z based.

SE 8 ! Triggered light: When door opens

Similar to SE LightFX but triggered when a ST based door opens, also compatible with some other effects. One of these sprites has to be in a sector with an "opening effect", i.e. ST20

SE 9 Triggered light: When door closes

Similar to other SE LightFX but triggered when a ST based door closes, also compatible with some other effects. One of these sprites has to be in a sector with an "opening effect", i.e. ST20

SE 10 Auto-close door

Automatically re-toggles doors and various other moving sector effects after a certain time has passed. Primary function is to auto-close a door after a few seconds.

SE 11 Rotating door hinge

{to be done}

SE 12 Triggered light: Switch / Touchplate

{to be done}

SE 13 Explodable wall or ceiling

{to be done}

SE 14 Subway car/train

{to be done}

SE 15 Sliding door

{to be done}

SE 16 ! Rotate sector & Piston - Reactors only

{to be done}

SE 17 Transport elevator

{to be done}

18 Incremental sector rise/fall

{to be done}

SE 19 ! Ceiling fall

{to be done}

SE 20 Stretching/Compressing sector, bridge

{to be done}

SE 21 ! Floor rise

{to be done}

SE 22 ! Teeth door

{to be done}

SE 23 Teleport, exit only

{to be done}

SE 24 Conveyor Belt: Normal speed

{to be done}

25 Piston, crushing ceiling

{to be done}

SE 26 Escalator

Example text

SE 27 ! Demo camera for autodemo

{to be done}

SE 28 ! Lightning bolt

{to be done}

SE 29 Floating sector, floor

{to be done}

SE 30 Two way train

{to be done}

SE 31 Move sector Floor Z

{to be done}

SE 32 Move sector Ceiling Z

{to be done}

SE 33 ! Earthquake debris

{to be done}

SE 34 Conveyor belt: Half speed

{to be done}

SE 35 ! Drill

{to be done}

SE 36 ! Shooter

{to be done}

64 Hub transition: Load new area

For Hub map usage. Transition the player to a new map section. This pairs with SE65 to determine where to place the player in the next area.

Raise this SE off of the ground to make the transition point require passing this sprite's z.

Note: Requires Hubmap Section (5904) to tell SE64 which section the current map is.

SE 65 Hub transition: Destination marker

Example text

SE 66 Rain spawner
SE 67 Sector attribute copy: Destination
SE 68 Sector attribute copy: Source
SE 69 Texture panner
SE 70 Hazardous sector
SE 71 Pivot for SE72 (New rotate)
SE 72 "New" Rotate sector
SE 73 Change sector slope: Floor
SE 74 Change sector slope: Ceiling
SE 75 Wallpoint dragger
SE 76 Screen shaker
SE 77 Teleport, triggered
SE 78 Firstwall changer
SE 79 Floating sector, ceiling
SE 80 Triggered Hub transition: Departure
SE 100 Skybox
SE 101 Move skybox camera
SE 102 Remove Objects (dangerous)
SE 127 Anchor point for SE31/SE32
SE 200 Cross-map trigger transfer
SE 201 Invincible fade-to-white
SE 420 Enemy Electrocution Death

2 Activator

For any sector effector, you usually need something to activate it.

This, along with Masterswitch #8 are the only way to trigger non-fury specific behavior. Once triggered, it will immediately activate all non-fury specific inside the sector. Reason why Fury doesn't use this method is that the added tags allow us to skip this altogether and have effects inside a sector be triggered individually instead of simultaneously. When placed on most doors, it will lock the door and only allow opening them when the Input channel is triggered

3 Touchplate

Legacy touchplate, in most cases you will want to use 5896 Touchplate Plus instead.

4 Activatorlocked

Locks door operation until triggered

5 Music and FX

Used to add door/ambient sounds

6 Locator

Multi-purpose path indicator

7 Cycler

Fading lights

8 Masterswitch

Similar to Activator but is single use. It also has the possibility to add a forced delay, which allows some limited additional control when doing more complex sequences. Unlike Activator, this will not lock any doors when placed on one.

9 Respawn (legacy)

Legacy respawn sprite, in most cases you will want to use 5915 Respawn 2.0 (NEW!) instead. Press CTRL ALT Q to upgrade any R that you are pointing at.

10 GPSpeed

General Purpose Speed, internally this modifies the extra of a sector. Most common use case is to place these on moving sectors to adjust their movement speed.

1247 Explosion FX

This is an adaptation of the old SEENINE from Duke 3D, however we hijacked this completely and demoted it to an invisible effect that has much more flexibility than before. Not to mention that unlike Duke, this is invisible regardless of size. It is highly recommended that Remove Masterswitch requirement (Yvel 1) is used. If you do complex sequences, keep in mind that every explosion that damages will call hitradius, which is not very performant. Instead of using 10 damaging explosions, keep it to 2-3 while rest are purely visual and you can instead tick the damage scale up a tiny bit.

3744 Sector switch

Allows you to operate sectors as buttons. This allows creation of complex doors, elevators and buttons that do not natively support direct use without a touchplate or button operation. By default this effect only works on floors, however..

3745 Multiswitch, aka. Trigger Multiplexer / Relay

One input and one or more outputs. Default behavior is that once INPUT gets triggered, it will output a channel (100 in this example). Next use will trigger 100 again but also 101, one after that is 101 and 102. One example use is to have 3 doors, each having 100 / 101 / 102, each use would close the previous one and open the next one. Can be set to optionally loop, forced delays make it nice for having it as a single "buffer relay" as well if needed.

3746 Combination lock

Listen for a sequence of inputs and depending on behavior modifiers will accept the input sequence. This effect has two major operation modes: Sequence & Combination. It is recommended that you use the built-in sequencer available from SHIFT W once prompted.

Note: By giving an Input channel a negative value, the combo lock expects it to be off.
For example, a button chain that is to be X o X X o the tags should be set: A -B C D -E

5885 Soda machine

A very basic setup, red part will show roughly where the cans will dispense.

5887 Locked door sound

Used to tell when a door is locked. Place it in front of a door and stretch it to fit. It will be made invisible ingame.

5888 Ladders (A_LADDER)

Place this flatly in front of whatever you want to be climbable. This should be at least one of the smallest grid units away from a wall.

The player will climb within the area of the ladder sprite. They will stop when the top or bottom is reached. No tags required by default. Note: Please leave head clearance for dismount.

Attributes

5889 Clip barrier

Invisible sprite that acts as a collision for the player or bullets.

5890 Particle spawner

5891 Door Smooth

This is a general purpose hack sprite with three main purposes: Add easing to doors & Allow MFX sounds over 999 & Toggle lights when opened. Default function for smoothing and MFX does not need any additional tags.

5892 End Of Level (EOL)

Immediately end the level and show the stats screen. This is what's used between zones in the main game. By default, this is walk-on triggered.

5893 Secrets left / PONR

5894 Heskelcast

Heskel's face will appear on nearby monitors (a minimum of 7), when this effect is triggered. All selected monitors will play a specified sound for a duration set by the mapper. Monitors are turned off (no display) at the end of the broadcast.

Note: CRT style and Plot related (Generator On/Off images, etc) are excluded from selection.

Attributes

5895 Waypoint

This is normally unused in maps, although a hidden setting exists to place a fresh Waypoint sprite in a room with Pal 9 to cause it to draw enemies toward itself for 5 seconds.

5896 Touchplate Plus

The bread and butter when it comes to doing more complex effects.
Any channel which is output from this will operate virtually any effect, door, sprite which has an 'Input' channel specified. This includes but not limited to: Activator, Masterswitch, Other TP+, any of the new SE exclusive to Fury, other special sprites like EOL and particles.
In other words: You will use this a lot.

While you can simply output Hitag directly, the true power is in Lotag and Extra, which allow you to trigger for example 10 consecutive channels with a 30tick (5s) delay in between, however each of these 10 can point to another TP+ which in turn can trigger further actions or more chains. On paper you end up with a 50 second timeline where every 5 seconds you can have something cool happen, since not every tag has to be used, you can create some very neat sequences. In fact, the whole "queen of the hill" mode has been created with these sprites: Each wave is just a new newsted TP+ sequence :)

Attributes

5897 Music and FX Plus

Play sounds on demand. Various parameters allow anything from pitch shifting to looping. Downside is that there is little to no volume or distance control, sounds will always be played at a "normal volume"

5899 Sound emitter (unused in maps)

5900 LightFX

This is used to trigger Shade (and Pal) shifting in a sector — to both brighten and darken — and can overlap. Ceilings, floors, and walls can be exempted individually. Since the shift is relative it allows a wide range of light effects never before possible.

This effector can act either as a Light or as a Flicker Controller. Each time a Light goes through a change is referred to as a Cycle_
You may use SHIFT CTRL X to toggle light preview on/off when in 3D mode

Attributes

First you must choose the Operation mode which will determine what the rest of the tags will do.

Operation: Light

The usual light that can be operated by switches or anything that sends a Channel, including DS

Operation: Flicker controller

The value of Extra then becomes the delay — in tics (30 = 1sec) — before a Light will (potentially) Cycle_

There are two more main modes: Always flicker and Flicker when triggered.
Pay close attention since the functions of Hitag and Lotag can switch places.

5901 Proximity sensor

5902 Dialog trigger

5903 Movego

The "secret sauce" abused by mappers throughout the project. This effector is just a simple sprite that checks for any movement in its sector's firstwall and shoves all sprites inside around in the direction of its angle when that happens. This is by default regardless of the type of sprite — meaning other effectors as well.

5904 Hubmap section

Indicates which area/part the map is in the current zone

5905 Autosave trigger

Creates a new checkpoint save as soon as the player on the sector

5906 PLAYER - Get the fuck out

Used to push away nasty speedrunners (and nasty players) from sectors. In reality it's a handy tool to work around collision bugs. Default state is Enabled.

5907 Toilet effector

Turns toilet sector work in to an actual functional toilet by somewhat cleverly manipulating height/sloping and textures of the toilet itself. This generally does not get built manually so I would highly recommend using the template from the sample maps.

5908 Tainted sector

Prevents decals from spawning in this sector, used to prevent stuff like floating bullet holes etc..

5909 PLAYER - Z fall killer

Player death pit, if the player is in the same sector as this sprite and below it, you will get a prompt for optional screaming.

5910 Particle shooter

Shoots particles

5911 ENEMY - Z fall killer

Enemy death pit, if the enemy is in the same sector as this sprite and below it, the enemy will die.

5912 Secret area trigger

Trigger a secret without relying on sector Lotag 32767.

5913 Shelly speech

Used to output speech lines, internally this is a sound that is not positional. It is compatible with other sounds as well.

5914 Horde mode attributes

Some initialization attributes and tells the horde-routine how many spawns to kill there are per wave.

5915 Respawn 2.0 (NEW!)

New respawn setup that can pass virtually all attributes to the spawned sprite

5916 "Music beast"

Used for changing music

5917 "Quote buster"

Display quotes on demand, can also override the default message of Unlocked/Locked from activatorlocked

5931 Chest effector

Turns chest sector work in to an actual functional chest by somewhat cleverly manipulating height/sloping and textures of the chest itself. This generally does not get built manually so I would highly recommend using the template from the sample maps.

5932 ENEMY - Get the fuck out

Used to push away nasty nasty enemies from sectors. In reality it's a handy tool to work around collision bugs. Default state is Enabled.

10280 Fan