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
- Any effect with ! in front is a remnant from it's earlier development or Duke3D and isn't really recommended (or even tested) for use.
- With pretty much all
sector effectorsprites, you will have to use anActivatororMasterswitchto activate the effect. - Effects above
SE64are new to Ion Fury and generally do not rely onActivatororMasterswitchoperation.
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.
HitagPairing tag This should matchHitagof a pivot spriteSE1-
AngleRotation mode Based on the sprite's tail pointing directionDOWNRotate, Rotate sector aroundSE1UPRotate & spin, Rotates sector AND pivot aroundSE1.
Notes
- If Relative bit
Ris set on the floor and/or ceiling, the texture will move along with the sector - If Relative bit
Ris set on the floor, the sector will carry most sprites. - Rotation speed can be adjusted with
GPSpeed'sLotag
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.
HitagPairing tag This should matchHitagof a pivot spriteSE1-
AngleDirection Based on the sprite's tail pointing directionDOWNClockwise, Will rotate sector clockwiseUPCounter clockwise, Will rotate sector counter-clockwise
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.
AngleDirection Sector will be shifted towards this direction by ~9 grid spaces on grid size 6
Notes
- Not compatible with
Activator, you must use aMasterswitch - Should be constructed in pre-sloped state as it will be flattened in-game. Maximum sloping value it supports is 3 key presses on
[]. - Any static sprites placed on this sector will keep jittering after the effect has taken place.
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.
HitagChannel MatchingWall LotagorSector Hitagwith a breakable textureShadeBrightness Should be set to theonstate brightness and sector should representoffstatePaletteColouring What the palette should be inonstate, sector representsoff
Notes
- Wall palette changes will be permanent
- Lights will not always flicker after getting destroyed
- Compatible with
SE12, allowing lights to be toggled on/off before entering flicker state.
SE 4 Flickering light
Will flicker a sector's light on/off randomly
HitagRNG seed Flicker pattern modifier, arbitrary numberShadeBrightness Should be set to theonstate brightness and sector should representoffstatePaletteColouring What the palette should be inonstate, sector representsoffNotes- For
RNG seed, ideally every light source in a map should have unique numbers and every sector belonging to a light source must share the same number
- For
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.
HitagPath position Set this equal to the firstLocator'sLotagto visitSector Hitag"Car" number This sector and the nested sectors must share this valueAngleBearing SE Sprite's tail indicates the front of the train
Notes
- If Relative bit
Ris set on the floor and/or ceiling, the texture will move along with the sector . - If Relative bit
Ris set on the floor, the sector will carry most sprites. - To have a sound, you must insert a
MFXsprite withLotag=Sound numberin the same sector as theSector effectorsprite - Movement speed can be adjusted with
GPSpeed'sLotagin the engine sector.- You will only need to do this once as all trailing cars will use the same speed.
- When adjusting speed, it will also affect how long the train pauses during station breaks
- A value less than
65will disable any sounds
- A Subway Vehicle with a parallaxed floor will attempt to fire rockets at the player, this will not be handled properly in Fury and will eventually end up in a sprite overflow crash! Use a floor
Palettehigher than 0 to fix this. - A Subway Vehicle with a parallaxed floor or ceiling will not play sound effects.
- All Subway Vehicles must start in the track sector, and the track cannot be split into multiple sectors. The track sector is still allowed to be complex, the important thing is that all of the Locators are contained within the same sector
- All nested sectors must be contained within a single bounding sector containing the SE
- Vehicles cannot move up or down slopes
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.
HitagLinking tag MatchingSE7 HitagorSE23 Hitag-
Sector LotagTeleporter mode0Normal Regular ground teleportation1Water, above Makes the ground submersible when combined withSE72Water, below Makes the ceiling surface able when combined withSE7
-
PaletteCosmetics UNUSED IN ION FURY0Normal Play sound and flash when used1 or moreSilent No sound or flashing
-
Floor paletteLiquid type Modifier for slime/water/etc0Water Play sound and flash when used- **
BrownpalBrown goo - **
NukagepalNukage - If usingNormalTeleporter mode, you can turn the operation to beZ basedinstead ofsector based. To do this, raise the sprite from the ground. Now the teleportation will happen ONLY once the specific height is reached. Useful for manholes and such. This teleportation will be instant and play no sounds or other flashy things. - Valid player space must exist on the destination sector, this also means that destination sector can theoretically be larger the source. - WhileLiquid typeonly requires the surface palette to be done, this should be done on the underwater "ceiling" as well to achieve proper visual consistency. - You may toggle this effect's state withActivatorlocked- In normal operation, there is a slight delay for any projectile or player/actor that passes through the teleporter. - If there is a conflict between sprite multiple destinations that shareHitag, the sprite with the lowest sprite number index will be picked (oldest).
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
HitagChannel This should be shared AND unique for each door light setupShadeBrightness Should be set to theonstate brightness and sector should representoffstatePaletteColouring What the palette should be inonstate, this will be permanent!- Also compatible with
ActivatorActivatorlockedandMasterswitch - Compatible with
SE31andSE32 - Some degree of compatibility with GPSpeed but use is not recommended
- Also compatible with
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
HitagChannel This should be shared AND unique for each door light setupShadeBrightness Should be set to theonstate brightness and sector should representoffstatePaletteColouring What the palette should be inonstate, this will be permanent!- Height of the
SE9on the door sector determines the closing height - Also compatible with
ActivatorActivatorlockedandMasterswitch - Compatible with
SE31andSE32 - Some degree of compatibility with GPSpeed but use is not recommended
- Height of the
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.
-
HitagLinking tag Link this withX0Normal, Example flag
SE 11 Rotating door hinge
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 12 Triggered light: Switch / Touchplate
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 13 Explodable wall or ceiling
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 14 Subway car/train
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 15 Sliding door
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 16 ! Rotate sector & Piston - Reactors only
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 17 Transport elevator
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
18 Incremental sector rise/fall
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 19 ! Ceiling fall
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 20 Stretching/Compressing sector, bridge
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 21 ! Floor rise
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 22 ! Teeth door
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 23 Teleport, exit only
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 24 Conveyor Belt: Normal speed
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
25 Piston, crushing ceiling
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 26 Escalator
Example text
-
HitagLinking tag Link this withX0Normal, Example flag
SE 27 ! Demo camera for autodemo
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 28 ! Lightning bolt
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 29 Floating sector, floor
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 30 Two way train
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 31 Move sector Floor Z
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 32 Move sector Ceiling Z
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 33 ! Earthquake debris
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 34 Conveyor belt: Half speed
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 35 ! Drill
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
SE 36 ! Shooter
{to be done}
-
{tag}{title} {text}{flag}{title}, {text}
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.
HitagLinking tag Pair with destinationSE65ExtraMap section to load Specify whichsectionshould be loaded(0 to 63). Internal math will use the currently definedHubmap Sectionto determine which map file to load nextShadeCampaign/Episode Determined bylevels.con, this is0for the defaultCapital OffensecampaignXvelLinking tag for remote trigger Although you may forcibly trigger SE64, doing so can put the player out of bounds in the next map unless great care is takenZvelSkip Autosave Set this to1to disable autosaving on the next map load
SE 65 Hub transition: Destination marker
Example text
-
HitagLinking tag Link this withX0Normal, Example flag
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.
LotagExplosion delay Forced detonation delay once triggered, 30 units ~ 1 secondHitagLinking tag Normally this also requires aMasterswitchfor activation unlessYvelbit 1 is true-
PaletteBehavior modifiers Defaults to00Normal, this does Damage / Sound / Visuals1Damage only, don't show any visuals or sounds9Cosmetic, removes all damage instead10Only visuals, removes all sounds too11Only audio, removes all sounds too
XvelDamage scale _Multiplies inflicted damage with this value, 2-10 supported. Useful for making sure things gib the player or enemies.-
YvelTrigger modifiers Defaults to00Normal1RemoveMasterswitchrequirement, explosion will only require a trigger fromHitag2Allow Re-triggering the explosion, recommended that you combine withYvel 1
SizeExplosion size _Adjustment on sprite sizing will make the explosion larger or smaller, along with appropriate sounds.
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..
LotagOutput channel-
ExtraBehavior modifiers1USE works with ceilings instead of floor2USE works everywhere, as long as the player is IN the same sector
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.
LotagInput channelHitagOutput channel Base channelExtraAdditional channels Output range will be:BASEtoBASE+EXTRAXvelForced delay Time in ticks (30 ~ 1 second) before another trigger is allowed-
YvelBehavior modifiers1Reverse direction once end is reached2Skip re-triggering previous tag, output will be:A-B-C-Dinstead of default:AB-BC-CD-..4Turn off once end is reached, normal behavior will loop back to beginning8Skill based, ignore extra and use skill value instead. This allows you to create triggers that fire off different sequences based on player skill. NOTE You must have the correct skill selected in-game when loading the map or it will not be initialized for the correct skill.
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.
-
Input channels You have six channels:
Lotag>Hitag>Extra>Xvel>Yvel>Zvel. Channels left unpopulated will be skipped. i.e. for a combination of 3, you just need to defineLotagHitagExtra, rest can be left as 0. -
OwnerOutput channel Toggled once theInputsequence checks out -
PaletteOperation mode-
- Sequences
1,2,9 - Piano modes allow chaining
Outputto another Combo-lock'sInput, allowing VERY long sequences to be constructed! 1"Piano sequence" Listens for a sequence but has the ability to monitor channels beyond the ones used in the sequence. Wrong key press to these will reset the whole sequence.
NOTE: You will lose 6th InputZvelin this mode!ZvelMonitor base channel Generally this is set to the lowest tag in the set piano keysBlendMonitor additional channels i.e. if base is300and piano keys end at336, set this to362"Piano sequence", Single use Same as above but one successful use will disable it permanently9Sequence, Single use Listens for a sequence:Lotag>Hitag>Extra>Xvel>Yvel>Zveland triggersOwneronce matched. If tags are left0then they will be skipped.
- Sequences
-
- Combination
10,11 - To use these efficiently, set the
CSTAT(transparency) of the combo-lock sprite to the 2nd level as it will enable Logical AND. 10All on Expects a certain on/off combination from the 6Inputs.11All on, single use Same as above but will never revert/re-trigger the output once reached for the first time
- Combination
-
-
CSTATUpside down If at any point the combination gets broken after reaching it, the output will be re-triggered.
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.
-
PaletteModifiers0Default990 rotated, Will offset the dispensing slightly to allow 90' rotated dispensers (fallen down)
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.
LotagSound effect SeeF2for a full list of sounds, defaults to #1535HitagToggle channel Will enable or disable the effect-
PaletteModifiers0Start enabled9Start disabled

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
LotagToggle channel Will enable or disable the ladder, a negative value will start disabled-
HitagSurface type Modifies step/movement sounds0Default (custom metallic)1Stone2Tile3Metal4Glass5Wood6Dirt7Grass8Water9Slime10Light11Electrical12Paper13Plastic14Fabric15Carpet
-
PaletteModifiers0Default5Extension - If use is pressed flip the player 180° and push down to main ladder9Push player up and forward at end of climb
5889 Clip barrier
Invisible sprite that acts as a collision for the player or bullets.
HitagToggle channel Will enable or disable the clipping-
- **
PaletteToggle initial state 0Start enabled9Start disabled
- **
- If made
HitscanwithHthen it will also block 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.
-
- This effect is compatible with the following:
ST20Ceiling door All functions, alsoPAL9ST21Floor door All functions, alsoPAL9ST22Split door All functions, noPAL9ST15 / SE25Slide door Smoothing enabled by default,DSneeded forLightFXandMFXST23 / SE11Swinging door Smoothing enabled by default,DSneeded forLightFXandMFXSE31Floor Z Only smoothing supported, slightly jankySE32Ceiling Z Only smoothing supported, slightly janky
- Easing movement The good old acceleration/slowdown that is seen in games such as Blood, when you open a door, instead of constant speed it will have easing to it's movement, giving a much nicer smooth appearance
- MFX "fix" Once placed on a door, any MFX sprite with a sound number of
1000or over will work properly. HitagOutput channel DS has the ability to toggle lights and other triggers as you open a door-
PaletteAcceleration modifier0Ramp up on start, slow down before the end9Ramp up on start, do not slow down before the end.
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.
LotagNext map index Next map part is taken from levels.con where0is the first mapHitagNext campaign/episode index Next episode part is taken from levels.con where0is the default campaign(Capital Offense)YvelInput channel Remote triggerEOLwith this channel-
PalModifier This allows two additionalEOLtypes from default0Normal Shows the level end screen and load the level specified8Ending Shows the full ending scene, including stats. Exits to main menu9Preview ending Shows teaser screen for main campaign. Exits to main menu
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
LotagLinking tag to activateHitagSound number This is the number of the sound that will be played back by each monitor. When unset(Less than or equal to 0)this defaults toS_HES_X_JUMBOTRON (3870)ExtraDuration of broadcast This is the length of time in tics Heskel's face will appear and the sound defined byHitagwill play. When unset(Less than or equal to 0)this defaults to140YvelNumber of monitors The number of monitors that will be changed is modified by this value. It is clamped to between and including7and30PalDisplay Modifier _When set toPal 9the broadcast style becomes aRed, sinister, flickering Heskel face.XvelSound Modifier When set to1a "global" version of theHitagsound will play in addition to the monitor sounds
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
-
HitagOutput channel Base channel that gets output immediately once triggered -
LotagAdditional channels Output range will be:BASEtoBASE+HITAG -
ExtraDelay before next channel Time to wait before moving to next channel in ticks (30t ~ 1s). Internally the lowest value will always be1due to how the code executes. -
PaletteUsage modifiers0Single use, Normal operation mode9Multiple use, When placed on a door trigger, it will cause the door to reset without any re-trigger
-
OwnerInput channel, ACTIVATE Allows remote activation without any door or touchplate, i.e. switch or enemy kill -
YvelInput channel, DISABLE When in a disabled state, theTP+will not send anyOutputtriggers.
Note: Any activations will be queued and triggered once theTP+is enabled again. UseXvel 512to change this.
You must combine this with either 'Yvel 16' or 'Yvel 32'.Positive valueDisabled, Start in disabled stateNegative valueEnabled, Start in enabled state
-
ZvelGrouping tag for deletion OtherTouchplate Plussprites sharing thisZveltag will be deleted when one of them activates -
XvelModifier Flags These act asbit flagsand should be added together1Count backward, forLotagmulti-activation.2Loop multi-activation cycle, When used withPal 9there may be unintended results4Start squished If placed in a door, and the door is closed, do not trigger until initial door state changes.8Ignore player A Touchplate without touch..., will still react to doors andowner16Yvelis multi use, enable/disable can be toggled repeatedly32Yvelis single use, enable/disable toggle state will be permanent once triggered64Always door trigger, For multi-activation — Reactivate always when a door changes state vs. only when squished128IgnoreZvel, setting on this sprite. Can still be deleted by otherTouchplate Plussprites.256Owner auto-start, IfOwneris> 0then activate this sprite immediately on startup- *
512Do not queue, IfYvelis> 0then activation ofOwnerwill not be queued
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.
-
ExtraOperation mode0 or lowerLight1 or higherFlicker controller
Operation: Light
The usual light that can be operated by switches or anything that sends a Channel, including DS
HitagStepping speed Default speed of1is30units per second.Shadeshould always divide withHitag.
For example: +12Shadeshould haveHitagvalues of1 2 3 4 6.
Generally sectors furthest from the light source should turn off first so this can used as a toolLotagInput channel Triggering this will toggle the light on or offXvelDelay steps Forced delay between steps, where every unit is worth 33.3ms.
i.e. a value of2will only changeHitagunits of shade every other tick (15 times per second vs. 30).PalPalette to apply The palette all surfaces affected by thisLightshould change to, see: https://furymap.lerppu.net/references/palette for a full listShadeBrightness/shade offsetLightsact as a relative adjustment, so for example — If aSector FloorisShade 4and thisLighthasShade -4, when activated theSector Floorwill becomeShade 0-
YvelModifier Flags These act asbit flagsand should be added together1Skip ceilings, Do not affectCeilings2Skip floors, Do not affectFloors4Skip walls, Do not affectWalls8Force palette, Set the palette on surfaces even ifPaletteis016Flat sprite override, AffectWall Aligned(sprite cstat 16) sprites even whenYvelflag4is set32Delay palette restore, When turning off, delay palette change until after shade changes are finished64Adjust parallax, Change ceiling shade even when parallaxed (ceiling stat 1)
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.
-
- Always flicker
Hitagmust be 0LotagofControllermust matchLotagof "slave"Lightsprites that you wish to control
-
- Flicker when triggered
HitagofControllermust matchLotagof "slave"Lightsprites that you wish to controlLotagofControlleracts as anInputtoggle channel for switches and triggers
-
ExtraFlicker frequency Adds a forced delay in ticks (30t = ~1s) before a light will potentially cycle -
XvelModifier Flags These act asbit flagsand should be added together1Remove Randomization from flicker`2Reset lights, If triggered,Lightswill reset back to their starting state4Start Enabled, Flicker controller will start in 'on' state
-
ZvelDelay before reset WhenXvelflag2is set this is a forced delay before the reset intics(30t ~ 1s)
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
HitagLevel part Set this to current map's level part, start from0
5905 Autosave trigger
Creates a new checkpoint save as soon as the player on the sector
HitagInput channel Adds linking tag for activation-
LotagMulti activation RequiresHitagto be above 00Single use1 or moreMulti-use
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.
LotagInput channel Toggle state-
HitagBehavior modifiers0Normal , Magic invisible wall1Push player , Magic invisible force compels you2Reject bombs, Reject bowlingbombs4Ignore player, Useful for allowing bomb-only pushing
-
PaletteInitial state0Start enabled- `9 Start disabled
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.
LotagInput channel Toggle state-
HitagBehavior modifiers0Every enemy , Block all1Every enemy , Block all2Ground only, Block only ground enemies4Aerial TROR hack, Tells drones and deacons that the there is room below the TROR layer
-
PaletteInitial state0Start enabled- `9 Start disabled