Linedef type 313

From SRB2 Wiki
Jump to: navigation, search

Linedef type 313, No More Enemies - Once, is a type of linedef executor trigger which activates any linedef executor once no more enemies (bosses included) exist within a specified area. The linedef executor will trigger only the first time, and then won't be triggered again until the map is reloaded. This effect is useful for creating areas where the player has to destroy all enemies to move on.

Setup

This trigger uses invisible, intangible FOFs (linedef type 223) to specify the area that is checked for enemies; it is only activated when no more Objects with the flag MF_ENEMY or MF_BOSS exist inside these FOFs.

Create a control sector outside of your map and give one of its linedefs linedef type 313 (no tag is needed). In the same control sector, give as many linedefs as you wish linedef type 223, and tag each one to a target sector you want to be scanned for the presence of enemies. The game will go through the linedefs of the control sector, checking inside the areas occupied by the FOFs to see if any enemies exist. The floor height and ceiling height of the control sector indicate the floor and ceiling heights of the FOFs.

Additionally, create a new control sector (or use the former) and give one of its linedefs linedef type 300 or linedef type 302, and give it a tag equal to the length of the linedef with linedef type 313. If no enemies exist in any of the FOF areas, this linedef executor is run once. Any linedef executor effect you would like to be triggered should be applied to other linedefs on this same control sector.

Sample

Example WAD: ex_ld313_trigger_nomoreenemiesonce.wad

  Linedef types - Linedef executors [view]
Triggers:

ContinuousEach TimeOnceRing Count - ContinuousRing Count - OnceCharacter Ability - ContinuousCharacter Ability - Each TimeCharacter Ability - OnceRace Only - OnceCTF Red Team - ContinuousCTF Red Team - Each TimeCTF Blue Team - ContinuousCTF Blue Team - Each TimeNo More Enemies - OnceNumber of Pushables - Continuous Number of Pushables - OnceCondition Set Trigger - ContinuousCondition Set Trigger - OnceUnlockable - ContinuousUnlockable - OnceTrigger After X Calls - ContinuousTrigger After X Calls - Each TimeLevel 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 Fire FlickerStart Adjustable Glowing 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