This tutorial will explain how to make secret doors which are opened by frobbing a glowing glyph in front of the door, like those found in Thief: Deadly Shadows as well as Yandros’ Thief 2 FM What Lies Below.
Eight concrete objects are required, and are listed below. Under each, you’ll find the properties you need to set up on each one, including on archetypes where necessary, plus all required links between the eight objects. In the future, I will add a diagram further showing the links.
Custom Scripts required: Either Gaylesaver’s scripts, or Telliamed’s PublicScript module to support the TrapPhantom and TrapMetaProp scripts.
Scripts = TrigWorldFrob, TrapPhantom, ActivateAmbient
Alpha = 0.25
FrobInfo = Script, None, None
DesignNote = alpha_max=1.0; alpha_min=0.0; rate=0.35; curve=1
Model name = whatever (probably one of Vigil’s glyph models)
AmbientHacked (optional) = 8, 0, NoSharpCurve
AnimLight:
Mode = smoothly dim
Millisec to brighten = 2000
Max brightness = 250
Min brightness = 0
Radius/Inner rad = 1.5
LightColor = whatever colour you want the glyph to glow
Be sure to load the custom script module! Create a Marker with:
Scripts = TrapMetaProp
Scripts = NVRelayTrap or TrapTimedRelay
DesignNote = “NVRelayDelay=2500” (if using NVRelayTrap) OR
Timing = 2500 (if using TrapTimedRelay)
TrapControlFlags = Once
If you want to play a VO or show onscreen text as I did in What Lies Below, ControlDevice link this Delay to it as well.
Model name = any door model since it’s unrendered and you adjust the dimensions anyway (I used my own res_cube model in WLB, a 4x4x4 cube with reskinnable faces)
MaterialTags = something appropriate, probably Material Stone
FrobInfo = Ignore, None, None
Render type = Not Rendered
Class tags = blank (so it plays no sound when it slides open)
Door > Translating:
Closed = 0
Open = a value sufficient to move it into solid
Base speed = large (like 50) so it moves almost instantly
Tips on doing this well:
Props are similar to DoorBlocking, but also add:
Scripts = TrapPhantom
DesignNote = alpha_max=1.0; alpha_min=0.0; rate=0.5; curve=1
— Magus Yandros 2007/03/08