Linedef type 434

From SRB2 Wiki
Jump to: navigation, search

Linedef type 434, Award Power-Up, is a type of linedef executor which, when triggered by a player, gives the player a custom power-up.

Setup

The tag given to this linedef is irrelevant. The name of the power-up to award should be written in the control linedef's front upper texture field. If the name is longer than eight characters, it continues in the front middle texture and front lower texture fields.

The front texture X offset of the control linedef determines the value to be given to the power-up. If the power-up is based on an amount of time, the front texture X offset will determine the amount of time the power-up lasts in tics. If the power-up is based on an amount of ammunition, the front texture X offset will determine how much of that power-up the player is awarded. If the Not Climbable flag is checked, the power-up will not have a time limit, and will remain indefinitely.

If the Block Enemies flag is checked, the power-up time/amount will instead be set by the control linedef's back upper texture field. This is necessary for power-ups that require names rather than numbers in this field, such as pw_shield and pw_emeralds. As with the front textures, if the name is longer than eight characters, it continues in the back middle texture and back lower texture fields. Arithmetic and bitwise operators can be used here. This is especially useful for pw_shield. For example, setting the back textures to SH_FORCE|10 will give the player a Force Shield with 11 hit points.

The custom powers are as follows:

pw_invulnerability Sets the Invincibility timer.
pw_sneakers Sets the Super Sneakers timer.
pw_flashing Sets the temporary invincibility timer (as if the player has just been hit).
pw_shield Sets which shield(s) the player currently has. 1
pw_tailsfly Sets the amount of time left in the player's flight timer.
pw_underwater Sets the player's drowning timer.
pw_spacetime Sets the player's space timer.
pw_extralife Sets how long the extra life music lasts.
pw_super Sets whether the player is Super. The player must still meet the criteria for becoming Super. (Note that this is used internally as a timer for how long the player has been Super, in tics.)
pw_gravityboots Gives the player Gravity Boots for the given duration.
pw_infinityring Sets the Infinity Ring ammo.
pw_automaticring Sets the Automatic Ring ammo.
pw_bouncering Sets the Bounce Ring ammo.
pw_scatterring Sets the Scatter Ring ammo.
pw_grenadering Sets the Grenade Ring ammo.
pw_explosionring Sets the Explosion Ring ammo.
pw_railring Sets the Rail Ring ammo.
pw_emeralds Gives the player a specified number of multiplayer Chaos Emeralds. 2
pw_nights_superloop Sets the Super Paraloop power-up timer (NiGHTS only).
pw_nights_helper Sets the Nightopian Helper power-up timer (NiGHTS only).
pw_nights_linkfreeze Sets the Link Freeze power-up timer (NiGHTS only).
pw_nocontrol Takes control away from the player. Adding 32768 to the front texture X offset will allow the player to jump while affected.
pw_ingoop Sets whether the player is in Brak Eggman's goop.

1 The values for the shields are as follows:

Name Value Description
SH_NONE 0 No shield
SH_JUMP 1 Whirlwind Shield
SH_ATTRACT 2 Attraction Shield
SH_ELEMENTAL 3 Elemental Shield
SH_BOMB 4 Armageddon Shield
SH_BUBBLEWRAP 5 S3&K Bubble Shield (unimplemented)
SH_THUNDERCOIN 6 S3&K Thunder Shield (unimplemented)
SH_FLAMEAURA 7 S3&K Flame Shield (unimplemented)
SH_PITY 8 Pity Shield
SH_FIREFLOWER 0x100 (256) Fire Flower power-up. Note: This can be combined with any of the other shields.
SH_FORCE 0x200 (512) Force Shield. On its own this flag only gives one health point to the shield – the lower 8 bits can be used as extra health points (max extra health is 0xFF, or 255). Note: This cannot be combined with any of the values SH_JUMP to SH_PITY

2 The front texture X offset determines which multiplayer emeralds are given to the player according to the table below. If you wish to award multiple emeralds, calculate the sum of the corresponding values. For example, to award all seven chaos emeralds, give the front texture X offset a value of 127.

1 EMERALD1 Green Emerald
2 EMERALD2 Purple Emerald
4 EMERALD3 Blue Emerald
8 EMERALD4 Light Blue Emerald
16 EMERALD5 Orange Emerald
32 EMERALD6 Red Emerald
64 EMERALD7 Gray Emerald

Sample

Example WAD: ex_ld434_awardcustompower.wad
  • This example WAD can be played in any gametype. It uses MAP01, replacing Greenflower Zone Act 1.
  • Stepping on the blue button gives the player permanent invincibility. Stepping on the red button removes it.

  Linedef typesLinedef executors [view]
Triggers:

ContinuousEach TimeOnce • Ring Count (ContinuousOnce) • Character Ability (ContinuousEach TimeOnce) • Race Only – Once • CTF Red Team (ContinuousEach Time) • CTF Blue Team (ContinuousEach Time) • No More Enemies – Once • Number of Pushables (ContinuousOnce) • Condition Set Trigger (ContinuousOnce) • Unlockable (ContinuousOnce) • Trigger After X Calls (ContinuousEach Time) • Level Load


Actions:
Sector:
Set Tagged Sector's Floor Height/TextureSet Tagged Sector's Ceiling Height/TextureSet Tagged Sector's Light LevelChange Tagged Sectors' TagChange Front Sector's TagStart Adjustable Flickering LightStart Adjustable Pulsating LightStart Adjustable Blinking Light (unsynchronized)Start Adjustable Blinking Light (synchronized)Fade Light LevelStop Lighting EffectChange Plane Scroller Direction
Plane movement:
Move Tagged Sector's FloorMove Tagged Sector's CeilingMove Floor According to Front Texture OffsetsMove Ceiling According to Front Texture OffsetsStop Plane MovementStart Platform MovementCrush Ceiling OnceCrush Floor OnceCrush Ceiling and Floor Once
Player/Object:
TeleporterChange Object StateStop ObjectAward ScoreEnable/Disable 2D ModeEnable/Disable Gravity FlipAward Power-UpDisable Player ControlChange Object SizeChange Object Type State
Other:
Change MusicPlay Sound EffectRun ScriptSwitch to Cut-Away ViewChange SkyChange WeatherShatter FOFChange Tagged Linedef's TexturesStart Metal Sonic RaceCondition Set TriggerCall Lua FunctionEarthquakeMake FOF Disappear/ReappearExecute Linedef Executor (from Tag)Execute Linedef Executor (Random Range)
PolyObject:
Door SlideDoor SwingMoveMove, OverrideRotate RightRotate Right, OverrideRotate LeftRotate Left, OverrideMove by WaypointsTurn Invisible, IntangibleTurn Visible, TangibleSet Translucency