[ Platforms | Path_Corner | Doors | Secret Doors | Func_Wall | Func_Illusionary ]

2.4.1 Functional Entities:

There are two types of advanced entities -- functional and trigger types. All functions and some triggers are created by first making a brush, then right clicking and selecting Tie to Entity. The Functions are movable brushes (by and large) while triggers are often for affecting gameplay. First come the functional entities. The triggers are handled in the next section, Items & Monsters.

Platforms in Practice

A rising platform is basically one or two brushes. The single brush platform is what you find in E1M1 that lifts you to the Green Armor, or in E1M5 that leads to the gold key door. As a matter of style, these platforms are used when they are up against a wall, and l33t map makers will put grooves under the main platform that run against the wall where grooves are. Look under the platforms in E1M2 or E1M5. There's two small brushes under the platform that are nested in the grooves in the wall. It's these little details that make for a cool Quake level.

Two-brush platforms have a thin stem under the main flat platform that the player stands on. You see them in DM 3, among other levels. Whatever you use, remember that every brush that should be associated with the platform has to be selected when you convert the brush into a platform. You may find it convenient to group multiple brushes together before selecting 'To Entity' to change them to a func_plat.

To make the platform, create a brush with the texture of your choice. Try and get the length of the brushes right before converting them to a func_plat, because sizing doesn't work really well with grouped items. The best way to edit grouped brushes that form an entity is to use the Vertex Manipulation tool. After that, select the brush, right click on the brush, and select To Entity. Select func_plat. The brush will turn pink in the three views screens. Place the platform where you want it to be in the UP position.

Set the travel altitude to a positive value that corresponds to the number of units it would take to lower your platform to the lowest position. One way to figure out this distance if your platform is the type with a 'stem' is to select the func_plat, then read the height value printed in the status bar below, then subtract about 8 or 16 from that value to allow some of the top of the platform to be showing when it is all the way down. If you have platform without a stem, you can go to selection mode and draw an outline rectangle in either the yz or xz 2d screen alongside the platform reaching from the top of the platform to the ground level and read off the height from that. Note: There is a limit to how long this travel altitude can be! From my experimenting, I have found the maximum value is (Height of platform) + 256. In other words, if you select your plat and it measures 44 units high, than the travel altitude can be no more than 300 units. This distance rule is also true for lip values on doors.

Speed, sound, and targetname are all set with pulldown menus. Platforms are activated when you walk over them, but if you give your platform a 'Name' then the platform starts in the full up position and must be triggered by something like a func_button or trigger_once before it initially comes down. The only other thing you'll probably want to change is the sound.


The path_corner class

path_corner is used for moving platforms and monsters. This class makes platforms and monsters move on a continuous, circular path. Monsters, of course, will break from it once they attack you. This section will cover using path_corner for both platforms and monsters

path_corner can be used in other innovative ways. Those pushers in Gloom Keep (E1M5) that often knock you down into the area with the fiends are just a func_train brush using two path_corners: one to push out, one to pull back in. (insert your favorite sexual reference joke here)
Moving platforms and path_corner:

Moving platforms, a.k.a. trains, are the floating plates you see in the game, which frequently transport you over areas. Trains are always moving, unlike platforms, which activate when you walk on them. Moving platforms range from the simple one floating near the top of DM2 or the complex platforms in E3M4 (Satan's Dark Delight).

Platforms can have sounds set to them, although most floating platforms are silent. You can set the speed as well, although the default speed is sufficient. There's also a Damage option in SmartEdit that lets you inflict serious pain on a user who is crushed by a platform.
A floating platform/train in practice.

Simple test. Make a large room, four walls, floor and ceiling. Create a starting point that's high off the ground, so you can have fun with rising and falling stops, and a flat brush that will function as the train (ie. where your character will stand). Convert that platform brush to func_train. Then create your first path_corner right next to the starting point, so the platform will be close enough for you to get on. It can be directly lined up with, higher or lower than, or to the left or right of the first stop point. Then add three more path_corner's.

Now, make a train with target and targetname. Enter 'target' and 'stop2' by turning off SmartEdit. Remember, the target is the next stop point. Using the hypothetical StopX, a platform with four corners would be Stop1, Stop2, Stop3, and Stop4. Stop1, ostensibly where you first get on the platform, has a target of Stop2 and a targetname of Stop1. Stop2 has a target of Stop3, and Stop3 has a target of Stop4. When you get to Stop4, it's target is Stop1. This completes the circle.
Using path_corner for a walking monsters:

You set up a circular path for monsters the same way you would for platforms. Just remember they can't fly, except for Scrags, so keep your stop points on an even plane.

Set the path_corners for the circle you want the monster to walk in. Remember, the monster has to hit all of the path_corner points, so don't make it impossible for the monster to get around. Place your monster near the first point, and join the two using the target and targetname. Once you get to the last corner, point it back to the first path_corner so the circle is complete.

2.4.2 Moving Brushes

Doors:

Single brush doors open in any direction. Draw a brush, then convert it to a func_door by selecting the brush, right clicking, and selecting To Entitiy. Doors have more spawnflags than armor, weapons, etc.

These fields are fairly straight-forward

There are other spawnflags handled by SmartEdit. They are: The direction is based on 360 degrees, as outlined in the Entities section. 0 moves left (your left as you face the door), 180 right, 90 is forward, 270 is back, -1 is up, -2 is down. To make a door stay open, set the "Delay Before Close" (in the Flags) to -1. That keeps it open permanently.

A dual-brush door, one that splits in opposite directions, requires two brushes. Convert both brushes to func_door separately, then set their angles for opening in opposite directions, so they part when they open. For example, a north-facing door (in the overhead view) would open by setting the right door to open at 0 degrees and the left door at 180 degrees.


Secret Doors:

Secret doors follow the same paramenters as normal doors, although they use func_door_secret. It also has several unique spawnflags.

Ok, here's the spawnflags broken down:


2.4.3 Miscellaneous Structures

Magical func_wall

The func_wall entity is a strange entity. This entity hasn't been well defined or used much. Basically, func_wall is a brush entity that remains solid when you tie it to an entity. As an experiment, try this: create a solid wall and convert it to a func_wall. Give it a targetname of your choice. Then create a button or trigger with the target that matches the targetname.

This is important. Set the spawnflag on the trigger to "kill target".

When you activate the trigger, the wall brush you made will disappear immediately. If you don't, the wall will behave like standard wall brush. This could be good for traps where you don't want to wait for the wall to open all the way.

Another use for func_walls: You can use a func_wall to have a wall or structure that appears in deathmatch-mode only, or only at certain skill levels, by setting the flags for "Not in Deathmatch" or "Not in Easy", etc.

Magic Texture changes: (Thanks to Autolycus for this tip!) func_wall entities work sort of like func_button entities in that it is possible to set up different textures on a given wall. To do this, you will need to either use one of the standard Quake button texture sets, or create your own. The naming of the textures is the key to this little trick!

As an example, create your wall brush (but not one that is an 'outside wall' in your map, because func_walls will 'leak' to the gray void) and then select 'To Entity' and select func_wall. Set the Name key to something like 'magic' or whatever. Depending on which version of Worldcraft you are using, you may have to turn 'Smartedit' off and manually add a 'targetname' value of 'magic'.

To set up your textures, you will need to use the Texture Application mode (Shift-A) and give the wall face a texture appropriate for an animated button.  One good example would be the textures for the base buttons:

+0basebtn  +abasebtn

Give your wall a texture of +0basebtn, and then create a trigger_multiple of your choice with a target value of 'magic' (same as the func_wall). Now, when you activate the trigger, it will change from the animated red button texture, to the solid yellow button texture.  If you are creating your own textures, I think you can see how useful this can be!  If you don't want animated textures, just create your normal texture and give it a name with +0 in front of it (that is the number zero, by the way) as the 'off' texture, and texture with +a in front of it for the 'on' texture- for example, +0monalisa and +amonalisa.

Holy hallucinations, it's magic! :-)

False Walls (they look solid)

These are fake (illusionary) walls that look solid, but you can walk through them. Create a brush and set it to the func_illusionary entity. It has no spawnflags. In E2M1, there's a secret area near the beginning with the dog and enforcer with a 100 hp megahealth.

 


Portions Copyright (c)1996-97 Niklata and Thomas Winzig.