Subway Vehicles can be used to carry 'active' sprites around the map, including the player.
Subway Engine
Make the track for your subway engine. The track cannot be split into multiple sectors! The small sector attached to it is just for the player to start in.
Create your subway engine (keeping in mind that it has to fit through the track without going through the walls). Raise or lower its floor/ceiling to the desired height. Use the R
key on the floor or ceiling if you want them to move with the vehicle. Tag it [EngineNumber,0]. EngineNumber
is the number of the engine in your map. If this is the first subway engine, set EngineNumber
to 1. If this is the second subway engine, set EngineNumber
to 2, etc. When you start making more complex Subway Vehicles, you can implement nested sectors in the vehicle, but we'll keep things simple for the present.
Place a series of L+[Pause,VisitingOrder]
throughout the track. Pause
can have two values: [0] = no pause, or [1] = pause at Locator for approximately 5 seconds. VisitingOrder
is the order that each Locator is visited, beginning with 0. The first L+
is given a value of 0, the second L+
is given a value of 1, etc. When the subway engine reaches the final Locator, it automatically loops back to the one with a Lo-Tag of 0.
Place an S[StartingLocator,6]
(Speed[0,Speed]
) in the subway engine. When placing the S
, keep in mind that it will overlap the upcoming L+
, and then act as a pivot point if the subway engine has to turn to reach the next L+
. The angle of the S
indicates the front of the vehicle. Set StartingLocator
equal to the Lo-Tag value of the first L+
the engine will visit.
Subway Trailing Cars
Trailing cars will follow a subway engine. Assuming you've already followed the steps above, create a trailing car at a reasonable distance behind the engine (to avoid the vehicles clipping through each other while taking corners). Give it the same Hi-Tag as the engine (if the engine was tagged [1,0]
, then tag the trailing car [1,0]
). Use the R
key on the floor or ceiling if you want them to move with the vehicle.
Place an S[StartingLocator,14]
in the trailing car. StartingLocator
must be the same value as it is in the subway engine. When placing the S
, keep in mind that it will overlap the upcoming L+
, and then act as a pivot point if the trailing car has to turn to reach the next L+
. The angle of the S
indicates the front of the vehicle. If you used a Speed
in the subway engine, the trailing car will automatically run at the same speed.
Notes:
- There can be multiple trailing cars following the engine, but they all must have the same Hi-Tag as the engine.
- The Subway Vehicle sound effect (sound #75) is automatic. Use MusicAndSFX to replace the default sound effect (Lo-Tag = Automatic moving sound). The MusicAndSFX sprite does not need to placed in trailing cars, only in the Subway Engine. It must be placed within the same sector as the SE 6 in order to work. This is the only instance I am aware of in which a MusicAndSFX sprite with a Lo-Tag of 0 will actually cause an effect to play the
KICK_HIT
sound effect. - Using a GPSpeed sprite to set the rate of motion seems to affect the Locator pause time. It also disables the sound effects if the value is any less than 65.
- If a Locator has a Hi-Tag of 1, the engine and trailing cars will pause at that Locator for approximately 5 seconds. The engine will move slightly faster than the trailing cars, so it is strongly recommended to have at least one 'pause' Locator if you are using trailing cars.
- A Subway Vehicle with a parallaxed floor or ceiling will not play sound effects.
- A Subway Vehicle with a parallaxed floor will fire rockets at the player. Assign the parallaxed floor a palette value greater than 0 to nullify this effect (3 is the standard choice because it does not affect the colour). If there are parallaxed trailing cars as well, each of them will also fire rockets. Anytime a vehicle pauses at a Locator, the firing of rockets ceases until the pause is over.
- 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
S
. The nested sectors must not interfere with the bounding sector's bordering walls, i.e. Do not split the bounding sector into multiple parts. Check the original maps for examples. - All nested sectors within a Subway Vehicle must have the same Hi-Tag.
- Sprites will only move with a vehicle if they are within the bounding sector containing the
S
. Subway Vehicles can only carry 'active' sprites (and of course the 10 intangible special sprites) without causing issues. - Vehicles cannot travel up or down slopes.
- You cannot place Recon Patrol Vehicles and Subway Vehicles in the same map.