Mirrors reflect everything in a sector, including the player. They are easy to construct, but a simple mistake can make them display a very ugly graphical glitch known as the HOM (Hall Of Mirrors) glitch.
Create a room. Attach a small sector to the side of the room. This sector will be the 'behind-the-mirror' sector. The two-sided (red) wall will be the actual mirror. The size of the 'behind-the-mirror' sector is irrelevant, but it's necessary that you at least have a 'behind-the-mirror' sector.
Set the red line of the 'behind-the-mirror' sector as a 'solid' one-sided masked wall (with the
1 key) and give it the
MIRROR texture (#560). Make the mirror blocked and hittable with the
H keys (
Ctrl + H in 2D mode). Optionally, you could tag the mirror texture
[0,MirrorSound]. If you want Duke to say "Damn, I'm lookin' good!" when you press on the mirror, give
MirrorSound a value of 252.
In the game, mirrors reflect shrink rays, and can be blown up with explosives. Note that mirrors will be destroyed by explosives regardless of blocking/hitscan flags, but they still must be set to prevent the player from walking into the mirror (the mirror will shove the player back out, but it still causes momentary graphical glitches). When a mirror is destroyed, it displays the texture
MIRRORBROKE. You may notice that the broken mirror texture is not properly aligned. To fix this, temporarily swap the
MIRROR texture with
MIRRORBROKE (#70), align it however you want, then swap it back to the
- You may notice that the 'behind-the-mirror' sectors in the official maps are bloody enormous. Purportedly this was because mirrors would only work if the 'behind-the-mirror' sector was at least as large as the room it was supposed to display. I'm unsure of what exactly happened that suddenly caused mirrors to work under different circumstances, but if I had to guess, I would say this limitation only existed in v1.3d of the game.
- If two washrooms are close together (and by logic most non-unisex types would be, unless the owner of the institution really has it in for the opposite gender and stowed their washroom somewhere well hidden and then giggled incessantly), often one of the two mirrors will develop the HOM glitch. If you check
E4L2.MAP: "Duke-Burger", you'll discover that one of the two mirrors is MIA because of this issue. There are a variety of causes for the HOM glitch. Check the "References - FAQ" section for details on the subject and methods of avoiding it.
- The lasers fired by Assault Troopers/Captains are also reflected by mirrors.
- Tripbomb laser beams will be reflected in mirrors, and tripbombs can even be placed on a mirror. Surprisingly, the explosion of an attached tripbomb will not destroy a mirror!
- The only explosions which seem to be able to destroy a mirror are from pipebombs, the RPG, or intangible time-delayed explosives (
OOZFILTER). The direct impact of a devastator rocket or a lobbed pipebomb will also break a mirror. All other causes of explosion (tripbombs, mortar shells, underwater spiked mines, tangible canisters or barrels, etc) seem to have no effect.
- In EDuke32, assigning a mirror a palette value of 4 will make it indestructible.
One-Way Mirrors are those classic interrogation room mirrors which only reflect on one side (check the mirror in
TUTORIAL.MAP for an example). Simply construct a hallway looping around to a room behind your mirror, and connect that room to the 'behind-the-mirror' sector. Mask unbreakable transparent glass such as (#504) on the other side of the 'behind-the-mirror' sector, and make it blocked and hittable. To hide the HOM effect, turn grid locking off (with
L), and make the 'behind-the-mirror' sector as thin as possible. The only downside to this effect is that the mirror can be broken with explosives, which ruins the realism entirely once the player realizes they can see through wooden panels from the back side. This isn't an issue in EDuke32 due to the indestructible mirror feature noted previously.
Shrink Ray Sensitive Walls
This is a neat little trick I accidentally discovered while testing a mirror. If you press
1 on a completed mirror to make it disappear, the mirror's attributes will still technically be active. This means that it will still reflect shrink rays! If you make the 'behind-the-mirror' sector as thin as possible, it creates the illusion that the wall texture behind the invisible mirror is actually reflective. You can texture this wall however you like. Unfortunately, the mirror will still be destructible. This isn't an issue in EDuke32 due to the indestructible mirror feature noted previously.