<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sparhawk</id>
	<title>The DarkMod Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sparhawk"/>
	<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Special:Contributions/Sparhawk"/>
	<updated>2026-04-29T00:20:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17650</id>
		<title>The Dark Mod Gameplay</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17650"/>
		<updated>2014-03-02T10:34:18Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Doors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{red|Updates for versions after v1.00 are listed in red, so players can quickly see changes to gameplay since their last read.}}&lt;br /&gt;
&lt;br /&gt;
Since The Dark Mod is designed to simulate the stealth gameplay of Thief, many things will be very familiar to Thief players.  There are some features that work differently, however, and some things that are entirely new to TDM.  &lt;br /&gt;
&lt;br /&gt;
If you have never played Stealth Games before, start with the [[Basics of Stealth Gaming]].&lt;br /&gt;
&lt;br /&gt;
Veteran stealth gamers can read the various sections below for more detail:&lt;br /&gt;
&lt;br /&gt;
= The Game Menus =&lt;br /&gt;
&lt;br /&gt;
Your experience with The Dark Mod will start with the Main Menu, where you may wish to adjust some settings before starting your first mission.  If you already have saved games from a currently installed mission, you can load them from the Load/Save menu.  &lt;br /&gt;
&lt;br /&gt;
{{red|Note: While missions remain compatible with all updates, your saved games will not necessarily work after updating, due to code changes.}}&lt;br /&gt;
&lt;br /&gt;
== Starting a Mission ==&lt;br /&gt;
[[Image:new_mission.jpg|thumb|The New Mission menu.]]&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;New Mission&#039;&#039; from the Main Menu.&lt;br /&gt;
# Click &amp;quot;Download&amp;quot; to see a list of missions available to download.  You can even read details and see screenshots from the mission before downloading it. {{red|(1.04)}}&lt;br /&gt;
# Select a Mission from the Available Mission list on the right (start with the Training Mission if this is your first time) and click &#039;&#039;Install Mission&#039;&#039;.&lt;br /&gt;
# TDM will install the mission and restart.  Select &#039;&#039;New Mission&#039;&#039; again, and click &#039;&#039;Start Mission&#039;&#039; &lt;br /&gt;
# You will see a briefing that introduces the mission.  Click &#039;&#039;Objectives&#039;&#039; to proceed.&lt;br /&gt;
# Read your objectives, and choose your Difficulty Level.  Then select &#039;&#039;Buy Equipment&#039;&#039; (or &#039;&#039;Start Mission&#039;&#039; in some missions).&lt;br /&gt;
# After purchasing desired equipment, hit &#039;&#039;Start Mission&#039;&#039;.  (The option to &#039;&#039;Drop&#039;&#039; starting items is available, but use with caution...dropping some items may make a mission impossible to complete)&lt;br /&gt;
# The Mission Loading screen should appear. Be patient...loading a mission for the first time can take several minutes.&lt;br /&gt;
&lt;br /&gt;
To call the Main Menu during the game, press {{ESC}}) .&lt;br /&gt;
&lt;br /&gt;
See [[Installing and Running Fan Missions]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Changing Settings ==&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;Settings&#039;&#039; from the Main Menu&lt;br /&gt;
# Select the type of setting you wish to adjust: &#039;&#039;Audio&#039;&#039;, &#039;&#039;Video&#039;&#039;, &#039;&#039;Controls&#039;&#039;, or &#039;&#039;Gameplay&#039;&#039;&lt;br /&gt;
# The controls are set to defaults familiar to &#039;&#039;Thief&#039;&#039; players, however there are new keys/features that are worth reviewing.&lt;br /&gt;
#There are difficulty settings for many things, including lockpicking and {{red| combat. (1.01)}} &lt;br /&gt;
# New graphic settings have been added for better graphic quality and bloom. {{red|(1.03)}}&lt;br /&gt;
#{{red|A new &amp;quot;AI Vision&amp;quot; option has been added.  This controls how quickly AI realize you are an enemy when they spot you. (2.0)}}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
When you call the Main Menu during a mission (by hitting {{ESC}}), you will see an option for &amp;quot;Objectives&amp;quot;.  This is where you can check your progress.&lt;br /&gt;
&lt;br /&gt;
Your objectives are also displayed after the Mission Briefing when you first start a mission.&lt;br /&gt;
&lt;br /&gt;
You can also check your Objectives without going to the menus.  Hitting {{key|O}} will bring up your objectives on screen.  You can use the mouse wheel to scroll up and down.  Note that this method &#039;&#039;does not pause the game&#039;&#039;. {{red| (1.01)}}&lt;br /&gt;
&lt;br /&gt;
When you complete an objective, a chime will sound and “Objective Completed” will be displayed at the top of the screen.  &lt;br /&gt;
&lt;br /&gt;
When you have completed all objectives, the map will close and a “Mission Succeeded” screen will appear.  Likewise, if you fail an objective or are killed, a “Failed Mission” screen will appear.  You can restart the map by selecting the &amp;quot;Restart&amp;quot; option or via the Main Menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= HUD Display =&lt;br /&gt;
&lt;br /&gt;
[[Image:hud.jpg|thumb|The Game Screen indicators.]]&lt;br /&gt;
&lt;br /&gt;
1. WEAPON ICON: An icon of your currently selected weapon is displayed in the bottom left corner of the screen.&lt;br /&gt;
&lt;br /&gt;
2. BREATH INDICATOR: When you are underwater a small blue bar will appear above the lightgem.  This bar measures how much air you have left.  When the blue bar runs out, you start to take damage.  Surfacing or using a Breath Potion will restore your air bar. &lt;br /&gt;
&lt;br /&gt;
3. LIGHTGEM: The lightgem at the bottom of the screen indicates how easy you are to see.  This is primarily due to how much light is hitting you, but also includes things like whether you are crouched, moving, or have a weapon drawn. {{red|Being under water also reduces your lightgem. (1.03)}}&lt;br /&gt;
&lt;br /&gt;
The wings on either side of the gem are a crouch indicator.  When you are crouched, the wings &#039;crouch&#039; down as well. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
4. HEALTH INDICATOR: When you are injured, a small red healthbar appears below the lightgem.  It will remain visible until you are returned to full health.&lt;br /&gt;
&lt;br /&gt;
5. INVENTORY ICON: Your currently selected inventory object (or your loot total) is displayed as an icon in the bottom right.&lt;br /&gt;
&lt;br /&gt;
== Weapons ==&lt;br /&gt;
&lt;br /&gt;
Weapon hotkeys were changed at the last minute, so this list may need modifying:&lt;br /&gt;
* {{key|`}} Put away weapons&lt;br /&gt;
* {{key|1}} Blackjack&lt;br /&gt;
* {{key|2}} Short Sword&lt;br /&gt;
[[Image:arrows.jpg|thumb|A selection of arrows you can choose from.]]&lt;br /&gt;
* {{key|3}} Broadheads&lt;br /&gt;
* {{key|4}} [[Water Arrows]]&lt;br /&gt;
* {{key|5}} [[Fire Arrows]]&lt;br /&gt;
* {{key|6}} [[Rope Arrows]] &lt;br /&gt;
* {{key|7}} [[Gas Arrows]]  &lt;br /&gt;
* {{key|8}} [[Noise Arrows]]&lt;br /&gt;
* {{key|9}} [[Moss Arrows]]&lt;br /&gt;
* {{key|0}} [[Vine Arrows]] {{red| (1.07)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(note that there has been a report that linux users cannot use the {{key|`}} as it is mapped to the console.  Linux users will need to select a different key for &#039;Put away weapons&#039;.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Inventory Objects ==&lt;br /&gt;
Cycle through your inventory using the Inventory Prev/Next keys (default: {{key|[}} or {{key|TAB}} for next item and {{key|]}} for prev item). Inventory objects are stored in groups, so all keys will be stored together, all readables, etc.  You can cycle through groups with the Prev/Next Group keys.&lt;br /&gt;
&lt;br /&gt;
To ‘use’ an inventory object, select it and then hit the Use key (default: {{key|U}}). This will drink potions, throw mines, activate the spyglass, etc. To &amp;quot;use&amp;quot; objects on other objects (like using a key on a door), select the object in inventory, highlight the thing you want to use it on, and hit Use. &lt;br /&gt;
&lt;br /&gt;
You can drop inventory items by hitting the Drop key (default: {{key|R}}) twice.  See the section &amp;quot;Holding Junk Objects&amp;quot; for more information. Note that mappers may designate some important inventory items as undroppable.&lt;br /&gt;
&lt;br /&gt;
You can clear the inventory selection by hitting the {{key| ← &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;}} (backspace) key.&lt;br /&gt;
&lt;br /&gt;
To set hotkeys for your inventory items, please see [[Custom Settings for Players]].&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Flashbomb === &lt;br /&gt;
[[Image:equipment.jpg|thumb|The tools of a professional burglar.]]&lt;br /&gt;
Activate a flashbomb by selecting it in inventory and hitting Use. Flashbombs detonate on impact.  A short tap will cause it to fall and go off at your feet where it won&#039;t blind you. Holding down the Use key will throw the flashbomb farther away.  If you use the Drop key to put the flashbomb down, it is not activated at all.&lt;br /&gt;
&lt;br /&gt;
An AI must be looking at the flashbomb to be blinded.  Don&#039;t look at the point of impact or you&#039;ll be blinded too.&lt;br /&gt;
&lt;br /&gt;
AI are only blinded for a few seconds, and they are alerted by the flash, so this tool is most useful for getting away when you&#039;ve been spotted, or stunning an enemy before an attack.&lt;br /&gt;
&lt;br /&gt;
Flashbombs have no effect on the undead.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Holy Water ===&lt;br /&gt;
&lt;br /&gt;
Select your holy water in inventory and hit the Use key.  This puts holy water into your water arrows, making them lethal to undead.  The effect only lasts 30 seconds, so use it wisely.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Keys === &lt;br /&gt;
Some doors or chests require keys to open.  To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
You can also assign a key to &#039;&#039;Cycle Keys&#039;&#039; to quickly cycle through all keys in your inventory.  This is a very useful way to get to your keys quickly when you have a lot of other items in your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Lockpicks === &lt;br /&gt;
See [[#Lockpicking|Lockpicking]] for more information on lockpicks.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Maps and Readables === &lt;br /&gt;
&lt;br /&gt;
In The Dark Mod, both maps and most readables (books, scrolls, etc) are inventory items.  To read them, you scroll to the object in your inventory and then hit the Use key.  The map or readable will be displayed on screen.  Note that &#039;&#039;&#039;this does not pause the game&#039;&#039;&#039;.  Unlike Thief, events continue to unfold around you, and you can be attacked while reading if not careful.  You can see your environment around the edges of the map/readable, but the best suggestion is to find a safe place to read.  With multi-page readables (distinguishable by folded corners on the page), use the next/prev inventory or next/prev weapon keys to scroll through pages.  Hitting Use or Attack will put the readable away.&lt;br /&gt;
&lt;br /&gt;
The Map key (default: {{key|M}}) will also automatically bring up your map, if you have one. You can also define a readables key (default: not mapped) to cycle through any readables you have.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Mines === &lt;br /&gt;
&lt;br /&gt;
Place a mine by selecting it in inventory and hitting Use.  A short tap will drop the mine at your feet.  Holding down Use will throw the mine farther away.  After a few seconds, the mine is armed and {{red| starts making a distinct ticking sound (1.07) }}.  Once you hear the ticking, it will go off if stepped on. &lt;br /&gt;
&lt;br /&gt;
{{red| Map authors can place a mine and arm it at mission start. It behaves the same as any mine you&#039;ve thrown: it will explode on contact, and it can be disarmed. So don&#039;t assume that any mine you come across is safe to pick up. Listen for the tell-tale armed ticking sound. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
If you use the Drop key to put the mine down, it is not armed.&lt;br /&gt;
&lt;br /&gt;
Note that you can set armed mines off by shooting them with an arrow.&lt;br /&gt;
&lt;br /&gt;
You can disarm an armed mine by using a lockpick on it, the same as you would on a locked door. {{red| (1.07) }} Armed mines give off a distinct ticking sound, which stops when the mine is disarmed. After disarming a mine, you can frob it to put it back into your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Player Lantern === &lt;br /&gt;
&lt;br /&gt;
Light is usually the bane of thieves everywhere, but there are times when you need just a little to make your way around.  To this end, some thieves carry a covered lantern with a hood that can be closed to block out the light.  To use the lantern, select it in inventory and hit Use.  This will lift the cover if the lantern is currently off, or close the cover if it is currently lit. There is also a hotkey for using the lantern; by default this is {{key|L}}. This lantern is clipped to your belt so your hands are free, and it can even be used underwater for short periods.&lt;br /&gt;
&lt;br /&gt;
Obviously using the lantern makes you clearly visible to any nearby opponents.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Potions ===&lt;br /&gt;
&lt;br /&gt;
Potions are used by selecting them in inventory and hitting Use.  Healing potions will restore hit points (the effect is somewhat gradual).  Breath potions increase the player&#039;s breath meter, allowing them to stay underwater longer.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Spyglass === &lt;br /&gt;
&lt;br /&gt;
A good Thief likes to scout ahead.  To use the spyglass, select it in inventory and hit Use. Or use {{key|G}} as a shortcut.  You can use the next/prev weapon keys to zoom in and out.  You cannot use weapons or frob objects while using the spyglass.&lt;br /&gt;
&lt;br /&gt;
= Movement =&lt;br /&gt;
&lt;br /&gt;
Movement in The Dark Mod is not that different than Thief.  You can run, walk, or creep, as well as do any of the three while crouching.  The faster you move, the more noise you make.&lt;br /&gt;
&lt;br /&gt;
== Climbing ==&lt;br /&gt;
&lt;br /&gt;
In addition to ladders and ropes, many missions allow you to climb vines, pipes and chains.&lt;br /&gt;
&lt;br /&gt;
Move or jump onto a ladder or vines to &amp;quot;attach&amp;quot; to them.  Moving &amp;quot;forward&amp;quot; will move in the direction of your view, be it up, down or to the side.  &amp;quot;Back&amp;quot; will reverse, and you may strafe to the side.  Move away or jump off to detach.&lt;br /&gt;
&lt;br /&gt;
Holding crouch will let you slide down a rope or ladder. Release to stop sliding, or hold it down to slide all the way to the bottom.&lt;br /&gt;
&lt;br /&gt;
=== Swinging on Ropes ===&lt;br /&gt;
&lt;br /&gt;
Tapping the &amp;quot;attack&amp;quot; key while on a rope or chain will cause the rope to swing forward.  You can actually gain more momentum by continuing to tap it every time you start swinging forward (think of it like swinging your legs forward on a swing).  This can allow you to jump off the rope and grab ledges that are otherwise too far away.&lt;br /&gt;
&lt;br /&gt;
Note that the further down the rope you are, the more distance you can travel when swinging (just like a real rope).&lt;br /&gt;
&lt;br /&gt;
== Mantling ==&lt;br /&gt;
There are two different ways to mantle (pull yourself up onto ledges) in The Dark Mod.  One is by holding down the Jump key, which Thief players will be familiar with.  There is also a key specifically for mantling (default: {{key|&lt;br /&gt;
C}}), so that failing to mantle will not result in jumping and making noise.  Ideally there should be no difference in these methods, but occasionally one method will work when the other will not.&lt;br /&gt;
Mantling is affected by where you are looking, so a successful mantle is more likely if you are looking directly at the edge of the object you wish to climb. To climb on a chair, look down at the seat then press the mantle control. By this means you can clamber over relatively low but awkward obstructions and even select one ledge above/below another.&lt;br /&gt;
&lt;br /&gt;
You cannot mantle while carrying a junk object or body.&lt;br /&gt;
&lt;br /&gt;
= Interacting With Your Environment =&lt;br /&gt;
&lt;br /&gt;
The Dark Mod gives you far more flexibility than previous Thief games when it comes to interacting with things.&lt;br /&gt;
&lt;br /&gt;
== Manipulating Held Objects ==&lt;br /&gt;
This is one area that works quite differently from the Thief series.  &amp;quot;Held Objects&amp;quot;(anything that you can carry that doesn’t go into inventory, like chairs, candles, or bodies) are held out in front of you when frobbed.  Unlike in Thief, they take up physical space, and can be used to push or manipulate other objects.  They can also bump into other objects, making noise (or being knocked out of your hands), so be careful.&lt;br /&gt;
&lt;br /&gt;
To grab a held object, frob it as normal.  The object will stop highlighting, and any weapons you have selected will lower.  At this point, you can use the next/prev weapon keys (default: mousewheel up/down) to move the object closer/further away from you, and moving your mouse around will move the object (it stays basically in the center of your screen). &lt;br /&gt;
&lt;br /&gt;
The heavier the object, the slower it moves, so you may notice a ‘lag’ if you turn quickly with heavy objects. It can take a while to get used to this.&lt;br /&gt;
&lt;br /&gt;
To drop an object, hit the Drop key (default: {{key|R}}).  By crouching and angling your view down gently, you&#039;ll find that you can easily set down objects without making noise. You can also throw a held object by hitting the Attack key. Tapping the Attack key throws the object a short distance; holding the Attack key down and releasing it will throw it further.&lt;br /&gt;
&lt;br /&gt;
To rotate a held object, hold down the {{key|Z}} key or middle mouse button, and move your mouse. &lt;br /&gt;
(By default, horizontal movement of the mouse yaws the object around the vertical axis, and vertical movement pitches the object up and down. Holding down the Run key makes horizontal mouse movement roll the object around the forward axis.) This can be useful for replacing objects that have been knocked over, or for placing moveable objects in creative ways (like putting a plank over a gap, or stacking chairs).&lt;br /&gt;
It is possible to “drop” inventory items into your hands, where they can be manipulated as if they were held objects.  Select the object in your inventory, and hit the Drop key {{key|R}}.  The object will appear in front of you like a held object, and you can rotate it, set it down, etc.  To put it back into your inventory, you must &amp;quot;use&amp;quot; the item again ({{key|U}}) or scroll to the next inventory item ({{key|TAB}} or {{key|[}}/{{key|]}}).&lt;br /&gt;
[[Image:candles6.jpg|thumb|[http://www.youtube.com/watch?v=922ArtrKgC4 Click to see TDM candles in action.] ]]&lt;br /&gt;
AI will hear junk objects that are dropped or banged around.  It takes some skill to pick up objects on a crowded table without knocking them into each other.  Remember than an object moves to the center of the screen when you pick it up.  If you are looking slightly above the object, it will jump up to center screen (usually a good thing).  If you&#039;re looking slightly below the object, it will jump down, banging whatever surface it rests on (a bad thing).  A little practice may be required to smoothly and quietly sort through objects.&lt;br /&gt;
&lt;br /&gt;
Some objects that are too heavy to lift may still be movable (like large crates).  Walking or running into such objects may (mapper&#039;s choice) push them along the ground.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Candles ===&lt;br /&gt;
&lt;br /&gt;
Lit candles can be frobbed and carried around to light your way (obviously you will be easily spotted while carrying a lit candle).  They can also be used to light flammable objects like other candles or torches.  Click the caption on the right for a demonstration.&lt;br /&gt;
&lt;br /&gt;
Candles can be extinguished by water, or you can pinch them out by picking them up and clicking the Use key.  (Note that this method can also be used on some movable lanterns). {{red|Candles will usually go out after a few seconds if they get knocked over. (1.06) }}&lt;br /&gt;
&lt;br /&gt;
Be aware that multiple light sources can cause a significant drain on your framerate.  If you go around a room lighting six or seven new candles, don&#039;t be surprised if your framerate drops significantly.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Bodies ===&lt;br /&gt;
&lt;br /&gt;
Bodies work differently than most other objects.  There are two ways to deal with dead or unconscious bodies in The Dark Mod.  You can both drag them and carry them.&lt;br /&gt;
&lt;br /&gt;
To drag a body, you must ‘frob’ it (which probably requires crouching), and then move your mouse around.  The body will drag along with you until you frob it again or the body gets stuck on something.  &lt;br /&gt;
&lt;br /&gt;
This is not the most graceful way of moving bodies and is not recommended for long distances.  Bodies can catch on things and get pulled out of your hands.  It can be useful for quickly shifting a body into a shadow, however.  You can even move individual limbs to put a flailing arm back into a shadow.&lt;br /&gt;
&lt;br /&gt;
You can also carry a body over your shoulder.  While a body is being dragged, hitting the Use button will lift it up over your shoulder.  While carrying a body you move more slowly and cannot use weapons or inventory objects (though you can open doors).  When you are ready to drop the body, hit Use again.  If there is not enough room, you will hear a grunt and nothing will happen.  Back up a bit and try again.  When you drop a body, it will be the opposite orientation from the way you picked it up (if a body is face-up when you lift it, it will be face-down when you drop it).  This allows you to easily search a body for keys or other objects.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Food ===&lt;br /&gt;
&lt;br /&gt;
Some food can be eaten.  When holding a piece of food (such as an apple) hit the &amp;quot;use&amp;quot; key.  If the food is edible, you will &#039;eat&#039; it. Discard any left-overs. Some of the healthy food will heal you by 1 HP.&lt;br /&gt;
&lt;br /&gt;
== Doors == &lt;br /&gt;
You can interrupt a door opening or closing by frobbing it again.  Frobbing a moving door stops it, allowing you to open a door just a crack to peer beyond.&lt;br /&gt;
&lt;br /&gt;
You can lean into a door (use the lean left/right keys) to press your ear up against it and hear what&#039;s on the other side.  Note that while you&#039;re concentrating on what&#039;s beyond the door you&#039;ll be less able to hear the sounds in the room you&#039;re currently in.&lt;br /&gt;
&lt;br /&gt;
Some doors or chests are locked and require keys (or lockpicks, see below) to open. To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
Depending on how important a specific door is, the mapper can choose to set flags on it. Check out the [[#AI_Behaviour| AI Behaviour]] section, for details on how the AI responds in such cases.&lt;br /&gt;
&lt;br /&gt;
== Lockpicking ==&lt;br /&gt;
You will definitely want to practice lockpicking in the Training Mission before trying a real map. Just reading the instructions is probably not enough to get the hang of it. &lt;br /&gt;
&lt;br /&gt;
There are two types of lockpicks, &#039;triangle&#039; and &#039;snake&#039;. To begin, you must have the correct lockpick selected in inventory.  If you do not, you will see a red flash behind the lockpick icon when you frob the locked door. To pick a lock, move close enough to highlight the door and hold the Use key.  You will start to hear a sequence of clicks, and see the door handle (or lock pin) jiggle in sync.&lt;br /&gt;
&lt;br /&gt;
The clicks are a random pattern.  At the end of the pattern is a brief period of silence, then the pattern will begin again. To be successful you must hit the Attack key (or release the Use key if you prefer) at the start of that silence.  If you hit the Attack key at the wrong time there is a dull &#039;fail&#039; sound and the pattern begins again.  Your goal is to learn the sequence of clicks so that you can anticipate when it will end.  This requires concentration.&lt;br /&gt;
&lt;br /&gt;
Some locks are more difficult than others and have multiple pins (which may require switching lockpicks).  You can make lockpicking harder or easier in the Settings Menu, by adjusting how much silence there is between each pattern (the more silence, the easier it is to react in time).  Setting Lockpicking to &amp;quot;Auto&amp;quot; will make locks open automatically after the pattern repeats 3 times.&lt;br /&gt;
&lt;br /&gt;
{{red| Armed mines can be disarmed by lockpicking them. Afterward, they can be frobbed and put into inventory. Either lockpick type can be used. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
== Chests ==&lt;br /&gt;
It can sometimes be a little awkward frobbing items inside deep chests. Leaning forward (or even sideways) will usually help.&lt;br /&gt;
&lt;br /&gt;
If you get too close to a chest, you can sometimes get in the way of the lid opening or closing. Back up a little if the lid is not moving as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Combat =&lt;br /&gt;
&lt;br /&gt;
There are a number of ways that combat is different in The Dark Mod.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that you are not a warrior.  Guards are generally better trained than you are, and while you might win a few one-on-one battles, you will almost certainly die if facing two guards at once.&lt;br /&gt;
&lt;br /&gt;
== Blackjacking ==&lt;br /&gt;
&lt;br /&gt;
Your blackjack is more effective if your opponent is relaxed and not expecting trouble.&lt;br /&gt;
&lt;br /&gt;
You must hit an AI on the head to knock them out.  Hitting an AI anywhere else will simply alert them.  For best results, don&#039;t get too close to the AI, or you may hit them with your elbow instead of your blackjack.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can successfully knock out:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Unarmed civilian AI from any direction, any time.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Bare-headed guards from any direction when relaxed, or from behind when their weapon is out.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Helmeted guards from behind when relaxed (helmeted guards cannot be knocked out when their weapon is out).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All armed AI are harder to knock out when the AI has drawn a weapon, because they are assumed to be ready for you.  Either they have searched for you or been warned by a friend that something is wrong.&lt;br /&gt;
&lt;br /&gt;
The blackjack does a small amount of damage, so you could theoretically beat someone to death with it, if you have a lot of time on your hands.&lt;br /&gt;
&lt;br /&gt;
Undead and some animals cannot be knocked out with the blackjack.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Certain heavy-duty helmets make their wearer immune to the blackjack.  These can be identified by a face grill and a low back, which protects the base of the neck.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the blackjack makes an overhead swing, so if there is something low in the way (like a doorframe) you might hit it instead of your target, especially if you are looking upwards.&lt;br /&gt;
&lt;br /&gt;
== Melee Combat ==&lt;br /&gt;
[[image:combat1.jpg|thumb|A guard winds up for an overhead attack]]&lt;br /&gt;
There is a combat arena in the Training Map for practicing combat.  After a few rounds you will have a much better feel for how it works.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Different AI have different skill levels (novice, trained, skilled) when it comes to combat.  An armed commoner will not fight as well as an elite guard. You can also change the overall combat difficulty in the Settings menu.}}&lt;br /&gt;
&lt;br /&gt;
You can use your shortsword to attack an enemy, as well as block enemy weapons. Attacking a relaxed enemy (ie, backstabbing) does extra damage. &lt;br /&gt;
To attack, hit the Attack key. This will make a left-to-right, slashing attack. If you move the mouse while clicking the Attack key, you can select other kinds of attacks. Moving the mouse down will cause an overhead swing. Moving the mouse up will cause a thrust attack. Moving the mouse left or right will cause a right-to-left or left-to-right slash, respectively. &lt;br /&gt;
&lt;br /&gt;
AI can parry your swings (unless they are using a dagger), and they will do this more easily if you keep using the same kind of attack, so you will want to mix it up. &lt;br /&gt;
&lt;br /&gt;
The amount of damage you do varies depending on where you hit. Hitting an AI in the head will do more damage than hitting their arm or leg. Armour also plays a factor. Your sword can&#039;t penetrate plate armour, and even chainmail or leather armour will provide the AI some protection.&lt;br /&gt;
&lt;br /&gt;
To block an enemy strike, hold the Parry key.  You must hit the parry key &#039;&#039;after&#039;&#039; the AI starts winding up for their attack.  Too early and the AI will see the block and choose a different attack.  Obviously, you must also be facing the AI...holding up a block while looking off to the side won&#039;t help.&lt;br /&gt;
&lt;br /&gt;
If you are using Manual Parry (select in the Settings menu), you need to select the appropriate block.  If your opponent is making an overhead attack, you must select an overhead block.  Select blocks by moving the mouse while holding the Parry button down, just as you would for an attack.  &lt;br /&gt;
&lt;br /&gt;
If you successfully block an attack or damage your opponent the AI will be temporarily &amp;quot;flat-footed&amp;quot;. They can still attack and defend, but they will not chase you if you turn to run. The effect lasts only a second or two, but that can sometimes be enough time to give you a head start.&lt;br /&gt;
&lt;br /&gt;
The trick to a successful combat is timing. You need to try to anticipate your opponent&#039;s attacks, and then launch counter-attacks before he has a chance to parry.&lt;br /&gt;
&lt;br /&gt;
AI will usually try to flee if they are badly wounded.&lt;br /&gt;
&lt;br /&gt;
{{update|1.07|Different weapons do different amounts of damage when they hit you.  A longsword is one of the most damaging weapons, while short swords do less damage and daggers even less.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; It is possible to hit walls or ceilings instead of your target.  Keep track of how much space is around you when choosing your swing.&lt;br /&gt;
&lt;br /&gt;
== Missile Combat ==&lt;br /&gt;
&lt;br /&gt;
Your broadhead arrows cannot penetrate plate armour, and will do less damage if they hit chain or leather armour.  The best result is to hit unarmoured flesh.  A single arrow to the head will kill a relaxed guard.  Alert guards are assumed to be taking measures to minimize the damage from incoming arrows.  &lt;br /&gt;
&lt;br /&gt;
If you are hit while trying to fire an arrow, your attack will be canceled.&lt;br /&gt;
&lt;br /&gt;
AI will switch to missile combat if they can see you but cannot reach you.  If they don&#039;t have a missile weapon, they will become angry and start throwing things at you.&lt;br /&gt;
 &lt;br /&gt;
AI archers will fire arrows at you.  Some AI are better shots than others.  When you get within melee range of an archer, they will pull out their melee weapon to fight with it instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= AI =&lt;br /&gt;
&lt;br /&gt;
== AI Senses ==&lt;br /&gt;
&lt;br /&gt;
AI can see you if your lightgem is not totally black.  The longer you&#039;re in their field of vision and the closer you are, the more likely they are to notice you and come and investigate.  &lt;br /&gt;
&lt;br /&gt;
Some AI have hoods, eyepatches, or other things that block their field of vision.  These can be exploited by clever thieves. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
AI can hear your footsteps, and noise that you make from banging into things or dropping objects.  {{update|2.0|They can also hear the sound of falling bodies, so be careful where you knock out opponents.}}&lt;br /&gt;
&lt;br /&gt;
AI can also feel you if you bump into them, or vice versa.&lt;br /&gt;
&lt;br /&gt;
TDM AI are fairly intelligent about searching.  They can identify good hiding spots and will check them out first.&lt;br /&gt;
&lt;br /&gt;
When AI become alert, their senses get slightly better.  A shadow that is sufficient to hide you from a relaxed AI might not be enough for an AI that is alert and actively looking for trouble.&lt;br /&gt;
&lt;br /&gt;
AI do not forget about you after giving up the search.  They remain in an alert state, with heightened senses and their weapons out.&lt;br /&gt;
&lt;br /&gt;
== AI Behaviour ==&lt;br /&gt;
&lt;br /&gt;
AI don&#039;t necessarily patrol the exact same route every time, or stand for the same amount of time at every spot they go to.  Mappers can add as much randomness to the AI as they wish.&lt;br /&gt;
&lt;br /&gt;
AI need to see evidence in order to react to it.  If a bloodstain or missing loot is in shadow, an AI won&#039;t notice it.&lt;br /&gt;
&lt;br /&gt;
AI can react to missing objects, but only if mappers set the objects as noteworthy.&lt;br /&gt;
&lt;br /&gt;
AI become suspicious if they find a weapon lying around.  Finding blood or a body will cause them to go fully alert.&lt;br /&gt;
&lt;br /&gt;
AI can hear broadhead arrow impacts.  If you shoot an arrow and it hits a wall nearby, the AI will notice.  AI will also react to water arrows if you fire them too close (or if you hit an AI with one).  {{update|1.07|AI will notice and be suspicious of arrows that are left sticking into things.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AI do not yet notice moss arrow impacts, broken objects or moss patches.  These things will likely cause minor alerts in the future.&lt;br /&gt;
&lt;br /&gt;
{{update|1.06| AI can notice and comment on lights that have been put out, and may relight ones that the mapper has set as important.  AI will start to become suspicious of an intruder if this happens frequently.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI that see a rope from a rope arrow will walk over to investigate, and will treat it as evidence of an intruder.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI can notice important doors (set by mapper) that have been left open, and will start to become suspicious.}}&lt;br /&gt;
&lt;br /&gt;
{{red| AI will turn towards doors that they see opening, and may get suspicious if they don&#039;t see anyone responsible.  (2.00) }} &lt;br /&gt;
&lt;br /&gt;
AI will look for 2s at a door opening in their FOV, unless they’re in combat mode.&lt;br /&gt;
&lt;br /&gt;
An AI will not look at an open door if they were the last one to handle it.&lt;br /&gt;
&lt;br /&gt;
===For an unsuspicious door:===&lt;br /&gt;
&lt;br /&gt;
The door starts to open, stims the AI, but the AI ignores it, because the door is &amp;lt; 20% open. One second later, when the next stim hits him, if the door is &amp;lt; 20% open, he&#039;ll continue to ignore it. Otherwise, he&#039;ll look at the door for 2 seconds.  Non-suspicious doors can be cracked open indefinitely w/o nearby AI noticing.&lt;br /&gt;
&lt;br /&gt;
===For a suspicious door:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allow player to crack open (&amp;lt; 20%) a suspicious door to peek out w/o grabbing the attention of a nearby AI. After 5s, the AI will notice the cracked open door.&lt;br /&gt;
&lt;br /&gt;
When the door is &amp;gt;20%, it stims the AI, and the AI immediately starts to look at it for 2 seconds. 1 to 1.5 seconds after the stim, while looking at the door, if no friendlies are apparent, the AI will bark and walk toward the door and begin his search.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gameplay]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17649</id>
		<title>The Dark Mod Gameplay</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17649"/>
		<updated>2014-03-02T10:32:59Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Doors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{red|Updates for versions after v1.00 are listed in red, so players can quickly see changes to gameplay since their last read.}}&lt;br /&gt;
&lt;br /&gt;
Since The Dark Mod is designed to simulate the stealth gameplay of Thief, many things will be very familiar to Thief players.  There are some features that work differently, however, and some things that are entirely new to TDM.  &lt;br /&gt;
&lt;br /&gt;
If you have never played Stealth Games before, start with the [[Basics of Stealth Gaming]].&lt;br /&gt;
&lt;br /&gt;
Veteran stealth gamers can read the various sections below for more detail:&lt;br /&gt;
&lt;br /&gt;
= The Game Menus =&lt;br /&gt;
&lt;br /&gt;
Your experience with The Dark Mod will start with the Main Menu, where you may wish to adjust some settings before starting your first mission.  If you already have saved games from a currently installed mission, you can load them from the Load/Save menu.  &lt;br /&gt;
&lt;br /&gt;
{{red|Note: While missions remain compatible with all updates, your saved games will not necessarily work after updating, due to code changes.}}&lt;br /&gt;
&lt;br /&gt;
== Starting a Mission ==&lt;br /&gt;
[[Image:new_mission.jpg|thumb|The New Mission menu.]]&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;New Mission&#039;&#039; from the Main Menu.&lt;br /&gt;
# Click &amp;quot;Download&amp;quot; to see a list of missions available to download.  You can even read details and see screenshots from the mission before downloading it. {{red|(1.04)}}&lt;br /&gt;
# Select a Mission from the Available Mission list on the right (start with the Training Mission if this is your first time) and click &#039;&#039;Install Mission&#039;&#039;.&lt;br /&gt;
# TDM will install the mission and restart.  Select &#039;&#039;New Mission&#039;&#039; again, and click &#039;&#039;Start Mission&#039;&#039; &lt;br /&gt;
# You will see a briefing that introduces the mission.  Click &#039;&#039;Objectives&#039;&#039; to proceed.&lt;br /&gt;
# Read your objectives, and choose your Difficulty Level.  Then select &#039;&#039;Buy Equipment&#039;&#039; (or &#039;&#039;Start Mission&#039;&#039; in some missions).&lt;br /&gt;
# After purchasing desired equipment, hit &#039;&#039;Start Mission&#039;&#039;.  (The option to &#039;&#039;Drop&#039;&#039; starting items is available, but use with caution...dropping some items may make a mission impossible to complete)&lt;br /&gt;
# The Mission Loading screen should appear. Be patient...loading a mission for the first time can take several minutes.&lt;br /&gt;
&lt;br /&gt;
To call the Main Menu during the game, press {{ESC}}) .&lt;br /&gt;
&lt;br /&gt;
See [[Installing and Running Fan Missions]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Changing Settings ==&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;Settings&#039;&#039; from the Main Menu&lt;br /&gt;
# Select the type of setting you wish to adjust: &#039;&#039;Audio&#039;&#039;, &#039;&#039;Video&#039;&#039;, &#039;&#039;Controls&#039;&#039;, or &#039;&#039;Gameplay&#039;&#039;&lt;br /&gt;
# The controls are set to defaults familiar to &#039;&#039;Thief&#039;&#039; players, however there are new keys/features that are worth reviewing.&lt;br /&gt;
#There are difficulty settings for many things, including lockpicking and {{red| combat. (1.01)}} &lt;br /&gt;
# New graphic settings have been added for better graphic quality and bloom. {{red|(1.03)}}&lt;br /&gt;
#{{red|A new &amp;quot;AI Vision&amp;quot; option has been added.  This controls how quickly AI realize you are an enemy when they spot you. (2.0)}}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
When you call the Main Menu during a mission (by hitting {{ESC}}), you will see an option for &amp;quot;Objectives&amp;quot;.  This is where you can check your progress.&lt;br /&gt;
&lt;br /&gt;
Your objectives are also displayed after the Mission Briefing when you first start a mission.&lt;br /&gt;
&lt;br /&gt;
You can also check your Objectives without going to the menus.  Hitting {{key|O}} will bring up your objectives on screen.  You can use the mouse wheel to scroll up and down.  Note that this method &#039;&#039;does not pause the game&#039;&#039;. {{red| (1.01)}}&lt;br /&gt;
&lt;br /&gt;
When you complete an objective, a chime will sound and “Objective Completed” will be displayed at the top of the screen.  &lt;br /&gt;
&lt;br /&gt;
When you have completed all objectives, the map will close and a “Mission Succeeded” screen will appear.  Likewise, if you fail an objective or are killed, a “Failed Mission” screen will appear.  You can restart the map by selecting the &amp;quot;Restart&amp;quot; option or via the Main Menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= HUD Display =&lt;br /&gt;
&lt;br /&gt;
[[Image:hud.jpg|thumb|The Game Screen indicators.]]&lt;br /&gt;
&lt;br /&gt;
1. WEAPON ICON: An icon of your currently selected weapon is displayed in the bottom left corner of the screen.&lt;br /&gt;
&lt;br /&gt;
2. BREATH INDICATOR: When you are underwater a small blue bar will appear above the lightgem.  This bar measures how much air you have left.  When the blue bar runs out, you start to take damage.  Surfacing or using a Breath Potion will restore your air bar. &lt;br /&gt;
&lt;br /&gt;
3. LIGHTGEM: The lightgem at the bottom of the screen indicates how easy you are to see.  This is primarily due to how much light is hitting you, but also includes things like whether you are crouched, moving, or have a weapon drawn. {{red|Being under water also reduces your lightgem. (1.03)}}&lt;br /&gt;
&lt;br /&gt;
The wings on either side of the gem are a crouch indicator.  When you are crouched, the wings &#039;crouch&#039; down as well. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
4. HEALTH INDICATOR: When you are injured, a small red healthbar appears below the lightgem.  It will remain visible until you are returned to full health.&lt;br /&gt;
&lt;br /&gt;
5. INVENTORY ICON: Your currently selected inventory object (or your loot total) is displayed as an icon in the bottom right.&lt;br /&gt;
&lt;br /&gt;
== Weapons ==&lt;br /&gt;
&lt;br /&gt;
Weapon hotkeys were changed at the last minute, so this list may need modifying:&lt;br /&gt;
* {{key|`}} Put away weapons&lt;br /&gt;
* {{key|1}} Blackjack&lt;br /&gt;
* {{key|2}} Short Sword&lt;br /&gt;
[[Image:arrows.jpg|thumb|A selection of arrows you can choose from.]]&lt;br /&gt;
* {{key|3}} Broadheads&lt;br /&gt;
* {{key|4}} [[Water Arrows]]&lt;br /&gt;
* {{key|5}} [[Fire Arrows]]&lt;br /&gt;
* {{key|6}} [[Rope Arrows]] &lt;br /&gt;
* {{key|7}} [[Gas Arrows]]  &lt;br /&gt;
* {{key|8}} [[Noise Arrows]]&lt;br /&gt;
* {{key|9}} [[Moss Arrows]]&lt;br /&gt;
* {{key|0}} [[Vine Arrows]] {{red| (1.07)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(note that there has been a report that linux users cannot use the {{key|`}} as it is mapped to the console.  Linux users will need to select a different key for &#039;Put away weapons&#039;.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Inventory Objects ==&lt;br /&gt;
Cycle through your inventory using the Inventory Prev/Next keys (default: {{key|[}} or {{key|TAB}} for next item and {{key|]}} for prev item). Inventory objects are stored in groups, so all keys will be stored together, all readables, etc.  You can cycle through groups with the Prev/Next Group keys.&lt;br /&gt;
&lt;br /&gt;
To ‘use’ an inventory object, select it and then hit the Use key (default: {{key|U}}). This will drink potions, throw mines, activate the spyglass, etc. To &amp;quot;use&amp;quot; objects on other objects (like using a key on a door), select the object in inventory, highlight the thing you want to use it on, and hit Use. &lt;br /&gt;
&lt;br /&gt;
You can drop inventory items by hitting the Drop key (default: {{key|R}}) twice.  See the section &amp;quot;Holding Junk Objects&amp;quot; for more information. Note that mappers may designate some important inventory items as undroppable.&lt;br /&gt;
&lt;br /&gt;
You can clear the inventory selection by hitting the {{key| ← &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;}} (backspace) key.&lt;br /&gt;
&lt;br /&gt;
To set hotkeys for your inventory items, please see [[Custom Settings for Players]].&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Flashbomb === &lt;br /&gt;
[[Image:equipment.jpg|thumb|The tools of a professional burglar.]]&lt;br /&gt;
Activate a flashbomb by selecting it in inventory and hitting Use. Flashbombs detonate on impact.  A short tap will cause it to fall and go off at your feet where it won&#039;t blind you. Holding down the Use key will throw the flashbomb farther away.  If you use the Drop key to put the flashbomb down, it is not activated at all.&lt;br /&gt;
&lt;br /&gt;
An AI must be looking at the flashbomb to be blinded.  Don&#039;t look at the point of impact or you&#039;ll be blinded too.&lt;br /&gt;
&lt;br /&gt;
AI are only blinded for a few seconds, and they are alerted by the flash, so this tool is most useful for getting away when you&#039;ve been spotted, or stunning an enemy before an attack.&lt;br /&gt;
&lt;br /&gt;
Flashbombs have no effect on the undead.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Holy Water ===&lt;br /&gt;
&lt;br /&gt;
Select your holy water in inventory and hit the Use key.  This puts holy water into your water arrows, making them lethal to undead.  The effect only lasts 30 seconds, so use it wisely.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Keys === &lt;br /&gt;
Some doors or chests require keys to open.  To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
You can also assign a key to &#039;&#039;Cycle Keys&#039;&#039; to quickly cycle through all keys in your inventory.  This is a very useful way to get to your keys quickly when you have a lot of other items in your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Lockpicks === &lt;br /&gt;
See [[#Lockpicking|Lockpicking]] for more information on lockpicks.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Maps and Readables === &lt;br /&gt;
&lt;br /&gt;
In The Dark Mod, both maps and most readables (books, scrolls, etc) are inventory items.  To read them, you scroll to the object in your inventory and then hit the Use key.  The map or readable will be displayed on screen.  Note that &#039;&#039;&#039;this does not pause the game&#039;&#039;&#039;.  Unlike Thief, events continue to unfold around you, and you can be attacked while reading if not careful.  You can see your environment around the edges of the map/readable, but the best suggestion is to find a safe place to read.  With multi-page readables (distinguishable by folded corners on the page), use the next/prev inventory or next/prev weapon keys to scroll through pages.  Hitting Use or Attack will put the readable away.&lt;br /&gt;
&lt;br /&gt;
The Map key (default: {{key|M}}) will also automatically bring up your map, if you have one. You can also define a readables key (default: not mapped) to cycle through any readables you have.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Mines === &lt;br /&gt;
&lt;br /&gt;
Place a mine by selecting it in inventory and hitting Use.  A short tap will drop the mine at your feet.  Holding down Use will throw the mine farther away.  After a few seconds, the mine is armed and {{red| starts making a distinct ticking sound (1.07) }}.  Once you hear the ticking, it will go off if stepped on. &lt;br /&gt;
&lt;br /&gt;
{{red| Map authors can place a mine and arm it at mission start. It behaves the same as any mine you&#039;ve thrown: it will explode on contact, and it can be disarmed. So don&#039;t assume that any mine you come across is safe to pick up. Listen for the tell-tale armed ticking sound. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
If you use the Drop key to put the mine down, it is not armed.&lt;br /&gt;
&lt;br /&gt;
Note that you can set armed mines off by shooting them with an arrow.&lt;br /&gt;
&lt;br /&gt;
You can disarm an armed mine by using a lockpick on it, the same as you would on a locked door. {{red| (1.07) }} Armed mines give off a distinct ticking sound, which stops when the mine is disarmed. After disarming a mine, you can frob it to put it back into your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Player Lantern === &lt;br /&gt;
&lt;br /&gt;
Light is usually the bane of thieves everywhere, but there are times when you need just a little to make your way around.  To this end, some thieves carry a covered lantern with a hood that can be closed to block out the light.  To use the lantern, select it in inventory and hit Use.  This will lift the cover if the lantern is currently off, or close the cover if it is currently lit. There is also a hotkey for using the lantern; by default this is {{key|L}}. This lantern is clipped to your belt so your hands are free, and it can even be used underwater for short periods.&lt;br /&gt;
&lt;br /&gt;
Obviously using the lantern makes you clearly visible to any nearby opponents.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Potions ===&lt;br /&gt;
&lt;br /&gt;
Potions are used by selecting them in inventory and hitting Use.  Healing potions will restore hit points (the effect is somewhat gradual).  Breath potions increase the player&#039;s breath meter, allowing them to stay underwater longer.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Spyglass === &lt;br /&gt;
&lt;br /&gt;
A good Thief likes to scout ahead.  To use the spyglass, select it in inventory and hit Use. Or use {{key|G}} as a shortcut.  You can use the next/prev weapon keys to zoom in and out.  You cannot use weapons or frob objects while using the spyglass.&lt;br /&gt;
&lt;br /&gt;
= Movement =&lt;br /&gt;
&lt;br /&gt;
Movement in The Dark Mod is not that different than Thief.  You can run, walk, or creep, as well as do any of the three while crouching.  The faster you move, the more noise you make.&lt;br /&gt;
&lt;br /&gt;
== Climbing ==&lt;br /&gt;
&lt;br /&gt;
In addition to ladders and ropes, many missions allow you to climb vines, pipes and chains.&lt;br /&gt;
&lt;br /&gt;
Move or jump onto a ladder or vines to &amp;quot;attach&amp;quot; to them.  Moving &amp;quot;forward&amp;quot; will move in the direction of your view, be it up, down or to the side.  &amp;quot;Back&amp;quot; will reverse, and you may strafe to the side.  Move away or jump off to detach.&lt;br /&gt;
&lt;br /&gt;
Holding crouch will let you slide down a rope or ladder. Release to stop sliding, or hold it down to slide all the way to the bottom.&lt;br /&gt;
&lt;br /&gt;
=== Swinging on Ropes ===&lt;br /&gt;
&lt;br /&gt;
Tapping the &amp;quot;attack&amp;quot; key while on a rope or chain will cause the rope to swing forward.  You can actually gain more momentum by continuing to tap it every time you start swinging forward (think of it like swinging your legs forward on a swing).  This can allow you to jump off the rope and grab ledges that are otherwise too far away.&lt;br /&gt;
&lt;br /&gt;
Note that the further down the rope you are, the more distance you can travel when swinging (just like a real rope).&lt;br /&gt;
&lt;br /&gt;
== Mantling ==&lt;br /&gt;
There are two different ways to mantle (pull yourself up onto ledges) in The Dark Mod.  One is by holding down the Jump key, which Thief players will be familiar with.  There is also a key specifically for mantling (default: {{key|&lt;br /&gt;
C}}), so that failing to mantle will not result in jumping and making noise.  Ideally there should be no difference in these methods, but occasionally one method will work when the other will not.&lt;br /&gt;
Mantling is affected by where you are looking, so a successful mantle is more likely if you are looking directly at the edge of the object you wish to climb. To climb on a chair, look down at the seat then press the mantle control. By this means you can clamber over relatively low but awkward obstructions and even select one ledge above/below another.&lt;br /&gt;
&lt;br /&gt;
You cannot mantle while carrying a junk object or body.&lt;br /&gt;
&lt;br /&gt;
= Interacting With Your Environment =&lt;br /&gt;
&lt;br /&gt;
The Dark Mod gives you far more flexibility than previous Thief games when it comes to interacting with things.&lt;br /&gt;
&lt;br /&gt;
== Manipulating Held Objects ==&lt;br /&gt;
This is one area that works quite differently from the Thief series.  &amp;quot;Held Objects&amp;quot;(anything that you can carry that doesn’t go into inventory, like chairs, candles, or bodies) are held out in front of you when frobbed.  Unlike in Thief, they take up physical space, and can be used to push or manipulate other objects.  They can also bump into other objects, making noise (or being knocked out of your hands), so be careful.&lt;br /&gt;
&lt;br /&gt;
To grab a held object, frob it as normal.  The object will stop highlighting, and any weapons you have selected will lower.  At this point, you can use the next/prev weapon keys (default: mousewheel up/down) to move the object closer/further away from you, and moving your mouse around will move the object (it stays basically in the center of your screen). &lt;br /&gt;
&lt;br /&gt;
The heavier the object, the slower it moves, so you may notice a ‘lag’ if you turn quickly with heavy objects. It can take a while to get used to this.&lt;br /&gt;
&lt;br /&gt;
To drop an object, hit the Drop key (default: {{key|R}}).  By crouching and angling your view down gently, you&#039;ll find that you can easily set down objects without making noise. You can also throw a held object by hitting the Attack key. Tapping the Attack key throws the object a short distance; holding the Attack key down and releasing it will throw it further.&lt;br /&gt;
&lt;br /&gt;
To rotate a held object, hold down the {{key|Z}} key or middle mouse button, and move your mouse. &lt;br /&gt;
(By default, horizontal movement of the mouse yaws the object around the vertical axis, and vertical movement pitches the object up and down. Holding down the Run key makes horizontal mouse movement roll the object around the forward axis.) This can be useful for replacing objects that have been knocked over, or for placing moveable objects in creative ways (like putting a plank over a gap, or stacking chairs).&lt;br /&gt;
It is possible to “drop” inventory items into your hands, where they can be manipulated as if they were held objects.  Select the object in your inventory, and hit the Drop key {{key|R}}.  The object will appear in front of you like a held object, and you can rotate it, set it down, etc.  To put it back into your inventory, you must &amp;quot;use&amp;quot; the item again ({{key|U}}) or scroll to the next inventory item ({{key|TAB}} or {{key|[}}/{{key|]}}).&lt;br /&gt;
[[Image:candles6.jpg|thumb|[http://www.youtube.com/watch?v=922ArtrKgC4 Click to see TDM candles in action.] ]]&lt;br /&gt;
AI will hear junk objects that are dropped or banged around.  It takes some skill to pick up objects on a crowded table without knocking them into each other.  Remember than an object moves to the center of the screen when you pick it up.  If you are looking slightly above the object, it will jump up to center screen (usually a good thing).  If you&#039;re looking slightly below the object, it will jump down, banging whatever surface it rests on (a bad thing).  A little practice may be required to smoothly and quietly sort through objects.&lt;br /&gt;
&lt;br /&gt;
Some objects that are too heavy to lift may still be movable (like large crates).  Walking or running into such objects may (mapper&#039;s choice) push them along the ground.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Candles ===&lt;br /&gt;
&lt;br /&gt;
Lit candles can be frobbed and carried around to light your way (obviously you will be easily spotted while carrying a lit candle).  They can also be used to light flammable objects like other candles or torches.  Click the caption on the right for a demonstration.&lt;br /&gt;
&lt;br /&gt;
Candles can be extinguished by water, or you can pinch them out by picking them up and clicking the Use key.  (Note that this method can also be used on some movable lanterns). {{red|Candles will usually go out after a few seconds if they get knocked over. (1.06) }}&lt;br /&gt;
&lt;br /&gt;
Be aware that multiple light sources can cause a significant drain on your framerate.  If you go around a room lighting six or seven new candles, don&#039;t be surprised if your framerate drops significantly.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Bodies ===&lt;br /&gt;
&lt;br /&gt;
Bodies work differently than most other objects.  There are two ways to deal with dead or unconscious bodies in The Dark Mod.  You can both drag them and carry them.&lt;br /&gt;
&lt;br /&gt;
To drag a body, you must ‘frob’ it (which probably requires crouching), and then move your mouse around.  The body will drag along with you until you frob it again or the body gets stuck on something.  &lt;br /&gt;
&lt;br /&gt;
This is not the most graceful way of moving bodies and is not recommended for long distances.  Bodies can catch on things and get pulled out of your hands.  It can be useful for quickly shifting a body into a shadow, however.  You can even move individual limbs to put a flailing arm back into a shadow.&lt;br /&gt;
&lt;br /&gt;
You can also carry a body over your shoulder.  While a body is being dragged, hitting the Use button will lift it up over your shoulder.  While carrying a body you move more slowly and cannot use weapons or inventory objects (though you can open doors).  When you are ready to drop the body, hit Use again.  If there is not enough room, you will hear a grunt and nothing will happen.  Back up a bit and try again.  When you drop a body, it will be the opposite orientation from the way you picked it up (if a body is face-up when you lift it, it will be face-down when you drop it).  This allows you to easily search a body for keys or other objects.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Food ===&lt;br /&gt;
&lt;br /&gt;
Some food can be eaten.  When holding a piece of food (such as an apple) hit the &amp;quot;use&amp;quot; key.  If the food is edible, you will &#039;eat&#039; it. Discard any left-overs. Some of the healthy food will heal you by 1 HP.&lt;br /&gt;
&lt;br /&gt;
== Doors == &lt;br /&gt;
You can interrupt a door opening or closing by frobbing it again.  Frobbing a moving door stops it, allowing you to open a door just a crack to peer beyond.&lt;br /&gt;
&lt;br /&gt;
You can lean into a door (use the lean left/right keys) to press your ear up against it and hear what&#039;s on the other side.  Note that while you&#039;re concentrating on what&#039;s beyond the door you&#039;ll be less able to hear the sounds in the room you&#039;re currently in.&lt;br /&gt;
&lt;br /&gt;
Some doors or chests are locked and require keys (or lockpicks, see below) to open. To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
Depending on how important a specific door is, the mapper can choose to set flags on it. Check out the [[AI_Behaviour]] section, for details on how the AI responds in such cases.&lt;br /&gt;
&lt;br /&gt;
== Lockpicking ==&lt;br /&gt;
You will definitely want to practice lockpicking in the Training Mission before trying a real map. Just reading the instructions is probably not enough to get the hang of it. &lt;br /&gt;
&lt;br /&gt;
There are two types of lockpicks, &#039;triangle&#039; and &#039;snake&#039;. To begin, you must have the correct lockpick selected in inventory.  If you do not, you will see a red flash behind the lockpick icon when you frob the locked door. To pick a lock, move close enough to highlight the door and hold the Use key.  You will start to hear a sequence of clicks, and see the door handle (or lock pin) jiggle in sync.&lt;br /&gt;
&lt;br /&gt;
The clicks are a random pattern.  At the end of the pattern is a brief period of silence, then the pattern will begin again. To be successful you must hit the Attack key (or release the Use key if you prefer) at the start of that silence.  If you hit the Attack key at the wrong time there is a dull &#039;fail&#039; sound and the pattern begins again.  Your goal is to learn the sequence of clicks so that you can anticipate when it will end.  This requires concentration.&lt;br /&gt;
&lt;br /&gt;
Some locks are more difficult than others and have multiple pins (which may require switching lockpicks).  You can make lockpicking harder or easier in the Settings Menu, by adjusting how much silence there is between each pattern (the more silence, the easier it is to react in time).  Setting Lockpicking to &amp;quot;Auto&amp;quot; will make locks open automatically after the pattern repeats 3 times.&lt;br /&gt;
&lt;br /&gt;
{{red| Armed mines can be disarmed by lockpicking them. Afterward, they can be frobbed and put into inventory. Either lockpick type can be used. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
== Chests ==&lt;br /&gt;
It can sometimes be a little awkward frobbing items inside deep chests. Leaning forward (or even sideways) will usually help.&lt;br /&gt;
&lt;br /&gt;
If you get too close to a chest, you can sometimes get in the way of the lid opening or closing. Back up a little if the lid is not moving as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Combat =&lt;br /&gt;
&lt;br /&gt;
There are a number of ways that combat is different in The Dark Mod.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that you are not a warrior.  Guards are generally better trained than you are, and while you might win a few one-on-one battles, you will almost certainly die if facing two guards at once.&lt;br /&gt;
&lt;br /&gt;
== Blackjacking ==&lt;br /&gt;
&lt;br /&gt;
Your blackjack is more effective if your opponent is relaxed and not expecting trouble.&lt;br /&gt;
&lt;br /&gt;
You must hit an AI on the head to knock them out.  Hitting an AI anywhere else will simply alert them.  For best results, don&#039;t get too close to the AI, or you may hit them with your elbow instead of your blackjack.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can successfully knock out:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Unarmed civilian AI from any direction, any time.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Bare-headed guards from any direction when relaxed, or from behind when their weapon is out.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Helmeted guards from behind when relaxed (helmeted guards cannot be knocked out when their weapon is out).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All armed AI are harder to knock out when the AI has drawn a weapon, because they are assumed to be ready for you.  Either they have searched for you or been warned by a friend that something is wrong.&lt;br /&gt;
&lt;br /&gt;
The blackjack does a small amount of damage, so you could theoretically beat someone to death with it, if you have a lot of time on your hands.&lt;br /&gt;
&lt;br /&gt;
Undead and some animals cannot be knocked out with the blackjack.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Certain heavy-duty helmets make their wearer immune to the blackjack.  These can be identified by a face grill and a low back, which protects the base of the neck.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the blackjack makes an overhead swing, so if there is something low in the way (like a doorframe) you might hit it instead of your target, especially if you are looking upwards.&lt;br /&gt;
&lt;br /&gt;
== Melee Combat ==&lt;br /&gt;
[[image:combat1.jpg|thumb|A guard winds up for an overhead attack]]&lt;br /&gt;
There is a combat arena in the Training Map for practicing combat.  After a few rounds you will have a much better feel for how it works.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Different AI have different skill levels (novice, trained, skilled) when it comes to combat.  An armed commoner will not fight as well as an elite guard. You can also change the overall combat difficulty in the Settings menu.}}&lt;br /&gt;
&lt;br /&gt;
You can use your shortsword to attack an enemy, as well as block enemy weapons. Attacking a relaxed enemy (ie, backstabbing) does extra damage. &lt;br /&gt;
To attack, hit the Attack key. This will make a left-to-right, slashing attack. If you move the mouse while clicking the Attack key, you can select other kinds of attacks. Moving the mouse down will cause an overhead swing. Moving the mouse up will cause a thrust attack. Moving the mouse left or right will cause a right-to-left or left-to-right slash, respectively. &lt;br /&gt;
&lt;br /&gt;
AI can parry your swings (unless they are using a dagger), and they will do this more easily if you keep using the same kind of attack, so you will want to mix it up. &lt;br /&gt;
&lt;br /&gt;
The amount of damage you do varies depending on where you hit. Hitting an AI in the head will do more damage than hitting their arm or leg. Armour also plays a factor. Your sword can&#039;t penetrate plate armour, and even chainmail or leather armour will provide the AI some protection.&lt;br /&gt;
&lt;br /&gt;
To block an enemy strike, hold the Parry key.  You must hit the parry key &#039;&#039;after&#039;&#039; the AI starts winding up for their attack.  Too early and the AI will see the block and choose a different attack.  Obviously, you must also be facing the AI...holding up a block while looking off to the side won&#039;t help.&lt;br /&gt;
&lt;br /&gt;
If you are using Manual Parry (select in the Settings menu), you need to select the appropriate block.  If your opponent is making an overhead attack, you must select an overhead block.  Select blocks by moving the mouse while holding the Parry button down, just as you would for an attack.  &lt;br /&gt;
&lt;br /&gt;
If you successfully block an attack or damage your opponent the AI will be temporarily &amp;quot;flat-footed&amp;quot;. They can still attack and defend, but they will not chase you if you turn to run. The effect lasts only a second or two, but that can sometimes be enough time to give you a head start.&lt;br /&gt;
&lt;br /&gt;
The trick to a successful combat is timing. You need to try to anticipate your opponent&#039;s attacks, and then launch counter-attacks before he has a chance to parry.&lt;br /&gt;
&lt;br /&gt;
AI will usually try to flee if they are badly wounded.&lt;br /&gt;
&lt;br /&gt;
{{update|1.07|Different weapons do different amounts of damage when they hit you.  A longsword is one of the most damaging weapons, while short swords do less damage and daggers even less.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; It is possible to hit walls or ceilings instead of your target.  Keep track of how much space is around you when choosing your swing.&lt;br /&gt;
&lt;br /&gt;
== Missile Combat ==&lt;br /&gt;
&lt;br /&gt;
Your broadhead arrows cannot penetrate plate armour, and will do less damage if they hit chain or leather armour.  The best result is to hit unarmoured flesh.  A single arrow to the head will kill a relaxed guard.  Alert guards are assumed to be taking measures to minimize the damage from incoming arrows.  &lt;br /&gt;
&lt;br /&gt;
If you are hit while trying to fire an arrow, your attack will be canceled.&lt;br /&gt;
&lt;br /&gt;
AI will switch to missile combat if they can see you but cannot reach you.  If they don&#039;t have a missile weapon, they will become angry and start throwing things at you.&lt;br /&gt;
 &lt;br /&gt;
AI archers will fire arrows at you.  Some AI are better shots than others.  When you get within melee range of an archer, they will pull out their melee weapon to fight with it instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= AI =&lt;br /&gt;
&lt;br /&gt;
== AI Senses ==&lt;br /&gt;
&lt;br /&gt;
AI can see you if your lightgem is not totally black.  The longer you&#039;re in their field of vision and the closer you are, the more likely they are to notice you and come and investigate.  &lt;br /&gt;
&lt;br /&gt;
Some AI have hoods, eyepatches, or other things that block their field of vision.  These can be exploited by clever thieves. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
AI can hear your footsteps, and noise that you make from banging into things or dropping objects.  {{update|2.0|They can also hear the sound of falling bodies, so be careful where you knock out opponents.}}&lt;br /&gt;
&lt;br /&gt;
AI can also feel you if you bump into them, or vice versa.&lt;br /&gt;
&lt;br /&gt;
TDM AI are fairly intelligent about searching.  They can identify good hiding spots and will check them out first.&lt;br /&gt;
&lt;br /&gt;
When AI become alert, their senses get slightly better.  A shadow that is sufficient to hide you from a relaxed AI might not be enough for an AI that is alert and actively looking for trouble.&lt;br /&gt;
&lt;br /&gt;
AI do not forget about you after giving up the search.  They remain in an alert state, with heightened senses and their weapons out.&lt;br /&gt;
&lt;br /&gt;
== AI Behaviour ==&lt;br /&gt;
&lt;br /&gt;
AI don&#039;t necessarily patrol the exact same route every time, or stand for the same amount of time at every spot they go to.  Mappers can add as much randomness to the AI as they wish.&lt;br /&gt;
&lt;br /&gt;
AI need to see evidence in order to react to it.  If a bloodstain or missing loot is in shadow, an AI won&#039;t notice it.&lt;br /&gt;
&lt;br /&gt;
AI can react to missing objects, but only if mappers set the objects as noteworthy.&lt;br /&gt;
&lt;br /&gt;
AI become suspicious if they find a weapon lying around.  Finding blood or a body will cause them to go fully alert.&lt;br /&gt;
&lt;br /&gt;
AI can hear broadhead arrow impacts.  If you shoot an arrow and it hits a wall nearby, the AI will notice.  AI will also react to water arrows if you fire them too close (or if you hit an AI with one).  {{update|1.07|AI will notice and be suspicious of arrows that are left sticking into things.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AI do not yet notice moss arrow impacts, broken objects or moss patches.  These things will likely cause minor alerts in the future.&lt;br /&gt;
&lt;br /&gt;
{{update|1.06| AI can notice and comment on lights that have been put out, and may relight ones that the mapper has set as important.  AI will start to become suspicious of an intruder if this happens frequently.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI that see a rope from a rope arrow will walk over to investigate, and will treat it as evidence of an intruder.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI can notice important doors (set by mapper) that have been left open, and will start to become suspicious.}}&lt;br /&gt;
&lt;br /&gt;
{{red| AI will turn towards doors that they see opening, and may get suspicious if they don&#039;t see anyone responsible.  (2.00) }} &lt;br /&gt;
&lt;br /&gt;
AI will look for 2s at a door opening in their FOV, unless they’re in combat mode.&lt;br /&gt;
&lt;br /&gt;
An AI will not look at an open door if they were the last one to handle it.&lt;br /&gt;
&lt;br /&gt;
===For an unsuspicious door:===&lt;br /&gt;
&lt;br /&gt;
The door starts to open, stims the AI, but the AI ignores it, because the door is &amp;lt; 20% open. One second later, when the next stim hits him, if the door is &amp;lt; 20% open, he&#039;ll continue to ignore it. Otherwise, he&#039;ll look at the door for 2 seconds.  Non-suspicious doors can be cracked open indefinitely w/o nearby AI noticing.&lt;br /&gt;
&lt;br /&gt;
===For a suspicious door:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allow player to crack open (&amp;lt; 20%) a suspicious door to peek out w/o grabbing the attention of a nearby AI. After 5s, the AI will notice the cracked open door.&lt;br /&gt;
&lt;br /&gt;
When the door is &amp;gt;20%, it stims the AI, and the AI immediately starts to look at it for 2 seconds. 1 to 1.5 seconds after the stim, while looking at the door, if no friendlies are apparent, the AI will bark and walk toward the door and begin his search.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gameplay]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17648</id>
		<title>The Dark Mod Gameplay</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17648"/>
		<updated>2014-03-02T10:31:44Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Doors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{red|Updates for versions after v1.00 are listed in red, so players can quickly see changes to gameplay since their last read.}}&lt;br /&gt;
&lt;br /&gt;
Since The Dark Mod is designed to simulate the stealth gameplay of Thief, many things will be very familiar to Thief players.  There are some features that work differently, however, and some things that are entirely new to TDM.  &lt;br /&gt;
&lt;br /&gt;
If you have never played Stealth Games before, start with the [[Basics of Stealth Gaming]].&lt;br /&gt;
&lt;br /&gt;
Veteran stealth gamers can read the various sections below for more detail:&lt;br /&gt;
&lt;br /&gt;
= The Game Menus =&lt;br /&gt;
&lt;br /&gt;
Your experience with The Dark Mod will start with the Main Menu, where you may wish to adjust some settings before starting your first mission.  If you already have saved games from a currently installed mission, you can load them from the Load/Save menu.  &lt;br /&gt;
&lt;br /&gt;
{{red|Note: While missions remain compatible with all updates, your saved games will not necessarily work after updating, due to code changes.}}&lt;br /&gt;
&lt;br /&gt;
== Starting a Mission ==&lt;br /&gt;
[[Image:new_mission.jpg|thumb|The New Mission menu.]]&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;New Mission&#039;&#039; from the Main Menu.&lt;br /&gt;
# Click &amp;quot;Download&amp;quot; to see a list of missions available to download.  You can even read details and see screenshots from the mission before downloading it. {{red|(1.04)}}&lt;br /&gt;
# Select a Mission from the Available Mission list on the right (start with the Training Mission if this is your first time) and click &#039;&#039;Install Mission&#039;&#039;.&lt;br /&gt;
# TDM will install the mission and restart.  Select &#039;&#039;New Mission&#039;&#039; again, and click &#039;&#039;Start Mission&#039;&#039; &lt;br /&gt;
# You will see a briefing that introduces the mission.  Click &#039;&#039;Objectives&#039;&#039; to proceed.&lt;br /&gt;
# Read your objectives, and choose your Difficulty Level.  Then select &#039;&#039;Buy Equipment&#039;&#039; (or &#039;&#039;Start Mission&#039;&#039; in some missions).&lt;br /&gt;
# After purchasing desired equipment, hit &#039;&#039;Start Mission&#039;&#039;.  (The option to &#039;&#039;Drop&#039;&#039; starting items is available, but use with caution...dropping some items may make a mission impossible to complete)&lt;br /&gt;
# The Mission Loading screen should appear. Be patient...loading a mission for the first time can take several minutes.&lt;br /&gt;
&lt;br /&gt;
To call the Main Menu during the game, press {{ESC}}) .&lt;br /&gt;
&lt;br /&gt;
See [[Installing and Running Fan Missions]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Changing Settings ==&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;Settings&#039;&#039; from the Main Menu&lt;br /&gt;
# Select the type of setting you wish to adjust: &#039;&#039;Audio&#039;&#039;, &#039;&#039;Video&#039;&#039;, &#039;&#039;Controls&#039;&#039;, or &#039;&#039;Gameplay&#039;&#039;&lt;br /&gt;
# The controls are set to defaults familiar to &#039;&#039;Thief&#039;&#039; players, however there are new keys/features that are worth reviewing.&lt;br /&gt;
#There are difficulty settings for many things, including lockpicking and {{red| combat. (1.01)}} &lt;br /&gt;
# New graphic settings have been added for better graphic quality and bloom. {{red|(1.03)}}&lt;br /&gt;
#{{red|A new &amp;quot;AI Vision&amp;quot; option has been added.  This controls how quickly AI realize you are an enemy when they spot you. (2.0)}}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
When you call the Main Menu during a mission (by hitting {{ESC}}), you will see an option for &amp;quot;Objectives&amp;quot;.  This is where you can check your progress.&lt;br /&gt;
&lt;br /&gt;
Your objectives are also displayed after the Mission Briefing when you first start a mission.&lt;br /&gt;
&lt;br /&gt;
You can also check your Objectives without going to the menus.  Hitting {{key|O}} will bring up your objectives on screen.  You can use the mouse wheel to scroll up and down.  Note that this method &#039;&#039;does not pause the game&#039;&#039;. {{red| (1.01)}}&lt;br /&gt;
&lt;br /&gt;
When you complete an objective, a chime will sound and “Objective Completed” will be displayed at the top of the screen.  &lt;br /&gt;
&lt;br /&gt;
When you have completed all objectives, the map will close and a “Mission Succeeded” screen will appear.  Likewise, if you fail an objective or are killed, a “Failed Mission” screen will appear.  You can restart the map by selecting the &amp;quot;Restart&amp;quot; option or via the Main Menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= HUD Display =&lt;br /&gt;
&lt;br /&gt;
[[Image:hud.jpg|thumb|The Game Screen indicators.]]&lt;br /&gt;
&lt;br /&gt;
1. WEAPON ICON: An icon of your currently selected weapon is displayed in the bottom left corner of the screen.&lt;br /&gt;
&lt;br /&gt;
2. BREATH INDICATOR: When you are underwater a small blue bar will appear above the lightgem.  This bar measures how much air you have left.  When the blue bar runs out, you start to take damage.  Surfacing or using a Breath Potion will restore your air bar. &lt;br /&gt;
&lt;br /&gt;
3. LIGHTGEM: The lightgem at the bottom of the screen indicates how easy you are to see.  This is primarily due to how much light is hitting you, but also includes things like whether you are crouched, moving, or have a weapon drawn. {{red|Being under water also reduces your lightgem. (1.03)}}&lt;br /&gt;
&lt;br /&gt;
The wings on either side of the gem are a crouch indicator.  When you are crouched, the wings &#039;crouch&#039; down as well. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
4. HEALTH INDICATOR: When you are injured, a small red healthbar appears below the lightgem.  It will remain visible until you are returned to full health.&lt;br /&gt;
&lt;br /&gt;
5. INVENTORY ICON: Your currently selected inventory object (or your loot total) is displayed as an icon in the bottom right.&lt;br /&gt;
&lt;br /&gt;
== Weapons ==&lt;br /&gt;
&lt;br /&gt;
Weapon hotkeys were changed at the last minute, so this list may need modifying:&lt;br /&gt;
* {{key|`}} Put away weapons&lt;br /&gt;
* {{key|1}} Blackjack&lt;br /&gt;
* {{key|2}} Short Sword&lt;br /&gt;
[[Image:arrows.jpg|thumb|A selection of arrows you can choose from.]]&lt;br /&gt;
* {{key|3}} Broadheads&lt;br /&gt;
* {{key|4}} [[Water Arrows]]&lt;br /&gt;
* {{key|5}} [[Fire Arrows]]&lt;br /&gt;
* {{key|6}} [[Rope Arrows]] &lt;br /&gt;
* {{key|7}} [[Gas Arrows]]  &lt;br /&gt;
* {{key|8}} [[Noise Arrows]]&lt;br /&gt;
* {{key|9}} [[Moss Arrows]]&lt;br /&gt;
* {{key|0}} [[Vine Arrows]] {{red| (1.07)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(note that there has been a report that linux users cannot use the {{key|`}} as it is mapped to the console.  Linux users will need to select a different key for &#039;Put away weapons&#039;.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Inventory Objects ==&lt;br /&gt;
Cycle through your inventory using the Inventory Prev/Next keys (default: {{key|[}} or {{key|TAB}} for next item and {{key|]}} for prev item). Inventory objects are stored in groups, so all keys will be stored together, all readables, etc.  You can cycle through groups with the Prev/Next Group keys.&lt;br /&gt;
&lt;br /&gt;
To ‘use’ an inventory object, select it and then hit the Use key (default: {{key|U}}). This will drink potions, throw mines, activate the spyglass, etc. To &amp;quot;use&amp;quot; objects on other objects (like using a key on a door), select the object in inventory, highlight the thing you want to use it on, and hit Use. &lt;br /&gt;
&lt;br /&gt;
You can drop inventory items by hitting the Drop key (default: {{key|R}}) twice.  See the section &amp;quot;Holding Junk Objects&amp;quot; for more information. Note that mappers may designate some important inventory items as undroppable.&lt;br /&gt;
&lt;br /&gt;
You can clear the inventory selection by hitting the {{key| ← &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;}} (backspace) key.&lt;br /&gt;
&lt;br /&gt;
To set hotkeys for your inventory items, please see [[Custom Settings for Players]].&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Flashbomb === &lt;br /&gt;
[[Image:equipment.jpg|thumb|The tools of a professional burglar.]]&lt;br /&gt;
Activate a flashbomb by selecting it in inventory and hitting Use. Flashbombs detonate on impact.  A short tap will cause it to fall and go off at your feet where it won&#039;t blind you. Holding down the Use key will throw the flashbomb farther away.  If you use the Drop key to put the flashbomb down, it is not activated at all.&lt;br /&gt;
&lt;br /&gt;
An AI must be looking at the flashbomb to be blinded.  Don&#039;t look at the point of impact or you&#039;ll be blinded too.&lt;br /&gt;
&lt;br /&gt;
AI are only blinded for a few seconds, and they are alerted by the flash, so this tool is most useful for getting away when you&#039;ve been spotted, or stunning an enemy before an attack.&lt;br /&gt;
&lt;br /&gt;
Flashbombs have no effect on the undead.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Holy Water ===&lt;br /&gt;
&lt;br /&gt;
Select your holy water in inventory and hit the Use key.  This puts holy water into your water arrows, making them lethal to undead.  The effect only lasts 30 seconds, so use it wisely.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Keys === &lt;br /&gt;
Some doors or chests require keys to open.  To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
You can also assign a key to &#039;&#039;Cycle Keys&#039;&#039; to quickly cycle through all keys in your inventory.  This is a very useful way to get to your keys quickly when you have a lot of other items in your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Lockpicks === &lt;br /&gt;
See [[#Lockpicking|Lockpicking]] for more information on lockpicks.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Maps and Readables === &lt;br /&gt;
&lt;br /&gt;
In The Dark Mod, both maps and most readables (books, scrolls, etc) are inventory items.  To read them, you scroll to the object in your inventory and then hit the Use key.  The map or readable will be displayed on screen.  Note that &#039;&#039;&#039;this does not pause the game&#039;&#039;&#039;.  Unlike Thief, events continue to unfold around you, and you can be attacked while reading if not careful.  You can see your environment around the edges of the map/readable, but the best suggestion is to find a safe place to read.  With multi-page readables (distinguishable by folded corners on the page), use the next/prev inventory or next/prev weapon keys to scroll through pages.  Hitting Use or Attack will put the readable away.&lt;br /&gt;
&lt;br /&gt;
The Map key (default: {{key|M}}) will also automatically bring up your map, if you have one. You can also define a readables key (default: not mapped) to cycle through any readables you have.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Mines === &lt;br /&gt;
&lt;br /&gt;
Place a mine by selecting it in inventory and hitting Use.  A short tap will drop the mine at your feet.  Holding down Use will throw the mine farther away.  After a few seconds, the mine is armed and {{red| starts making a distinct ticking sound (1.07) }}.  Once you hear the ticking, it will go off if stepped on. &lt;br /&gt;
&lt;br /&gt;
{{red| Map authors can place a mine and arm it at mission start. It behaves the same as any mine you&#039;ve thrown: it will explode on contact, and it can be disarmed. So don&#039;t assume that any mine you come across is safe to pick up. Listen for the tell-tale armed ticking sound. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
If you use the Drop key to put the mine down, it is not armed.&lt;br /&gt;
&lt;br /&gt;
Note that you can set armed mines off by shooting them with an arrow.&lt;br /&gt;
&lt;br /&gt;
You can disarm an armed mine by using a lockpick on it, the same as you would on a locked door. {{red| (1.07) }} Armed mines give off a distinct ticking sound, which stops when the mine is disarmed. After disarming a mine, you can frob it to put it back into your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Player Lantern === &lt;br /&gt;
&lt;br /&gt;
Light is usually the bane of thieves everywhere, but there are times when you need just a little to make your way around.  To this end, some thieves carry a covered lantern with a hood that can be closed to block out the light.  To use the lantern, select it in inventory and hit Use.  This will lift the cover if the lantern is currently off, or close the cover if it is currently lit. There is also a hotkey for using the lantern; by default this is {{key|L}}. This lantern is clipped to your belt so your hands are free, and it can even be used underwater for short periods.&lt;br /&gt;
&lt;br /&gt;
Obviously using the lantern makes you clearly visible to any nearby opponents.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Potions ===&lt;br /&gt;
&lt;br /&gt;
Potions are used by selecting them in inventory and hitting Use.  Healing potions will restore hit points (the effect is somewhat gradual).  Breath potions increase the player&#039;s breath meter, allowing them to stay underwater longer.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Spyglass === &lt;br /&gt;
&lt;br /&gt;
A good Thief likes to scout ahead.  To use the spyglass, select it in inventory and hit Use. Or use {{key|G}} as a shortcut.  You can use the next/prev weapon keys to zoom in and out.  You cannot use weapons or frob objects while using the spyglass.&lt;br /&gt;
&lt;br /&gt;
= Movement =&lt;br /&gt;
&lt;br /&gt;
Movement in The Dark Mod is not that different than Thief.  You can run, walk, or creep, as well as do any of the three while crouching.  The faster you move, the more noise you make.&lt;br /&gt;
&lt;br /&gt;
== Climbing ==&lt;br /&gt;
&lt;br /&gt;
In addition to ladders and ropes, many missions allow you to climb vines, pipes and chains.&lt;br /&gt;
&lt;br /&gt;
Move or jump onto a ladder or vines to &amp;quot;attach&amp;quot; to them.  Moving &amp;quot;forward&amp;quot; will move in the direction of your view, be it up, down or to the side.  &amp;quot;Back&amp;quot; will reverse, and you may strafe to the side.  Move away or jump off to detach.&lt;br /&gt;
&lt;br /&gt;
Holding crouch will let you slide down a rope or ladder. Release to stop sliding, or hold it down to slide all the way to the bottom.&lt;br /&gt;
&lt;br /&gt;
=== Swinging on Ropes ===&lt;br /&gt;
&lt;br /&gt;
Tapping the &amp;quot;attack&amp;quot; key while on a rope or chain will cause the rope to swing forward.  You can actually gain more momentum by continuing to tap it every time you start swinging forward (think of it like swinging your legs forward on a swing).  This can allow you to jump off the rope and grab ledges that are otherwise too far away.&lt;br /&gt;
&lt;br /&gt;
Note that the further down the rope you are, the more distance you can travel when swinging (just like a real rope).&lt;br /&gt;
&lt;br /&gt;
== Mantling ==&lt;br /&gt;
There are two different ways to mantle (pull yourself up onto ledges) in The Dark Mod.  One is by holding down the Jump key, which Thief players will be familiar with.  There is also a key specifically for mantling (default: {{key|&lt;br /&gt;
C}}), so that failing to mantle will not result in jumping and making noise.  Ideally there should be no difference in these methods, but occasionally one method will work when the other will not.&lt;br /&gt;
Mantling is affected by where you are looking, so a successful mantle is more likely if you are looking directly at the edge of the object you wish to climb. To climb on a chair, look down at the seat then press the mantle control. By this means you can clamber over relatively low but awkward obstructions and even select one ledge above/below another.&lt;br /&gt;
&lt;br /&gt;
You cannot mantle while carrying a junk object or body.&lt;br /&gt;
&lt;br /&gt;
= Interacting With Your Environment =&lt;br /&gt;
&lt;br /&gt;
The Dark Mod gives you far more flexibility than previous Thief games when it comes to interacting with things.&lt;br /&gt;
&lt;br /&gt;
== Manipulating Held Objects ==&lt;br /&gt;
This is one area that works quite differently from the Thief series.  &amp;quot;Held Objects&amp;quot;(anything that you can carry that doesn’t go into inventory, like chairs, candles, or bodies) are held out in front of you when frobbed.  Unlike in Thief, they take up physical space, and can be used to push or manipulate other objects.  They can also bump into other objects, making noise (or being knocked out of your hands), so be careful.&lt;br /&gt;
&lt;br /&gt;
To grab a held object, frob it as normal.  The object will stop highlighting, and any weapons you have selected will lower.  At this point, you can use the next/prev weapon keys (default: mousewheel up/down) to move the object closer/further away from you, and moving your mouse around will move the object (it stays basically in the center of your screen). &lt;br /&gt;
&lt;br /&gt;
The heavier the object, the slower it moves, so you may notice a ‘lag’ if you turn quickly with heavy objects. It can take a while to get used to this.&lt;br /&gt;
&lt;br /&gt;
To drop an object, hit the Drop key (default: {{key|R}}).  By crouching and angling your view down gently, you&#039;ll find that you can easily set down objects without making noise. You can also throw a held object by hitting the Attack key. Tapping the Attack key throws the object a short distance; holding the Attack key down and releasing it will throw it further.&lt;br /&gt;
&lt;br /&gt;
To rotate a held object, hold down the {{key|Z}} key or middle mouse button, and move your mouse. &lt;br /&gt;
(By default, horizontal movement of the mouse yaws the object around the vertical axis, and vertical movement pitches the object up and down. Holding down the Run key makes horizontal mouse movement roll the object around the forward axis.) This can be useful for replacing objects that have been knocked over, or for placing moveable objects in creative ways (like putting a plank over a gap, or stacking chairs).&lt;br /&gt;
It is possible to “drop” inventory items into your hands, where they can be manipulated as if they were held objects.  Select the object in your inventory, and hit the Drop key {{key|R}}.  The object will appear in front of you like a held object, and you can rotate it, set it down, etc.  To put it back into your inventory, you must &amp;quot;use&amp;quot; the item again ({{key|U}}) or scroll to the next inventory item ({{key|TAB}} or {{key|[}}/{{key|]}}).&lt;br /&gt;
[[Image:candles6.jpg|thumb|[http://www.youtube.com/watch?v=922ArtrKgC4 Click to see TDM candles in action.] ]]&lt;br /&gt;
AI will hear junk objects that are dropped or banged around.  It takes some skill to pick up objects on a crowded table without knocking them into each other.  Remember than an object moves to the center of the screen when you pick it up.  If you are looking slightly above the object, it will jump up to center screen (usually a good thing).  If you&#039;re looking slightly below the object, it will jump down, banging whatever surface it rests on (a bad thing).  A little practice may be required to smoothly and quietly sort through objects.&lt;br /&gt;
&lt;br /&gt;
Some objects that are too heavy to lift may still be movable (like large crates).  Walking or running into such objects may (mapper&#039;s choice) push them along the ground.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Candles ===&lt;br /&gt;
&lt;br /&gt;
Lit candles can be frobbed and carried around to light your way (obviously you will be easily spotted while carrying a lit candle).  They can also be used to light flammable objects like other candles or torches.  Click the caption on the right for a demonstration.&lt;br /&gt;
&lt;br /&gt;
Candles can be extinguished by water, or you can pinch them out by picking them up and clicking the Use key.  (Note that this method can also be used on some movable lanterns). {{red|Candles will usually go out after a few seconds if they get knocked over. (1.06) }}&lt;br /&gt;
&lt;br /&gt;
Be aware that multiple light sources can cause a significant drain on your framerate.  If you go around a room lighting six or seven new candles, don&#039;t be surprised if your framerate drops significantly.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Bodies ===&lt;br /&gt;
&lt;br /&gt;
Bodies work differently than most other objects.  There are two ways to deal with dead or unconscious bodies in The Dark Mod.  You can both drag them and carry them.&lt;br /&gt;
&lt;br /&gt;
To drag a body, you must ‘frob’ it (which probably requires crouching), and then move your mouse around.  The body will drag along with you until you frob it again or the body gets stuck on something.  &lt;br /&gt;
&lt;br /&gt;
This is not the most graceful way of moving bodies and is not recommended for long distances.  Bodies can catch on things and get pulled out of your hands.  It can be useful for quickly shifting a body into a shadow, however.  You can even move individual limbs to put a flailing arm back into a shadow.&lt;br /&gt;
&lt;br /&gt;
You can also carry a body over your shoulder.  While a body is being dragged, hitting the Use button will lift it up over your shoulder.  While carrying a body you move more slowly and cannot use weapons or inventory objects (though you can open doors).  When you are ready to drop the body, hit Use again.  If there is not enough room, you will hear a grunt and nothing will happen.  Back up a bit and try again.  When you drop a body, it will be the opposite orientation from the way you picked it up (if a body is face-up when you lift it, it will be face-down when you drop it).  This allows you to easily search a body for keys or other objects.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Food ===&lt;br /&gt;
&lt;br /&gt;
Some food can be eaten.  When holding a piece of food (such as an apple) hit the &amp;quot;use&amp;quot; key.  If the food is edible, you will &#039;eat&#039; it. Discard any left-overs. Some of the healthy food will heal you by 1 HP.&lt;br /&gt;
&lt;br /&gt;
== Doors == &lt;br /&gt;
You can interrupt a door opening or closing by frobbing it again.  Frobbing a moving door stops it, allowing you to open a door just a crack to peer beyond.&lt;br /&gt;
&lt;br /&gt;
You can lean into a door (use the lean left/right keys) to press your ear up against it and hear what&#039;s on the other side.  Note that while you&#039;re concentrating on what&#039;s beyond the door you&#039;ll be less able to hear the sounds in the room you&#039;re currently in.&lt;br /&gt;
&lt;br /&gt;
Some doors or chests are locked and require keys (or lockpicks, see below) to open. To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
Depending on how important a specific door is, the mapper can choose to set flags on it. Check out the http://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay#AI_Behaviour  section, for details on how the AI responds in such cases.&lt;br /&gt;
&lt;br /&gt;
== Lockpicking ==&lt;br /&gt;
You will definitely want to practice lockpicking in the Training Mission before trying a real map. Just reading the instructions is probably not enough to get the hang of it. &lt;br /&gt;
&lt;br /&gt;
There are two types of lockpicks, &#039;triangle&#039; and &#039;snake&#039;. To begin, you must have the correct lockpick selected in inventory.  If you do not, you will see a red flash behind the lockpick icon when you frob the locked door. To pick a lock, move close enough to highlight the door and hold the Use key.  You will start to hear a sequence of clicks, and see the door handle (or lock pin) jiggle in sync.&lt;br /&gt;
&lt;br /&gt;
The clicks are a random pattern.  At the end of the pattern is a brief period of silence, then the pattern will begin again. To be successful you must hit the Attack key (or release the Use key if you prefer) at the start of that silence.  If you hit the Attack key at the wrong time there is a dull &#039;fail&#039; sound and the pattern begins again.  Your goal is to learn the sequence of clicks so that you can anticipate when it will end.  This requires concentration.&lt;br /&gt;
&lt;br /&gt;
Some locks are more difficult than others and have multiple pins (which may require switching lockpicks).  You can make lockpicking harder or easier in the Settings Menu, by adjusting how much silence there is between each pattern (the more silence, the easier it is to react in time).  Setting Lockpicking to &amp;quot;Auto&amp;quot; will make locks open automatically after the pattern repeats 3 times.&lt;br /&gt;
&lt;br /&gt;
{{red| Armed mines can be disarmed by lockpicking them. Afterward, they can be frobbed and put into inventory. Either lockpick type can be used. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
== Chests ==&lt;br /&gt;
It can sometimes be a little awkward frobbing items inside deep chests. Leaning forward (or even sideways) will usually help.&lt;br /&gt;
&lt;br /&gt;
If you get too close to a chest, you can sometimes get in the way of the lid opening or closing. Back up a little if the lid is not moving as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Combat =&lt;br /&gt;
&lt;br /&gt;
There are a number of ways that combat is different in The Dark Mod.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that you are not a warrior.  Guards are generally better trained than you are, and while you might win a few one-on-one battles, you will almost certainly die if facing two guards at once.&lt;br /&gt;
&lt;br /&gt;
== Blackjacking ==&lt;br /&gt;
&lt;br /&gt;
Your blackjack is more effective if your opponent is relaxed and not expecting trouble.&lt;br /&gt;
&lt;br /&gt;
You must hit an AI on the head to knock them out.  Hitting an AI anywhere else will simply alert them.  For best results, don&#039;t get too close to the AI, or you may hit them with your elbow instead of your blackjack.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can successfully knock out:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Unarmed civilian AI from any direction, any time.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Bare-headed guards from any direction when relaxed, or from behind when their weapon is out.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Helmeted guards from behind when relaxed (helmeted guards cannot be knocked out when their weapon is out).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All armed AI are harder to knock out when the AI has drawn a weapon, because they are assumed to be ready for you.  Either they have searched for you or been warned by a friend that something is wrong.&lt;br /&gt;
&lt;br /&gt;
The blackjack does a small amount of damage, so you could theoretically beat someone to death with it, if you have a lot of time on your hands.&lt;br /&gt;
&lt;br /&gt;
Undead and some animals cannot be knocked out with the blackjack.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Certain heavy-duty helmets make their wearer immune to the blackjack.  These can be identified by a face grill and a low back, which protects the base of the neck.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the blackjack makes an overhead swing, so if there is something low in the way (like a doorframe) you might hit it instead of your target, especially if you are looking upwards.&lt;br /&gt;
&lt;br /&gt;
== Melee Combat ==&lt;br /&gt;
[[image:combat1.jpg|thumb|A guard winds up for an overhead attack]]&lt;br /&gt;
There is a combat arena in the Training Map for practicing combat.  After a few rounds you will have a much better feel for how it works.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Different AI have different skill levels (novice, trained, skilled) when it comes to combat.  An armed commoner will not fight as well as an elite guard. You can also change the overall combat difficulty in the Settings menu.}}&lt;br /&gt;
&lt;br /&gt;
You can use your shortsword to attack an enemy, as well as block enemy weapons. Attacking a relaxed enemy (ie, backstabbing) does extra damage. &lt;br /&gt;
To attack, hit the Attack key. This will make a left-to-right, slashing attack. If you move the mouse while clicking the Attack key, you can select other kinds of attacks. Moving the mouse down will cause an overhead swing. Moving the mouse up will cause a thrust attack. Moving the mouse left or right will cause a right-to-left or left-to-right slash, respectively. &lt;br /&gt;
&lt;br /&gt;
AI can parry your swings (unless they are using a dagger), and they will do this more easily if you keep using the same kind of attack, so you will want to mix it up. &lt;br /&gt;
&lt;br /&gt;
The amount of damage you do varies depending on where you hit. Hitting an AI in the head will do more damage than hitting their arm or leg. Armour also plays a factor. Your sword can&#039;t penetrate plate armour, and even chainmail or leather armour will provide the AI some protection.&lt;br /&gt;
&lt;br /&gt;
To block an enemy strike, hold the Parry key.  You must hit the parry key &#039;&#039;after&#039;&#039; the AI starts winding up for their attack.  Too early and the AI will see the block and choose a different attack.  Obviously, you must also be facing the AI...holding up a block while looking off to the side won&#039;t help.&lt;br /&gt;
&lt;br /&gt;
If you are using Manual Parry (select in the Settings menu), you need to select the appropriate block.  If your opponent is making an overhead attack, you must select an overhead block.  Select blocks by moving the mouse while holding the Parry button down, just as you would for an attack.  &lt;br /&gt;
&lt;br /&gt;
If you successfully block an attack or damage your opponent the AI will be temporarily &amp;quot;flat-footed&amp;quot;. They can still attack and defend, but they will not chase you if you turn to run. The effect lasts only a second or two, but that can sometimes be enough time to give you a head start.&lt;br /&gt;
&lt;br /&gt;
The trick to a successful combat is timing. You need to try to anticipate your opponent&#039;s attacks, and then launch counter-attacks before he has a chance to parry.&lt;br /&gt;
&lt;br /&gt;
AI will usually try to flee if they are badly wounded.&lt;br /&gt;
&lt;br /&gt;
{{update|1.07|Different weapons do different amounts of damage when they hit you.  A longsword is one of the most damaging weapons, while short swords do less damage and daggers even less.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; It is possible to hit walls or ceilings instead of your target.  Keep track of how much space is around you when choosing your swing.&lt;br /&gt;
&lt;br /&gt;
== Missile Combat ==&lt;br /&gt;
&lt;br /&gt;
Your broadhead arrows cannot penetrate plate armour, and will do less damage if they hit chain or leather armour.  The best result is to hit unarmoured flesh.  A single arrow to the head will kill a relaxed guard.  Alert guards are assumed to be taking measures to minimize the damage from incoming arrows.  &lt;br /&gt;
&lt;br /&gt;
If you are hit while trying to fire an arrow, your attack will be canceled.&lt;br /&gt;
&lt;br /&gt;
AI will switch to missile combat if they can see you but cannot reach you.  If they don&#039;t have a missile weapon, they will become angry and start throwing things at you.&lt;br /&gt;
 &lt;br /&gt;
AI archers will fire arrows at you.  Some AI are better shots than others.  When you get within melee range of an archer, they will pull out their melee weapon to fight with it instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= AI =&lt;br /&gt;
&lt;br /&gt;
== AI Senses ==&lt;br /&gt;
&lt;br /&gt;
AI can see you if your lightgem is not totally black.  The longer you&#039;re in their field of vision and the closer you are, the more likely they are to notice you and come and investigate.  &lt;br /&gt;
&lt;br /&gt;
Some AI have hoods, eyepatches, or other things that block their field of vision.  These can be exploited by clever thieves. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
AI can hear your footsteps, and noise that you make from banging into things or dropping objects.  {{update|2.0|They can also hear the sound of falling bodies, so be careful where you knock out opponents.}}&lt;br /&gt;
&lt;br /&gt;
AI can also feel you if you bump into them, or vice versa.&lt;br /&gt;
&lt;br /&gt;
TDM AI are fairly intelligent about searching.  They can identify good hiding spots and will check them out first.&lt;br /&gt;
&lt;br /&gt;
When AI become alert, their senses get slightly better.  A shadow that is sufficient to hide you from a relaxed AI might not be enough for an AI that is alert and actively looking for trouble.&lt;br /&gt;
&lt;br /&gt;
AI do not forget about you after giving up the search.  They remain in an alert state, with heightened senses and their weapons out.&lt;br /&gt;
&lt;br /&gt;
== AI Behaviour ==&lt;br /&gt;
&lt;br /&gt;
AI don&#039;t necessarily patrol the exact same route every time, or stand for the same amount of time at every spot they go to.  Mappers can add as much randomness to the AI as they wish.&lt;br /&gt;
&lt;br /&gt;
AI need to see evidence in order to react to it.  If a bloodstain or missing loot is in shadow, an AI won&#039;t notice it.&lt;br /&gt;
&lt;br /&gt;
AI can react to missing objects, but only if mappers set the objects as noteworthy.&lt;br /&gt;
&lt;br /&gt;
AI become suspicious if they find a weapon lying around.  Finding blood or a body will cause them to go fully alert.&lt;br /&gt;
&lt;br /&gt;
AI can hear broadhead arrow impacts.  If you shoot an arrow and it hits a wall nearby, the AI will notice.  AI will also react to water arrows if you fire them too close (or if you hit an AI with one).  {{update|1.07|AI will notice and be suspicious of arrows that are left sticking into things.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AI do not yet notice moss arrow impacts, broken objects or moss patches.  These things will likely cause minor alerts in the future.&lt;br /&gt;
&lt;br /&gt;
{{update|1.06| AI can notice and comment on lights that have been put out, and may relight ones that the mapper has set as important.  AI will start to become suspicious of an intruder if this happens frequently.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI that see a rope from a rope arrow will walk over to investigate, and will treat it as evidence of an intruder.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI can notice important doors (set by mapper) that have been left open, and will start to become suspicious.}}&lt;br /&gt;
&lt;br /&gt;
{{red| AI will turn towards doors that they see opening, and may get suspicious if they don&#039;t see anyone responsible.  (2.00) }} &lt;br /&gt;
&lt;br /&gt;
AI will look for 2s at a door opening in their FOV, unless they’re in combat mode.&lt;br /&gt;
&lt;br /&gt;
An AI will not look at an open door if they were the last one to handle it.&lt;br /&gt;
&lt;br /&gt;
===For an unsuspicious door:===&lt;br /&gt;
&lt;br /&gt;
The door starts to open, stims the AI, but the AI ignores it, because the door is &amp;lt; 20% open. One second later, when the next stim hits him, if the door is &amp;lt; 20% open, he&#039;ll continue to ignore it. Otherwise, he&#039;ll look at the door for 2 seconds.  Non-suspicious doors can be cracked open indefinitely w/o nearby AI noticing.&lt;br /&gt;
&lt;br /&gt;
===For a suspicious door:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allow player to crack open (&amp;lt; 20%) a suspicious door to peek out w/o grabbing the attention of a nearby AI. After 5s, the AI will notice the cracked open door.&lt;br /&gt;
&lt;br /&gt;
When the door is &amp;gt;20%, it stims the AI, and the AI immediately starts to look at it for 2 seconds. 1 to 1.5 seconds after the stim, while looking at the door, if no friendlies are apparent, the AI will bark and walk toward the door and begin his search.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gameplay]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17647</id>
		<title>The Dark Mod Gameplay</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay&amp;diff=17647"/>
		<updated>2014-03-02T10:30:50Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{red|Updates for versions after v1.00 are listed in red, so players can quickly see changes to gameplay since their last read.}}&lt;br /&gt;
&lt;br /&gt;
Since The Dark Mod is designed to simulate the stealth gameplay of Thief, many things will be very familiar to Thief players.  There are some features that work differently, however, and some things that are entirely new to TDM.  &lt;br /&gt;
&lt;br /&gt;
If you have never played Stealth Games before, start with the [[Basics of Stealth Gaming]].&lt;br /&gt;
&lt;br /&gt;
Veteran stealth gamers can read the various sections below for more detail:&lt;br /&gt;
&lt;br /&gt;
= The Game Menus =&lt;br /&gt;
&lt;br /&gt;
Your experience with The Dark Mod will start with the Main Menu, where you may wish to adjust some settings before starting your first mission.  If you already have saved games from a currently installed mission, you can load them from the Load/Save menu.  &lt;br /&gt;
&lt;br /&gt;
{{red|Note: While missions remain compatible with all updates, your saved games will not necessarily work after updating, due to code changes.}}&lt;br /&gt;
&lt;br /&gt;
== Starting a Mission ==&lt;br /&gt;
[[Image:new_mission.jpg|thumb|The New Mission menu.]]&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;New Mission&#039;&#039; from the Main Menu.&lt;br /&gt;
# Click &amp;quot;Download&amp;quot; to see a list of missions available to download.  You can even read details and see screenshots from the mission before downloading it. {{red|(1.04)}}&lt;br /&gt;
# Select a Mission from the Available Mission list on the right (start with the Training Mission if this is your first time) and click &#039;&#039;Install Mission&#039;&#039;.&lt;br /&gt;
# TDM will install the mission and restart.  Select &#039;&#039;New Mission&#039;&#039; again, and click &#039;&#039;Start Mission&#039;&#039; &lt;br /&gt;
# You will see a briefing that introduces the mission.  Click &#039;&#039;Objectives&#039;&#039; to proceed.&lt;br /&gt;
# Read your objectives, and choose your Difficulty Level.  Then select &#039;&#039;Buy Equipment&#039;&#039; (or &#039;&#039;Start Mission&#039;&#039; in some missions).&lt;br /&gt;
# After purchasing desired equipment, hit &#039;&#039;Start Mission&#039;&#039;.  (The option to &#039;&#039;Drop&#039;&#039; starting items is available, but use with caution...dropping some items may make a mission impossible to complete)&lt;br /&gt;
# The Mission Loading screen should appear. Be patient...loading a mission for the first time can take several minutes.&lt;br /&gt;
&lt;br /&gt;
To call the Main Menu during the game, press {{ESC}}) .&lt;br /&gt;
&lt;br /&gt;
See [[Installing and Running Fan Missions]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Changing Settings ==&lt;br /&gt;
&lt;br /&gt;
# Select &#039;&#039;Settings&#039;&#039; from the Main Menu&lt;br /&gt;
# Select the type of setting you wish to adjust: &#039;&#039;Audio&#039;&#039;, &#039;&#039;Video&#039;&#039;, &#039;&#039;Controls&#039;&#039;, or &#039;&#039;Gameplay&#039;&#039;&lt;br /&gt;
# The controls are set to defaults familiar to &#039;&#039;Thief&#039;&#039; players, however there are new keys/features that are worth reviewing.&lt;br /&gt;
#There are difficulty settings for many things, including lockpicking and {{red| combat. (1.01)}} &lt;br /&gt;
# New graphic settings have been added for better graphic quality and bloom. {{red|(1.03)}}&lt;br /&gt;
#{{red|A new &amp;quot;AI Vision&amp;quot; option has been added.  This controls how quickly AI realize you are an enemy when they spot you. (2.0)}}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
When you call the Main Menu during a mission (by hitting {{ESC}}), you will see an option for &amp;quot;Objectives&amp;quot;.  This is where you can check your progress.&lt;br /&gt;
&lt;br /&gt;
Your objectives are also displayed after the Mission Briefing when you first start a mission.&lt;br /&gt;
&lt;br /&gt;
You can also check your Objectives without going to the menus.  Hitting {{key|O}} will bring up your objectives on screen.  You can use the mouse wheel to scroll up and down.  Note that this method &#039;&#039;does not pause the game&#039;&#039;. {{red| (1.01)}}&lt;br /&gt;
&lt;br /&gt;
When you complete an objective, a chime will sound and “Objective Completed” will be displayed at the top of the screen.  &lt;br /&gt;
&lt;br /&gt;
When you have completed all objectives, the map will close and a “Mission Succeeded” screen will appear.  Likewise, if you fail an objective or are killed, a “Failed Mission” screen will appear.  You can restart the map by selecting the &amp;quot;Restart&amp;quot; option or via the Main Menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= HUD Display =&lt;br /&gt;
&lt;br /&gt;
[[Image:hud.jpg|thumb|The Game Screen indicators.]]&lt;br /&gt;
&lt;br /&gt;
1. WEAPON ICON: An icon of your currently selected weapon is displayed in the bottom left corner of the screen.&lt;br /&gt;
&lt;br /&gt;
2. BREATH INDICATOR: When you are underwater a small blue bar will appear above the lightgem.  This bar measures how much air you have left.  When the blue bar runs out, you start to take damage.  Surfacing or using a Breath Potion will restore your air bar. &lt;br /&gt;
&lt;br /&gt;
3. LIGHTGEM: The lightgem at the bottom of the screen indicates how easy you are to see.  This is primarily due to how much light is hitting you, but also includes things like whether you are crouched, moving, or have a weapon drawn. {{red|Being under water also reduces your lightgem. (1.03)}}&lt;br /&gt;
&lt;br /&gt;
The wings on either side of the gem are a crouch indicator.  When you are crouched, the wings &#039;crouch&#039; down as well. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
4. HEALTH INDICATOR: When you are injured, a small red healthbar appears below the lightgem.  It will remain visible until you are returned to full health.&lt;br /&gt;
&lt;br /&gt;
5. INVENTORY ICON: Your currently selected inventory object (or your loot total) is displayed as an icon in the bottom right.&lt;br /&gt;
&lt;br /&gt;
== Weapons ==&lt;br /&gt;
&lt;br /&gt;
Weapon hotkeys were changed at the last minute, so this list may need modifying:&lt;br /&gt;
* {{key|`}} Put away weapons&lt;br /&gt;
* {{key|1}} Blackjack&lt;br /&gt;
* {{key|2}} Short Sword&lt;br /&gt;
[[Image:arrows.jpg|thumb|A selection of arrows you can choose from.]]&lt;br /&gt;
* {{key|3}} Broadheads&lt;br /&gt;
* {{key|4}} [[Water Arrows]]&lt;br /&gt;
* {{key|5}} [[Fire Arrows]]&lt;br /&gt;
* {{key|6}} [[Rope Arrows]] &lt;br /&gt;
* {{key|7}} [[Gas Arrows]]  &lt;br /&gt;
* {{key|8}} [[Noise Arrows]]&lt;br /&gt;
* {{key|9}} [[Moss Arrows]]&lt;br /&gt;
* {{key|0}} [[Vine Arrows]] {{red| (1.07)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(note that there has been a report that linux users cannot use the {{key|`}} as it is mapped to the console.  Linux users will need to select a different key for &#039;Put away weapons&#039;.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Inventory Objects ==&lt;br /&gt;
Cycle through your inventory using the Inventory Prev/Next keys (default: {{key|[}} or {{key|TAB}} for next item and {{key|]}} for prev item). Inventory objects are stored in groups, so all keys will be stored together, all readables, etc.  You can cycle through groups with the Prev/Next Group keys.&lt;br /&gt;
&lt;br /&gt;
To ‘use’ an inventory object, select it and then hit the Use key (default: {{key|U}}). This will drink potions, throw mines, activate the spyglass, etc. To &amp;quot;use&amp;quot; objects on other objects (like using a key on a door), select the object in inventory, highlight the thing you want to use it on, and hit Use. &lt;br /&gt;
&lt;br /&gt;
You can drop inventory items by hitting the Drop key (default: {{key|R}}) twice.  See the section &amp;quot;Holding Junk Objects&amp;quot; for more information. Note that mappers may designate some important inventory items as undroppable.&lt;br /&gt;
&lt;br /&gt;
You can clear the inventory selection by hitting the {{key| ← &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;}} (backspace) key.&lt;br /&gt;
&lt;br /&gt;
To set hotkeys for your inventory items, please see [[Custom Settings for Players]].&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Flashbomb === &lt;br /&gt;
[[Image:equipment.jpg|thumb|The tools of a professional burglar.]]&lt;br /&gt;
Activate a flashbomb by selecting it in inventory and hitting Use. Flashbombs detonate on impact.  A short tap will cause it to fall and go off at your feet where it won&#039;t blind you. Holding down the Use key will throw the flashbomb farther away.  If you use the Drop key to put the flashbomb down, it is not activated at all.&lt;br /&gt;
&lt;br /&gt;
An AI must be looking at the flashbomb to be blinded.  Don&#039;t look at the point of impact or you&#039;ll be blinded too.&lt;br /&gt;
&lt;br /&gt;
AI are only blinded for a few seconds, and they are alerted by the flash, so this tool is most useful for getting away when you&#039;ve been spotted, or stunning an enemy before an attack.&lt;br /&gt;
&lt;br /&gt;
Flashbombs have no effect on the undead.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Holy Water ===&lt;br /&gt;
&lt;br /&gt;
Select your holy water in inventory and hit the Use key.  This puts holy water into your water arrows, making them lethal to undead.  The effect only lasts 30 seconds, so use it wisely.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Keys === &lt;br /&gt;
Some doors or chests require keys to open.  To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
You can also assign a key to &#039;&#039;Cycle Keys&#039;&#039; to quickly cycle through all keys in your inventory.  This is a very useful way to get to your keys quickly when you have a lot of other items in your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Lockpicks === &lt;br /&gt;
See [[#Lockpicking|Lockpicking]] for more information on lockpicks.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Objects:  Maps and Readables === &lt;br /&gt;
&lt;br /&gt;
In The Dark Mod, both maps and most readables (books, scrolls, etc) are inventory items.  To read them, you scroll to the object in your inventory and then hit the Use key.  The map or readable will be displayed on screen.  Note that &#039;&#039;&#039;this does not pause the game&#039;&#039;&#039;.  Unlike Thief, events continue to unfold around you, and you can be attacked while reading if not careful.  You can see your environment around the edges of the map/readable, but the best suggestion is to find a safe place to read.  With multi-page readables (distinguishable by folded corners on the page), use the next/prev inventory or next/prev weapon keys to scroll through pages.  Hitting Use or Attack will put the readable away.&lt;br /&gt;
&lt;br /&gt;
The Map key (default: {{key|M}}) will also automatically bring up your map, if you have one. You can also define a readables key (default: not mapped) to cycle through any readables you have.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Mines === &lt;br /&gt;
&lt;br /&gt;
Place a mine by selecting it in inventory and hitting Use.  A short tap will drop the mine at your feet.  Holding down Use will throw the mine farther away.  After a few seconds, the mine is armed and {{red| starts making a distinct ticking sound (1.07) }}.  Once you hear the ticking, it will go off if stepped on. &lt;br /&gt;
&lt;br /&gt;
{{red| Map authors can place a mine and arm it at mission start. It behaves the same as any mine you&#039;ve thrown: it will explode on contact, and it can be disarmed. So don&#039;t assume that any mine you come across is safe to pick up. Listen for the tell-tale armed ticking sound. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
If you use the Drop key to put the mine down, it is not armed.&lt;br /&gt;
&lt;br /&gt;
Note that you can set armed mines off by shooting them with an arrow.&lt;br /&gt;
&lt;br /&gt;
You can disarm an armed mine by using a lockpick on it, the same as you would on a locked door. {{red| (1.07) }} Armed mines give off a distinct ticking sound, which stops when the mine is disarmed. After disarming a mine, you can frob it to put it back into your inventory.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Player Lantern === &lt;br /&gt;
&lt;br /&gt;
Light is usually the bane of thieves everywhere, but there are times when you need just a little to make your way around.  To this end, some thieves carry a covered lantern with a hood that can be closed to block out the light.  To use the lantern, select it in inventory and hit Use.  This will lift the cover if the lantern is currently off, or close the cover if it is currently lit. There is also a hotkey for using the lantern; by default this is {{key|L}}. This lantern is clipped to your belt so your hands are free, and it can even be used underwater for short periods.&lt;br /&gt;
&lt;br /&gt;
Obviously using the lantern makes you clearly visible to any nearby opponents.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Potions ===&lt;br /&gt;
&lt;br /&gt;
Potions are used by selecting them in inventory and hitting Use.  Healing potions will restore hit points (the effect is somewhat gradual).  Breath potions increase the player&#039;s breath meter, allowing them to stay underwater longer.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Object:  Spyglass === &lt;br /&gt;
&lt;br /&gt;
A good Thief likes to scout ahead.  To use the spyglass, select it in inventory and hit Use. Or use {{key|G}} as a shortcut.  You can use the next/prev weapon keys to zoom in and out.  You cannot use weapons or frob objects while using the spyglass.&lt;br /&gt;
&lt;br /&gt;
= Movement =&lt;br /&gt;
&lt;br /&gt;
Movement in The Dark Mod is not that different than Thief.  You can run, walk, or creep, as well as do any of the three while crouching.  The faster you move, the more noise you make.&lt;br /&gt;
&lt;br /&gt;
== Climbing ==&lt;br /&gt;
&lt;br /&gt;
In addition to ladders and ropes, many missions allow you to climb vines, pipes and chains.&lt;br /&gt;
&lt;br /&gt;
Move or jump onto a ladder or vines to &amp;quot;attach&amp;quot; to them.  Moving &amp;quot;forward&amp;quot; will move in the direction of your view, be it up, down or to the side.  &amp;quot;Back&amp;quot; will reverse, and you may strafe to the side.  Move away or jump off to detach.&lt;br /&gt;
&lt;br /&gt;
Holding crouch will let you slide down a rope or ladder. Release to stop sliding, or hold it down to slide all the way to the bottom.&lt;br /&gt;
&lt;br /&gt;
=== Swinging on Ropes ===&lt;br /&gt;
&lt;br /&gt;
Tapping the &amp;quot;attack&amp;quot; key while on a rope or chain will cause the rope to swing forward.  You can actually gain more momentum by continuing to tap it every time you start swinging forward (think of it like swinging your legs forward on a swing).  This can allow you to jump off the rope and grab ledges that are otherwise too far away.&lt;br /&gt;
&lt;br /&gt;
Note that the further down the rope you are, the more distance you can travel when swinging (just like a real rope).&lt;br /&gt;
&lt;br /&gt;
== Mantling ==&lt;br /&gt;
There are two different ways to mantle (pull yourself up onto ledges) in The Dark Mod.  One is by holding down the Jump key, which Thief players will be familiar with.  There is also a key specifically for mantling (default: {{key|&lt;br /&gt;
C}}), so that failing to mantle will not result in jumping and making noise.  Ideally there should be no difference in these methods, but occasionally one method will work when the other will not.&lt;br /&gt;
Mantling is affected by where you are looking, so a successful mantle is more likely if you are looking directly at the edge of the object you wish to climb. To climb on a chair, look down at the seat then press the mantle control. By this means you can clamber over relatively low but awkward obstructions and even select one ledge above/below another.&lt;br /&gt;
&lt;br /&gt;
You cannot mantle while carrying a junk object or body.&lt;br /&gt;
&lt;br /&gt;
= Interacting With Your Environment =&lt;br /&gt;
&lt;br /&gt;
The Dark Mod gives you far more flexibility than previous Thief games when it comes to interacting with things.&lt;br /&gt;
&lt;br /&gt;
== Manipulating Held Objects ==&lt;br /&gt;
This is one area that works quite differently from the Thief series.  &amp;quot;Held Objects&amp;quot;(anything that you can carry that doesn’t go into inventory, like chairs, candles, or bodies) are held out in front of you when frobbed.  Unlike in Thief, they take up physical space, and can be used to push or manipulate other objects.  They can also bump into other objects, making noise (or being knocked out of your hands), so be careful.&lt;br /&gt;
&lt;br /&gt;
To grab a held object, frob it as normal.  The object will stop highlighting, and any weapons you have selected will lower.  At this point, you can use the next/prev weapon keys (default: mousewheel up/down) to move the object closer/further away from you, and moving your mouse around will move the object (it stays basically in the center of your screen). &lt;br /&gt;
&lt;br /&gt;
The heavier the object, the slower it moves, so you may notice a ‘lag’ if you turn quickly with heavy objects. It can take a while to get used to this.&lt;br /&gt;
&lt;br /&gt;
To drop an object, hit the Drop key (default: {{key|R}}).  By crouching and angling your view down gently, you&#039;ll find that you can easily set down objects without making noise. You can also throw a held object by hitting the Attack key. Tapping the Attack key throws the object a short distance; holding the Attack key down and releasing it will throw it further.&lt;br /&gt;
&lt;br /&gt;
To rotate a held object, hold down the {{key|Z}} key or middle mouse button, and move your mouse. &lt;br /&gt;
(By default, horizontal movement of the mouse yaws the object around the vertical axis, and vertical movement pitches the object up and down. Holding down the Run key makes horizontal mouse movement roll the object around the forward axis.) This can be useful for replacing objects that have been knocked over, or for placing moveable objects in creative ways (like putting a plank over a gap, or stacking chairs).&lt;br /&gt;
It is possible to “drop” inventory items into your hands, where they can be manipulated as if they were held objects.  Select the object in your inventory, and hit the Drop key {{key|R}}.  The object will appear in front of you like a held object, and you can rotate it, set it down, etc.  To put it back into your inventory, you must &amp;quot;use&amp;quot; the item again ({{key|U}}) or scroll to the next inventory item ({{key|TAB}} or {{key|[}}/{{key|]}}).&lt;br /&gt;
[[Image:candles6.jpg|thumb|[http://www.youtube.com/watch?v=922ArtrKgC4 Click to see TDM candles in action.] ]]&lt;br /&gt;
AI will hear junk objects that are dropped or banged around.  It takes some skill to pick up objects on a crowded table without knocking them into each other.  Remember than an object moves to the center of the screen when you pick it up.  If you are looking slightly above the object, it will jump up to center screen (usually a good thing).  If you&#039;re looking slightly below the object, it will jump down, banging whatever surface it rests on (a bad thing).  A little practice may be required to smoothly and quietly sort through objects.&lt;br /&gt;
&lt;br /&gt;
Some objects that are too heavy to lift may still be movable (like large crates).  Walking or running into such objects may (mapper&#039;s choice) push them along the ground.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Candles ===&lt;br /&gt;
&lt;br /&gt;
Lit candles can be frobbed and carried around to light your way (obviously you will be easily spotted while carrying a lit candle).  They can also be used to light flammable objects like other candles or torches.  Click the caption on the right for a demonstration.&lt;br /&gt;
&lt;br /&gt;
Candles can be extinguished by water, or you can pinch them out by picking them up and clicking the Use key.  (Note that this method can also be used on some movable lanterns). {{red|Candles will usually go out after a few seconds if they get knocked over. (1.06) }}&lt;br /&gt;
&lt;br /&gt;
Be aware that multiple light sources can cause a significant drain on your framerate.  If you go around a room lighting six or seven new candles, don&#039;t be surprised if your framerate drops significantly.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Bodies ===&lt;br /&gt;
&lt;br /&gt;
Bodies work differently than most other objects.  There are two ways to deal with dead or unconscious bodies in The Dark Mod.  You can both drag them and carry them.&lt;br /&gt;
&lt;br /&gt;
To drag a body, you must ‘frob’ it (which probably requires crouching), and then move your mouse around.  The body will drag along with you until you frob it again or the body gets stuck on something.  &lt;br /&gt;
&lt;br /&gt;
This is not the most graceful way of moving bodies and is not recommended for long distances.  Bodies can catch on things and get pulled out of your hands.  It can be useful for quickly shifting a body into a shadow, however.  You can even move individual limbs to put a flailing arm back into a shadow.&lt;br /&gt;
&lt;br /&gt;
You can also carry a body over your shoulder.  While a body is being dragged, hitting the Use button will lift it up over your shoulder.  While carrying a body you move more slowly and cannot use weapons or inventory objects (though you can open doors).  When you are ready to drop the body, hit Use again.  If there is not enough room, you will hear a grunt and nothing will happen.  Back up a bit and try again.  When you drop a body, it will be the opposite orientation from the way you picked it up (if a body is face-up when you lift it, it will be face-down when you drop it).  This allows you to easily search a body for keys or other objects.&lt;br /&gt;
&lt;br /&gt;
=== Held Objects: Food ===&lt;br /&gt;
&lt;br /&gt;
Some food can be eaten.  When holding a piece of food (such as an apple) hit the &amp;quot;use&amp;quot; key.  If the food is edible, you will &#039;eat&#039; it. Discard any left-overs. Some of the healthy food will heal you by 1 HP.&lt;br /&gt;
&lt;br /&gt;
== Doors == &lt;br /&gt;
You can interrupt a door opening or closing by frobbing it again.  Frobbing a moving door stops it, allowing you to open a door just a crack to peer beyond.&lt;br /&gt;
&lt;br /&gt;
You can lean into a door (use the lean left/right keys) to press your ear up against it and hear what&#039;s on the other side.  Note that while you&#039;re concentrating on what&#039;s beyond the door you&#039;ll be less able to hear the sounds in the room you&#039;re currently in.&lt;br /&gt;
&lt;br /&gt;
Some doors or chests are locked and require keys (or lockpicks, see below) to open. To open a locked door, select the appropriate key by scrolling to it in your inventory and hit the Use key (or the Frob key if you wish) while highlighting the door. Note that certain types of door locks (like padlocks) might have to be frobbed separately.&lt;br /&gt;
&lt;br /&gt;
Depending on how important a specific door is, the mapper can choose to set flags on it. Check out the &amp;quot;AI Behaviour&amp;quot; section, for details on how the AI responds in such cases.&lt;br /&gt;
&lt;br /&gt;
== Lockpicking ==&lt;br /&gt;
You will definitely want to practice lockpicking in the Training Mission before trying a real map. Just reading the instructions is probably not enough to get the hang of it. &lt;br /&gt;
&lt;br /&gt;
There are two types of lockpicks, &#039;triangle&#039; and &#039;snake&#039;. To begin, you must have the correct lockpick selected in inventory.  If you do not, you will see a red flash behind the lockpick icon when you frob the locked door. To pick a lock, move close enough to highlight the door and hold the Use key.  You will start to hear a sequence of clicks, and see the door handle (or lock pin) jiggle in sync.&lt;br /&gt;
&lt;br /&gt;
The clicks are a random pattern.  At the end of the pattern is a brief period of silence, then the pattern will begin again. To be successful you must hit the Attack key (or release the Use key if you prefer) at the start of that silence.  If you hit the Attack key at the wrong time there is a dull &#039;fail&#039; sound and the pattern begins again.  Your goal is to learn the sequence of clicks so that you can anticipate when it will end.  This requires concentration.&lt;br /&gt;
&lt;br /&gt;
Some locks are more difficult than others and have multiple pins (which may require switching lockpicks).  You can make lockpicking harder or easier in the Settings Menu, by adjusting how much silence there is between each pattern (the more silence, the easier it is to react in time).  Setting Lockpicking to &amp;quot;Auto&amp;quot; will make locks open automatically after the pattern repeats 3 times.&lt;br /&gt;
&lt;br /&gt;
{{red| Armed mines can be disarmed by lockpicking them. Afterward, they can be frobbed and put into inventory. Either lockpick type can be used. (1.07) }}&lt;br /&gt;
&lt;br /&gt;
== Chests ==&lt;br /&gt;
It can sometimes be a little awkward frobbing items inside deep chests. Leaning forward (or even sideways) will usually help.&lt;br /&gt;
&lt;br /&gt;
If you get too close to a chest, you can sometimes get in the way of the lid opening or closing. Back up a little if the lid is not moving as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Combat =&lt;br /&gt;
&lt;br /&gt;
There are a number of ways that combat is different in The Dark Mod.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that you are not a warrior.  Guards are generally better trained than you are, and while you might win a few one-on-one battles, you will almost certainly die if facing two guards at once.&lt;br /&gt;
&lt;br /&gt;
== Blackjacking ==&lt;br /&gt;
&lt;br /&gt;
Your blackjack is more effective if your opponent is relaxed and not expecting trouble.&lt;br /&gt;
&lt;br /&gt;
You must hit an AI on the head to knock them out.  Hitting an AI anywhere else will simply alert them.  For best results, don&#039;t get too close to the AI, or you may hit them with your elbow instead of your blackjack.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can successfully knock out:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Unarmed civilian AI from any direction, any time.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Bare-headed guards from any direction when relaxed, or from behind when their weapon is out.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Helmeted guards from behind when relaxed (helmeted guards cannot be knocked out when their weapon is out).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All armed AI are harder to knock out when the AI has drawn a weapon, because they are assumed to be ready for you.  Either they have searched for you or been warned by a friend that something is wrong.&lt;br /&gt;
&lt;br /&gt;
The blackjack does a small amount of damage, so you could theoretically beat someone to death with it, if you have a lot of time on your hands.&lt;br /&gt;
&lt;br /&gt;
Undead and some animals cannot be knocked out with the blackjack.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Certain heavy-duty helmets make their wearer immune to the blackjack.  These can be identified by a face grill and a low back, which protects the base of the neck.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the blackjack makes an overhead swing, so if there is something low in the way (like a doorframe) you might hit it instead of your target, especially if you are looking upwards.&lt;br /&gt;
&lt;br /&gt;
== Melee Combat ==&lt;br /&gt;
[[image:combat1.jpg|thumb|A guard winds up for an overhead attack]]&lt;br /&gt;
There is a combat arena in the Training Map for practicing combat.  After a few rounds you will have a much better feel for how it works.&lt;br /&gt;
&lt;br /&gt;
{{update|1.01|Different AI have different skill levels (novice, trained, skilled) when it comes to combat.  An armed commoner will not fight as well as an elite guard. You can also change the overall combat difficulty in the Settings menu.}}&lt;br /&gt;
&lt;br /&gt;
You can use your shortsword to attack an enemy, as well as block enemy weapons. Attacking a relaxed enemy (ie, backstabbing) does extra damage. &lt;br /&gt;
To attack, hit the Attack key. This will make a left-to-right, slashing attack. If you move the mouse while clicking the Attack key, you can select other kinds of attacks. Moving the mouse down will cause an overhead swing. Moving the mouse up will cause a thrust attack. Moving the mouse left or right will cause a right-to-left or left-to-right slash, respectively. &lt;br /&gt;
&lt;br /&gt;
AI can parry your swings (unless they are using a dagger), and they will do this more easily if you keep using the same kind of attack, so you will want to mix it up. &lt;br /&gt;
&lt;br /&gt;
The amount of damage you do varies depending on where you hit. Hitting an AI in the head will do more damage than hitting their arm or leg. Armour also plays a factor. Your sword can&#039;t penetrate plate armour, and even chainmail or leather armour will provide the AI some protection.&lt;br /&gt;
&lt;br /&gt;
To block an enemy strike, hold the Parry key.  You must hit the parry key &#039;&#039;after&#039;&#039; the AI starts winding up for their attack.  Too early and the AI will see the block and choose a different attack.  Obviously, you must also be facing the AI...holding up a block while looking off to the side won&#039;t help.&lt;br /&gt;
&lt;br /&gt;
If you are using Manual Parry (select in the Settings menu), you need to select the appropriate block.  If your opponent is making an overhead attack, you must select an overhead block.  Select blocks by moving the mouse while holding the Parry button down, just as you would for an attack.  &lt;br /&gt;
&lt;br /&gt;
If you successfully block an attack or damage your opponent the AI will be temporarily &amp;quot;flat-footed&amp;quot;. They can still attack and defend, but they will not chase you if you turn to run. The effect lasts only a second or two, but that can sometimes be enough time to give you a head start.&lt;br /&gt;
&lt;br /&gt;
The trick to a successful combat is timing. You need to try to anticipate your opponent&#039;s attacks, and then launch counter-attacks before he has a chance to parry.&lt;br /&gt;
&lt;br /&gt;
AI will usually try to flee if they are badly wounded.&lt;br /&gt;
&lt;br /&gt;
{{update|1.07|Different weapons do different amounts of damage when they hit you.  A longsword is one of the most damaging weapons, while short swords do less damage and daggers even less.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; It is possible to hit walls or ceilings instead of your target.  Keep track of how much space is around you when choosing your swing.&lt;br /&gt;
&lt;br /&gt;
== Missile Combat ==&lt;br /&gt;
&lt;br /&gt;
Your broadhead arrows cannot penetrate plate armour, and will do less damage if they hit chain or leather armour.  The best result is to hit unarmoured flesh.  A single arrow to the head will kill a relaxed guard.  Alert guards are assumed to be taking measures to minimize the damage from incoming arrows.  &lt;br /&gt;
&lt;br /&gt;
If you are hit while trying to fire an arrow, your attack will be canceled.&lt;br /&gt;
&lt;br /&gt;
AI will switch to missile combat if they can see you but cannot reach you.  If they don&#039;t have a missile weapon, they will become angry and start throwing things at you.&lt;br /&gt;
 &lt;br /&gt;
AI archers will fire arrows at you.  Some AI are better shots than others.  When you get within melee range of an archer, they will pull out their melee weapon to fight with it instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= AI =&lt;br /&gt;
&lt;br /&gt;
== AI Senses ==&lt;br /&gt;
&lt;br /&gt;
AI can see you if your lightgem is not totally black.  The longer you&#039;re in their field of vision and the closer you are, the more likely they are to notice you and come and investigate.  &lt;br /&gt;
&lt;br /&gt;
Some AI have hoods, eyepatches, or other things that block their field of vision.  These can be exploited by clever thieves. {{red| (1.01) }}&lt;br /&gt;
&lt;br /&gt;
AI can hear your footsteps, and noise that you make from banging into things or dropping objects.  {{update|2.0|They can also hear the sound of falling bodies, so be careful where you knock out opponents.}}&lt;br /&gt;
&lt;br /&gt;
AI can also feel you if you bump into them, or vice versa.&lt;br /&gt;
&lt;br /&gt;
TDM AI are fairly intelligent about searching.  They can identify good hiding spots and will check them out first.&lt;br /&gt;
&lt;br /&gt;
When AI become alert, their senses get slightly better.  A shadow that is sufficient to hide you from a relaxed AI might not be enough for an AI that is alert and actively looking for trouble.&lt;br /&gt;
&lt;br /&gt;
AI do not forget about you after giving up the search.  They remain in an alert state, with heightened senses and their weapons out.&lt;br /&gt;
&lt;br /&gt;
== AI Behaviour ==&lt;br /&gt;
&lt;br /&gt;
AI don&#039;t necessarily patrol the exact same route every time, or stand for the same amount of time at every spot they go to.  Mappers can add as much randomness to the AI as they wish.&lt;br /&gt;
&lt;br /&gt;
AI need to see evidence in order to react to it.  If a bloodstain or missing loot is in shadow, an AI won&#039;t notice it.&lt;br /&gt;
&lt;br /&gt;
AI can react to missing objects, but only if mappers set the objects as noteworthy.&lt;br /&gt;
&lt;br /&gt;
AI become suspicious if they find a weapon lying around.  Finding blood or a body will cause them to go fully alert.&lt;br /&gt;
&lt;br /&gt;
AI can hear broadhead arrow impacts.  If you shoot an arrow and it hits a wall nearby, the AI will notice.  AI will also react to water arrows if you fire them too close (or if you hit an AI with one).  {{update|1.07|AI will notice and be suspicious of arrows that are left sticking into things.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AI do not yet notice moss arrow impacts, broken objects or moss patches.  These things will likely cause minor alerts in the future.&lt;br /&gt;
&lt;br /&gt;
{{update|1.06| AI can notice and comment on lights that have been put out, and may relight ones that the mapper has set as important.  AI will start to become suspicious of an intruder if this happens frequently.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI that see a rope from a rope arrow will walk over to investigate, and will treat it as evidence of an intruder.}}&lt;br /&gt;
&lt;br /&gt;
{{update|1.07| AI can notice important doors (set by mapper) that have been left open, and will start to become suspicious.}}&lt;br /&gt;
&lt;br /&gt;
{{red| AI will turn towards doors that they see opening, and may get suspicious if they don&#039;t see anyone responsible.  (2.00) }} &lt;br /&gt;
&lt;br /&gt;
AI will look for 2s at a door opening in their FOV, unless they’re in combat mode.&lt;br /&gt;
&lt;br /&gt;
An AI will not look at an open door if they were the last one to handle it.&lt;br /&gt;
&lt;br /&gt;
===For an unsuspicious door:===&lt;br /&gt;
&lt;br /&gt;
The door starts to open, stims the AI, but the AI ignores it, because the door is &amp;lt; 20% open. One second later, when the next stim hits him, if the door is &amp;lt; 20% open, he&#039;ll continue to ignore it. Otherwise, he&#039;ll look at the door for 2 seconds.  Non-suspicious doors can be cracked open indefinitely w/o nearby AI noticing.&lt;br /&gt;
&lt;br /&gt;
===For a suspicious door:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allow player to crack open (&amp;lt; 20%) a suspicious door to peek out w/o grabbing the attention of a nearby AI. After 5s, the AI will notice the cracked open door.&lt;br /&gt;
&lt;br /&gt;
When the door is &amp;gt;20%, it stims the AI, and the AI immediately starts to look at it for 2 seconds. 1 to 1.5 seconds after the stim, while looking at the door, if no friendlies are apparent, the AI will bark and walk toward the door and begin his search.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gameplay]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Thief%27s_Den&amp;diff=5499</id>
		<title>Thief&#039;s Den</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Thief%27s_Den&amp;diff=5499"/>
		<updated>2008-01-09T09:31:20Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Thiefsden.jpg|right]] Welcome to this short mission demo of [[The Dark Mod]]. Thief&#039;s Den is just a few rooms but it is a complete, fully playable mission, and includes a good selection of the main Dark Mod features. Keep in mind that The Dark Mod is still a work in progress and this is reflected in the demo. Voices are temporary placeholders, for example, and AI behaviour is not yet fully developed. You will certainly find bugs and glitches but we hope that doesn&#039;t spoil your enjoyment too much.&lt;br /&gt;
&lt;br /&gt;
Any flaws or failings in this demo do not necessarily indicate limitations in The Dark Mod&#039;s potential but just this particular demo--which was originally begun as a very rough accompaniment to a mission development tutorial. It was never intended for release as a playable mission but was modified into a workable game so everyone could see the current state of progress and have some fun.&lt;br /&gt;
&lt;br /&gt;
{{Important|headline=Important|text=Please take your time to read through this page while downloading the package. It will be saving you and us a lot of time.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Download ==&lt;br /&gt;
Choose a download mirror from below. The EXE file just contains a &#039;&#039;&#039;self-extracting 7-zip archive&#039;&#039;&#039;, it&#039;s not a full-fledged installer.&lt;br /&gt;
* &#039;&#039;&#039;7-zip&#039;&#039;&#039; (self-extracting EXE, about 210 MB)&lt;br /&gt;
** FTP&lt;br /&gt;
** Thirdfilms&lt;br /&gt;
Note to Linux users: you should be able to extract the contents from the downloaded EXE after installing the package &#039;&#039;&#039;p7zip&#039;&#039;&#039; - so you don&#039;t need Wine to actually run the executable.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
You&#039;ll need the following to play the Thief&#039;s Den:&lt;br /&gt;
* Windows or Linux&lt;br /&gt;
* A working Doom 3 installation (patched to 1.3.1) - detailed instructions on how to setup Doom 3 for TDM on your end can be found in the [[Installation]] article.&lt;br /&gt;
&lt;br /&gt;
Now proceed with the following steps. This guide assumes that you have Doom 3 installed in C:\games\doom3.&lt;br /&gt;
* Download the file and copy the self-extracting EXE into C:\games\doom3. &lt;br /&gt;
* Run the thiefs_den.exe to let the extraction routine do its job.&lt;br /&gt;
* The extractor will create a &#039;&#039;&#039;thiefs_den&#039;&#039;&#039; folder at this location: &#039;&#039;&#039;C:\games\Doom3\thiefs_den&#039;&#039;&#039;.&lt;br /&gt;
* In the thiefs_den folder is a file called &#039;&#039;&#039;DevIL.dll&#039;&#039;&#039;. You MUST copy this into your WINDOWS\system32 folder.&lt;br /&gt;
* Now you&#039;ll need to create a shortcut to that game:&lt;br /&gt;
** Copy the existing Doom 3 shortcut on your desktop to a new one and rename it to &amp;quot;Thief&#039;s Den&amp;quot;.&lt;br /&gt;
** Right-click, open the properties of that shortcut and edit the command line: It should read &lt;br /&gt;
 C:\games\doom3\DOOM3.exe +set fs_game thiefs_den&lt;br /&gt;
&lt;br /&gt;
* It&#039;s now ready to run but first read the instructions...&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
There will be a detailed information file in the archive. Look in your &#039;&#039;&#039;C:\games\Doom3\thiefs_den&#039;&#039;&#039; folder for README1ST.TXT or similar or pdf file. Read through it before running the game.&lt;br /&gt;
&lt;br /&gt;
Then Run your &amp;quot;Thief&#039;s Den&amp;quot; desktop shortcut. Enjoy it.&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
Of course we&#039;re anxious to hear how you experienced our Thief&#039;s Den Pre-Beta Release. There is a public feedback &amp;amp; discussion thread open in our forums: [http://modetwo.net/darkmod/index.php?showtopic=7082 Pre-Beta Discussion]. Please drop by and let us know what you think.&lt;br /&gt;
{{Important|headline=That being said,|text=don&#039;t rush into the forums and spend hours of writing up detailed bug lists of what&#039;s working and what you think needs fixing. It&#039;s very likely that we are already aware of these problems (yes, we&#039;re playing our game ourselves). We have our own, private bugtracker full of issues to be solved.}}&lt;br /&gt;
&lt;br /&gt;
Crashes and installation help requests are of course something different, feel free to contact us, but be sure to check the FAQ on this page first.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
; Can I use the Demo version of Doom 3?&lt;br /&gt;
: Almost certainly not.&lt;br /&gt;
&lt;br /&gt;
; How can I check whether my Doom 3 is correctly patched?&lt;br /&gt;
: Open Doom 3 and hit Ctrl-Alt-~ (tilde) to open the console. You&#039;ll see the version printed in the lower left corner of the console. It should read &#039;&#039;&#039;1.3.1.1304&#039;&#039;&#039;. If your version is ending on 1302, you&#039;ve got the wrong patch installed.&lt;br /&gt;
&lt;br /&gt;
; Where can I get the right patch?&lt;br /&gt;
: We have the patch hosted on our FTP. Get over to the [[Installation]] page to find a link to it.&lt;br /&gt;
&lt;br /&gt;
; Whats that issue with the 1.3.1 patch?&lt;br /&gt;
: When the 1.3.1 patch was released by Id, they released it a bit to early. Some downloadsites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hasn&#039;t spread yet, didn&#039;t bother to change the version number. However you can still find 1.3.1 patches which are the older version and will not work with the mod. That&#039;s why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn&#039;t work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don&#039;t need to worry about it.&lt;br /&gt;
&lt;br /&gt;
; Does it run in Linux?&lt;br /&gt;
: Yes, Linux is supported. You&#039;ll need to extract the contents from the EXE file above manually, though.&lt;br /&gt;
&lt;br /&gt;
; Does it run in MacOS?&lt;br /&gt;
: No. Or at least not yet. The Doom 3 game itself is supporting MacOS, but The Dark Mod is not (mainly because we don&#039;t have anyone developing on Macs).&lt;br /&gt;
&lt;br /&gt;
== Known Bugs ==&lt;br /&gt;
&lt;br /&gt;
To be filled in before release.&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Thief&#039;s Den]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=4157</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=4157"/>
		<updated>2007-10-02T18:56:33Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Adding handles and other items to doors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ATTENTION! The configuration for door spawnargs are no longer valid and need some&lt;br /&gt;
   modifications, which will be updated shortly. The general setup, described here is&lt;br /&gt;
   ok, only the setup of the spawnargs has been changed. (sparhawk) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This tutorial explains how to put doors into your Dark Mod map using Dark Radiant and adjust them and their properties.&lt;br /&gt;
&lt;br /&gt;
Quick way for the moderately knowledgeable to skip the detail and just get an ordinary unlocked door in your map as fast as possible you need only...&lt;br /&gt;
&lt;br /&gt;
* Create a model door&lt;br /&gt;
* Change it from func_static to atdm:mover_door&lt;br /&gt;
* Create a door handle (must be created &#039;&#039;after&#039;&#039; the door!)&lt;br /&gt;
* Change it from func_static to atdm:mover_door_handle&lt;br /&gt;
* Add the &#039;&#039;door_body&#039;&#039; property to the handle and give it the name of the door&lt;br /&gt;
* To open clockwise change the &#039;&#039;rotate&#039;&#039; property from 0 90 0 to 0 -90 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The rest of this tutorial assumes very little prior knowledge so is suitable for beginners even without Doom editing experience. You need to know:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;entity inspector&#039; is available from the view menu or shortcut key.&lt;br /&gt;
* &#039;orthoview&#039; means any of the xyz top, side, front, grid views&lt;br /&gt;
* Up, down, left, and right in Dark Radiant&#039;s &#039;&#039;top&#039;&#039; orthoview are regarded here as the standard map directions of North, South, East, and West where useful for clarity.&lt;br /&gt;
* Where the term &#039;&#039;brush&#039;&#039; is used with a door it mostly also applies to a door made up of a group of brushes and/or patches.&lt;br /&gt;
* Where the term &#039;&#039;door&#039;&#039; is used it often will also apply to any object you wish to rotate when frobbed, for instance an openable window, box lid, or even more exotic objects that the imaginative mapper might conceive like a signal, engine part, toy, or whatever. So long as it needs to turn or slide just a fixed amount when frobbed then return when frobbed again then the following applies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Door types==&lt;br /&gt;
&lt;br /&gt;
All tangible objects in Dark Mod are &#039;&#039;entities&#039;&#039; having either a pre-made model shape or else brush/patch(es). So there are two ways to create a door in Dark Radiant: as a model door or a textured brush door (or a hybrid of the two.)&lt;br /&gt;
&lt;br /&gt;
Models are ready made door objects but cannot within Dark Radiant (at the time of writing) be resized, rescaled, cropped or clipped whereas brushes are very flexible in that respect and can be worked into custom shapes for your map, including secret doors that blend into walls and other surfaces.&lt;br /&gt;
&lt;br /&gt;
Although many models are already assigned to entities in Dark Radiant&#039;s right click create entity list, all door models are (at the time of writing) in the create models list (under models/darkmod/architecture/doors) and are automatically assigned to static entities by default. So these are immediately useable as static doors or can be quickly made into functioning doors (see later) by re-parenting them to a functioning door entity.&lt;br /&gt;
&lt;br /&gt;
Remember also that door functions may be applied to objects other than doors for instance to openable windows, drawbridges, gates, in fact anything that needs a partial rotation or slide when frobbed then return when frobbed again such as a signal device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Creating a Door==&lt;br /&gt;
&lt;br /&gt;
Put simply, to make a door you will be creating an &#039;entity with model&#039; or &#039;entity with brush&#039; or some variation thereof.&lt;br /&gt;
&lt;br /&gt;
===Creating a Model Door===&lt;br /&gt;
&lt;br /&gt;
There are two approaches to making a model door; the first is simpler for a working door; the second if you just want a static door. But both routes can produce a fully working door.&lt;br /&gt;
&lt;br /&gt;
First approach:&lt;br /&gt;
&lt;br /&gt;
* Create any temporary brush&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door.&lt;br /&gt;
* Left lick the model name line in the entity inspector.&lt;br /&gt;
* Below it on the Entity Inspector panel you should now see a button &#039;Choose Model&#039;&lt;br /&gt;
* Left click it, select a door model from the darkmod group.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* The temporary brush was deleted.&lt;br /&gt;
* You now have a working door with default properties.&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do it the other way round:&lt;br /&gt;
&lt;br /&gt;
* Right click in the orthoview, select Create Model then darkmod and select a door.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* Click OK and you have a static door.&lt;br /&gt;
* If you want to make it work (openable, frobbable) then...&lt;br /&gt;
* Select the entity inspector,&lt;br /&gt;
* Select the top classname line so it highlights&lt;br /&gt;
* Select the func_static line in the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit func_static to atdm:mover_door&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door with default properties&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
===Creating a Textured Brush Door===&lt;br /&gt;
&lt;br /&gt;
The simplest brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip : If unsure of size then you might insert a temporary human AI first to get a sense of height.&lt;br /&gt;
* Drag out a new brush to the size required, eg, a seven foot high door is 84&amp;quot; x 1.1 = about 90 units in Dark Radiant.&lt;br /&gt;
* Give it a door texture from the texture browser (or wall texture for a secret door)&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door&lt;br /&gt;
* You now have a default door that rotates around its centre.&lt;br /&gt;
* To move the rotation point to the door edge and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Multi-brush doors:&lt;br /&gt;
&lt;br /&gt;
More complex multi-brush doors can be created using the clipper tool, CSG, etc. (not covered in this tutorial) and then assign atdm:mover_door for that whole brush structure. Also you can collect various brushes positioned together in relation to one another as needed, select them all, then assign atdm:mover_door for the group. All the brushes will be children of the atdm:mover_door entity and will rotate and be frobbable, etc. as one unit, as one door. To add further brushes or even model shapes later see the section on &#039;&#039;Adding handles and other items to doors&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Customising and Adjusting Door Properties==&lt;br /&gt;
&lt;br /&gt;
Handles, lockplates, etc. can be added to doors and door properties can be adjusted for rotation, sliding, locking, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding handles and other items to doors===&lt;br /&gt;
&lt;br /&gt;
You can add handles and other items to doors such that they move correctly with the door whether rotating, sliding, or both and even if the door is not vertical such as a skylight or trapdoor.&lt;br /&gt;
&lt;br /&gt;
To add a working model door handle (works with both a model door and a brush door):&lt;br /&gt;
* Create a door and a handle (the order no longer matters).&lt;br /&gt;
* Proceed as for &#039;&#039;Creating a Model Door&#039;&#039; above but instead of the entity &#039;&#039;atdm:mover_door&#039;&#039; use &#039;&#039;atdm:mover_door_handle&#039;&#039; and when you choose a model choose a door handle instead of a door.&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* Note down the generated name for the handle entity, or give a usefull name like MyHandle.&lt;br /&gt;
* Select the door the handle should be attached to, add a new property &#039;&#039;door_handle&#039;&#039; and use the name of the handle as it&#039;s value.&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door handle with default properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a brush to a brush door:&lt;br /&gt;
* Select the new brush &#039;&#039;and&#039;&#039; the brush door all together; &#039;&#039;the entity &#039;&#039;&#039;must&#039;&#039;&#039; be selected &#039;&#039;&#039;last&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
* Use Menu &amp;gt; Edit &amp;gt; Reparent primitives. This ensures the parent entity adopts the new item(s).&lt;br /&gt;
* If you have trouble selecting them in the orthoview because other brushes, etc. get selected then try in the camera view or as a last resort move them temporarily to an open area (but keep them in the same positions relative to each other.) Use Shift + Left Click on new item(s) then Shift + Left Click on main entity. Once they are all selected use the Menu &amp;gt; Edit &amp;gt; Parent. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;model&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* Select item&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;entity func_static&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;bind&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;bind&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;brush&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* This method is not ideal but it seems to work OK.&lt;br /&gt;
* Select the brush.&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;atdm:mover_door_handle&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* This brush turns like a handle. To stop it...&lt;br /&gt;
* Adding &#039;&#039;rotate 0 0 0&#039;&#039; or disabling the handle script won&#039;t help.&lt;br /&gt;
* Add a real working handle (as in the section above &#039;&#039;To add a working model door handle...&#039;&#039; and it must be added LAST.)&lt;br /&gt;
* If you don&#039;t want too see a real working handle added maybe try another tiny brush with the handle function and hide it inside the door?&lt;br /&gt;
&lt;br /&gt;
===Locking Doors, Keys and Lockpicks===&lt;br /&gt;
&lt;br /&gt;
To lock a door check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;locked&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unlocked (default)&lt;br /&gt;
1 = locked&lt;br /&gt;
&lt;br /&gt;
If locked it will require an entity that is associated with it to be able to act as a key to unlock it.&lt;br /&gt;
&lt;br /&gt;
To make a door &#039;&#039;lockpickable&#039;&#039; check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;pickable&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unpickable&lt;br /&gt;
1 = pickable (default)&lt;br /&gt;
&lt;br /&gt;
If pickable then the door can be opened with a lockpick.&lt;br /&gt;
&lt;br /&gt;
lock_pins property (WIP - UPDATE LATER) SEE ALSO SOUND SECTION FOR PINS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Open, Partially Open, or Closed Door at Game Start===&lt;br /&gt;
&lt;br /&gt;
By default, doors are closed at game start. If you want a door to be already open or partially open then do the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Rotating Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1 as above.&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
*  scroll down, select &#039;&#039;start_rotate&#039;&#039; then click OK.&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_rotate&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the angle you want in the same form as described in the &#039;&#039;Rotate Direction and Open Angle&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;rotate&#039;&#039; value of 0 90 0 to start only half open you would give it a &#039;&#039;start_rotate&#039;&#039; value of 0 45 0. &lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Sliding Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1&lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder.&lt;br /&gt;
*  scroll down, select &#039;&#039;start_position&#039;&#039; then click OK. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_position&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the position you want in the same form as described in the &#039;&#039;Sliding (Translation) Amount and Direction&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;translate&#039;&#039; value of 0 50 0 to start only half open you would give it a &#039;&#039;start_position&#039;&#039; value of 0 25 0.&lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotation Centre, Pivot, Hinge point===&lt;br /&gt;
&lt;br /&gt;
The centre of rotation of a door is at the origin point of its entity and the door rotates with reference to the orientation of that origin point, not the world map. See &#039;&#039;Rotate Direction...&#039;&#039; for more about that. This section only deals with the &#039;&#039;position&#039;&#039; of the rotation centre in the door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a model door cannot be changed within Dark Radiant. Because a model door rotates around the centre &#039;spine&#039; of its back edge this will cause clipping (penetration into solid) as in this example (where the door is set to open to 89 degrees for clarity):&amp;lt;BR&amp;gt;[[Image:modelClipping.jpg]]&amp;lt;BR&amp;gt; So care is needed with placement. You will not normally position a door right next to a wall as in the example but against a shallow frame so clipping will barely be noticeable but either way it can be fixed. You can correct it by adding a translation (see &#039;&#039;Sliding (Translation) Directions&#039;&#039;) value of half the door width in the direction of the door handle. This will gently move the door out as it rotates to clear any solid on that side as in this diagram:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:DoorClip.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Half a door width will typically be about 2. Any &#039;attachments&#039; such as door handles will still synchronize with the door movement whether the door is rotating, sliding, or both.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brush Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a brush door &#039;&#039;can&#039;&#039; be changed. The default origin point of a brush is at its centre. Therefore a default rotating brush door will rotate around its centre when you first create it. So, mappers will commonly need to move that rotation point to a corner or even to some other offset position for example, for an openable window using the door function.&lt;br /&gt;
&lt;br /&gt;
Put simply, to move the rotation point of a brush door you need to move the entity origin relative to the brush(es.)&lt;br /&gt;
&lt;br /&gt;
Moving the entity origin (centre of rotation) relative to a brush door:&lt;br /&gt;
&lt;br /&gt;
* Select the brush door&lt;br /&gt;
* Select Vertices mode (Default shortcut key is V or button on top toolbar &#039;Select Vertices&#039;)&lt;br /&gt;
* Drag the door&#039;s entity origin to the point where you want the door to rotate. This should be on the corner on the leading edge side (the side to where the door is opening.) to avoid clipping as in this diagram....&lt;br /&gt;
[[Image:getCorner.jpg]]&lt;br /&gt;
* You should now find that door rotates around that point.&lt;br /&gt;
&lt;br /&gt;
===Rotate Direction and Open Angle===&lt;br /&gt;
&lt;br /&gt;
By default, rotating doors open anti-clockwise (viewed from above) by 90 degrees from the start orientation. If you want to change this edit the &#039;&#039;rotate&#039;&#039; property in the entity inspector. Don&#039;t confuse this &#039;&#039;rotate&#039;&#039; property with the &#039;&#039;rotation&#039;&#039; property. In the entity inspector remember that to see the inherited rotate property you must check the box &#039;Show inherited properties&#039;.&lt;br /&gt;
&lt;br /&gt;
The three values shown in the rotate property are degrees from the closed position around Y Z X &#039;&#039;entity origin axes&#039;&#039; (NOT absolute map axes) and so include any start &#039;&#039;rotation&#039;&#039;. So the Z value is the axis vertical to the entity origin. If you tilt a model door over in Dark Radiant then its entity origin tilts too so the Z axis is tilted too (with respect to the world map vertical.) So with a normally opening model door if you lay it flat on its back it will open upwards and not rotate around on the floor. But a brush door must be treated differently...&lt;br /&gt;
&lt;br /&gt;
If you turn a brush door using the normal Dark Radiant rotate tool or the Transform Dialog (accessed via a shortcut key) then it only turns the brush &#039;&#039;relative&#039;&#039; to the entity. So, because the entity origin is by default aligned with the world map then &#039;&#039;in most cases&#039;&#039; you can regard a brush door as rotating with respect to the world map if you wish. But there will be a problem when you come to rotations that are not around the main Y Z X axes of the map, for instance a drawbridge that lowers down to the south east. You might think you can combine Y Z X values to get the result you want - and this can be done (for south east use 45 45 90) but it is a bit of a kludge and the drawbridge twists eccentrically as it lowers (though it arrives correctly!) So for such cases you need to turn the entity itself so its start position is facing south east. You can then just use 0 0 90 to lower the drawbridge perfectly because its Y axis is now pointing south east. To turn the entity you must type or paste the rotation values in directly because using the Dark Radiant rotation tool or Transform Dialog will only turn the brush not the entity. The values are rather lengthy (south east is 0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1) so probably the easiest way is to create a temporary model door, turn it how you want, then select its rotation property. If you now deselect and re-select your brush door then that property will still be in the entity inspector input box and you need only click the check(tick) box to add it to the brush door. NOTE: &#039;&#039;neither the entity nor the brush will show as turned in Dark Radiant.&#039;&#039; Only the rotation property in the entity inspector will indicate the orientation. Instead of a rotated &#039;&#039;construction&#039;&#039;, regard it as a rotation &#039;&#039;instruction&#039;&#039; for when the map is compiled.&lt;br /&gt;
&lt;br /&gt;
These are the rotate property fields. Remember they are all with reference to the door&#039;s entity &#039;&#039;not&#039;&#039; the world map. Since there is no absolute frame of reference I indicate them here as if the entity is aligned with the world map axes...&lt;br /&gt;
&lt;br /&gt;
* Positive Y = Open clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
* Negative Y = Open anti-clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
&lt;br /&gt;
* Positive Z = Open anti-clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
* Negative Z = Open clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
&lt;br /&gt;
* Positive X = Open anti-clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
* Negative X = Open clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
&lt;br /&gt;
The values are in the range -179 to +180. Positive values give an anti-clockwise opening rotation (looking down from above) and negative values give a clockwise opening rotation. The value 180 is unique in that it continues in an anti-clockwise rotation when closing rather than returning clockwise so might be used if you can think of some object that might need such a motion when frobbed!&lt;br /&gt;
&lt;br /&gt;
Edit the rotate value by selecting it and using the input box at the bottom and clicking the check(tick) button. That will change the angle the door will open to. Note that the line with the original default of 0 90 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 0 90 0 = Opens anti-clockwise round the entity&#039;s &#039;vertical&#039; to 90 degrees - typical default vertical door.&lt;br /&gt;
* 0 0 90 = Lowers a drawbridge from the entity &#039;vertical&#039; to horizontal.&lt;br /&gt;
* 0 0 -45 = Opens clockwise by 45 degrees viewed from the east side. This might suit a skylight in a sloping roof.&lt;br /&gt;
&lt;br /&gt;
Combinations can be used and also combined with slide motions (see &#039;&#039;&#039;Sliding (Translation) Directions&#039;&#039;&#039;) to produce exotic and useful motions. A door opening against an upward-sloping floor can thus have a &#039;&#039;lifting hinge&#039;&#039; and raise up slightly to clear the floor; a door can rotate towards you and slide back to one side very effectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sliding (Translation) Amount and Direction===&lt;br /&gt;
&lt;br /&gt;
By default a Dark Mod door will rotate open. For most sliding doors you want to stop them rotating as well as make them slide. You cannot delete (remove) the &#039;&#039;rotate&#039;&#039; property - you have to set the &#039;&#039;rotate&#039;&#039; property to 0 0 0 to stop a door rotating (see &#039;&#039;Rotate Direction and Open Angle&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Now edit the &#039;&#039;translate&#039;&#039; property value by selecting it (remember to have inherited properties box checked) and using the input box at the bottom and clicking the check(tick) button. That will change the distance the door will slide to. Note that the line with the original default of 0 0 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Typically (but not always) you will want your sliding door to slide the width of the door. The three values in the translate property by default are 0 0 0 and are X Y Z &#039;&#039;absolute map&#039;&#039; values (irrespective of door orientation) where...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Positive X = Slide East (Right side of Dark Radiant grid in top view)&lt;br /&gt;
* Negative X = Slide West (Left side of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Y = Slide North (top of Dark Radiant grid in top view)&lt;br /&gt;
* Negative Y = Slide South (bottom of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Z = Slide Up (Top of Dark Radiant grid in side views)&lt;br /&gt;
* Negative Z = Slide Down (Bottom of Dark Radiant grid in side views)&lt;br /&gt;
&lt;br /&gt;
So for a 50 unit wide door you want to slide fully to the east you would use 50 0 0 for the translate property values. A 100 unit portcullis sliding vertically up would need 0 0 100 to be fully raised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sounds and Sound Propagation through Doors and Doorways===&lt;br /&gt;
&lt;br /&gt;
Sound propagation relies on visportals. For details study [[Sound Propagation: Part 1]] and [[Sound Propagation: Part 2]] as well as [[Visportals]] This tutorial will just cover the relevant sound and sound propagation &#039;&#039;properties&#039;&#039; of doors. If you set the &#039;&#039;show inherited properties&#039;&#039; box in the entity inspector you can see them as described here.&lt;br /&gt;
&lt;br /&gt;
The sound of doors opening and closing is set in the snd_open and snd_close properties. You can silence them by setting the following properties as shown:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_open null&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_close null&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t just use a dash - as it seems to cause a sound of its own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_locked&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player tries to open a locked door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_unlock string&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player unlocks a door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through an open door. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_closed&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through a closed door. (default 15dB) You would want to set this very high to block all sound with a thick door but very low for a barred gate for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_double_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through double doors when only one is open. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
There are also various sound properties for lockpicking:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_lockpick_pin_1 through 14&#039;&#039; and &#039;&#039;snd_lockpick_pin_success&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed of Door Opening and Closing===&lt;br /&gt;
&lt;br /&gt;
Rotating Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
At the time of writing, the time a rotating door takes to open or close is set in the &#039;&#039;move_time&#039;&#039; property whatever its maximum open angle. So with rotation set at say 150 degrees the door just opens faster than at say 80 degrees. This is likely to be changed to a constant angular velocity so check to see if there a new property added if the following no longer works. The problem is that if an interruptable (see Extra Notes) door is frobbed while in motion it stops; another frob will reverse the motion - so even if the door is only open a crack it will still take the full time to close and vice versa.&lt;br /&gt;
&lt;br /&gt;
To change the time a rotating door takes to open or close, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;move_time&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the time you want.&lt;br /&gt;
* The time is in seconds and decimal fractions can be used.&lt;br /&gt;
* The default is 1 second and if set to this then the door opens and closes in one second whatever the maximum open angle, great or small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sliding Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
The speed of a sliding door is set in the &#039;&#039;translate_speed&#039;&#039; property. To add this, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;translate_speed&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the speed you want.&lt;br /&gt;
* The speed is in Dark Radiant grid units per second.&lt;br /&gt;
* The default is 0 and if set to this then the door slides open in one second whatever the distance, great or small.&lt;br /&gt;
* CAUTION: If you later change the door back to a rotating door then delete the &#039;&#039;translate_speed&#039;&#039; property or ensure it is set to 0 as (at the time of writing but this will be fixed) a bug makes rotating doors open and close instantly. (Note: you can still mix sliding with rotating but check - this bug might only be if &#039;&#039;translate&#039;&#039; is set to 0 0 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Visportals and Doors===&lt;br /&gt;
&lt;br /&gt;
A visportal face surrounded by solid at its edges and in contact with a door is closed when the door is closed and enabled when the door is open. In most cases you will place a visportal in contact with a working door unless you can see through the door (such as a true glass door or barred gate.) For full details see [[Visportals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
The property &#039;&#039;interruptable&#039;&#039; determines whether a door can be stopped by frobbing while it is opening or closing. So by frobbing then frobbing again, the player can open a door to any position, eg, slightly ajar to peek through.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_open&amp;quot;  is for if you have associated doors for opening then one should serve as master. Presumably for such as double doors opening and closing together. At the time of writing I have not found any further information on this and might not yet be implemented.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_lock&amp;quot;  is like &amp;quot;associate_master_open&#039;&#039; above but for locks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func_darkmod_door&#039;&#039; is no longer used (just in case you come across it in the Dark Mod forums or wiki.) The Doom func_door is still available but for Dark Mod, atdm:mover_door is the entity to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=User:Sparhawk&amp;diff=3695</id>
		<title>User:Sparhawk</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=User:Sparhawk&amp;diff=3695"/>
		<updated>2007-09-07T11:20:36Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: New page: Project lead and lead coder for The Dark Mod.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project lead and lead coder for The Dark Mod.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3680</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3680"/>
		<updated>2007-09-06T08:05:44Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   ATTENTION! The configuration for door spawnargs are no longer valid and need some&lt;br /&gt;
   modifications, which will be updated shortly. The general setup, described here is&lt;br /&gt;
   ok, only the setup of the spawnargs has been changed. (sparhawk) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This tutorial explains how to put doors into your Dark Mod map using Dark Radiant and adjust them and their properties.&lt;br /&gt;
&lt;br /&gt;
Quick way for the moderately knowledgeable to skip the detail and just get an ordinary unlocked door in your map as fast as possible you need only...&lt;br /&gt;
&lt;br /&gt;
* Create a model door&lt;br /&gt;
* Change it from func_static to atdm:mover_door&lt;br /&gt;
* Create a door handle (must be created &#039;&#039;after&#039;&#039; the door!)&lt;br /&gt;
* Change it from func_static to atdm:mover_door_handle&lt;br /&gt;
* Add the &#039;&#039;door_body&#039;&#039; property to the handle and give it the name of the door&lt;br /&gt;
* To open clockwise change the &#039;&#039;rotate&#039;&#039; property from 0 90 0 to 0 -90 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The rest of this tutorial assumes very little prior knowledge so is suitable for beginners even without Doom editing experience. You need to know:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;entity inspector&#039; is available from the view menu or shortcut key.&lt;br /&gt;
* &#039;orthoview&#039; means any of the xyz top, side, front, grid views&lt;br /&gt;
* Up, down, left, and right in Dark Radiant&#039;s &#039;&#039;top&#039;&#039; orthoview are regarded here as the standard map directions of North, South, East, and West where useful for clarity.&lt;br /&gt;
* Where the term &#039;&#039;brush&#039;&#039; is used with a door it mostly also applies to a door made up of a group of brushes and/or patches.&lt;br /&gt;
* Where the term &#039;&#039;door&#039;&#039; is used it often will also apply to any object you wish to rotate when frobbed, for instance an openable window, box lid, or even more exotic objects that the imaginative mapper might conceive like a signal, engine part, toy, or whatever. So long as it needs to turn or slide just a fixed amount when frobbed then return when frobbed again then the following applies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Door types==&lt;br /&gt;
&lt;br /&gt;
All tangible objects in Dark Mod are &#039;&#039;entities&#039;&#039; having either a pre-made model shape or else brush/patch(es). So there are two ways to create a door in Dark Radiant: as a model door or a textured brush door (or a hybrid of the two.)&lt;br /&gt;
&lt;br /&gt;
Models are ready made door objects but cannot within Dark Radiant (at the time of writing) be resized, rescaled, cropped or clipped whereas brushes are very flexible in that respect and can be worked into custom shapes for your map, including secret doors that blend into walls and other surfaces.&lt;br /&gt;
&lt;br /&gt;
Although many models are already assigned to entities in Dark Radiant&#039;s right click create entity list, all door models are (at the time of writing) in the create models list (under models/darkmod/architecture/doors) and are automatically assigned to static entities by default. So these are immediately useable as static doors or can be quickly made into functioning doors (see later) by re-parenting them to a functioning door entity.&lt;br /&gt;
&lt;br /&gt;
Remember also that door functions may be applied to objects other than doors for instance to openable windows, drawbridges, gates, in fact anything that needs a partial rotation or slide when frobbed then return when frobbed again such as a signal device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Creating a Door==&lt;br /&gt;
&lt;br /&gt;
Put simply, to make a door you will be creating an &#039;entity with model&#039; or &#039;entity with brush&#039; or some variation thereof.&lt;br /&gt;
&lt;br /&gt;
===Creating a Model Door===&lt;br /&gt;
&lt;br /&gt;
There are two approaches to making a model door; the first is simpler for a working door; the second if you just want a static door. But both routes can produce a fully working door.&lt;br /&gt;
&lt;br /&gt;
First approach:&lt;br /&gt;
&lt;br /&gt;
* Create any temporary brush&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door.&lt;br /&gt;
* Left lick the model name line in the entity inspector.&lt;br /&gt;
* Below it on the Entity Inspector panel you should now see a button &#039;Choose Model&#039;&lt;br /&gt;
* Left click it, select a door model from the darkmod group.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* The temporary brush was deleted.&lt;br /&gt;
* You now have a working door with default properties.&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do it the other way round:&lt;br /&gt;
&lt;br /&gt;
* Right click in the orthoview, select Create Model then darkmod and select a door.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* Click OK and you have a static door.&lt;br /&gt;
* If you want to make it work (openable, frobbable) then...&lt;br /&gt;
* Select the entity inspector,&lt;br /&gt;
* Select the top classname line so it highlights&lt;br /&gt;
* Select the func_static line in the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit func_static to atdm:mover_door&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door with default properties&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
===Creating a Textured Brush Door===&lt;br /&gt;
&lt;br /&gt;
The simplest brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip : If unsure of size then you might insert a temporary human AI first to get a sense of height.&lt;br /&gt;
* Drag out a new brush to the size required, eg, a seven foot high door is 84&amp;quot; x 1.1 = about 90 units in Dark Radiant.&lt;br /&gt;
* Give it a door texture from the texture browser (or wall texture for a secret door)&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door&lt;br /&gt;
* You now have a default door that rotates around its centre.&lt;br /&gt;
* To move the rotation point to the door edge and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Multi-brush doors:&lt;br /&gt;
&lt;br /&gt;
More complex multi-brush doors can be created using the clipper tool, CSG, etc. (not covered in this tutorial) and then assign atdm:mover_door for that whole brush structure. Also you can collect various brushes positioned together in relation to one another as needed, select them all, then assign atdm:mover_door for the group. All the brushes will be children of the atdm:mover_door entity and will rotate and be frobbable, etc. as one unit, as one door. To add further brushes or even model shapes later see the section on &#039;&#039;Adding handles and other items to doors&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Customising and Adjusting Door Properties==&lt;br /&gt;
&lt;br /&gt;
Handles, lockplates, etc. can be added to doors and door properties can be adjusted for rotation, sliding, locking, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding handles and other items to doors===&lt;br /&gt;
&lt;br /&gt;
You can add handles and other items to doors such that they move correctly with the door whether rotating, sliding, or both and even if the door is not vertical such as a skylight or trapdoor.&lt;br /&gt;
&lt;br /&gt;
To add a working model door handle (works with both a model door and a brush door):&lt;br /&gt;
* Create a door and a handle (the order no longer matters).&lt;br /&gt;
* Proceed as for &#039;&#039;Creating a Model Door&#039;&#039; above but instead of the entity &#039;&#039;atdm:mover_door&#039;&#039; use &#039;&#039;atdm:mover_door_handle&#039;&#039; and when you choose a model choose a door handle instead of a door.&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the handle. To do this...&lt;br /&gt;
* Select the door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the handle&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door handle with default properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a brush to a brush door:&lt;br /&gt;
* Select the new brush &#039;&#039;and&#039;&#039; the brush door all together; &#039;&#039;the entity &#039;&#039;&#039;must&#039;&#039;&#039; be selected &#039;&#039;&#039;last&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
* Use Menu &amp;gt; Edit &amp;gt; Reparent primitives. This ensures the parent entity adopts the new item(s).&lt;br /&gt;
* If you have trouble selecting them in the orthoview because other brushes, etc. get selected then try in the camera view or as a last resort move them temporarily to an open area (but keep them in the same positions relative to each other.) Use Shift + Left Click on new item(s) then Shift + Left Click on main entity. Once they are all selected use the Menu &amp;gt; Edit &amp;gt; Parent. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;model&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* Select item&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;entity func_static&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;bind&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;bind&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;brush&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* This method is not ideal but it seems to work OK.&lt;br /&gt;
* Select the brush.&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;atdm:mover_door_handle&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* This brush turns like a handle. To stop it...&lt;br /&gt;
* Adding &#039;&#039;rotate 0 0 0&#039;&#039; or disabling the handle script won&#039;t help.&lt;br /&gt;
* Add a real working handle (as in the section above &#039;&#039;To add a working model door handle...&#039;&#039; and it must be added LAST.)&lt;br /&gt;
* If you don&#039;t want too see a real working handle added maybe try another tiny brush with the handle function and hide it inside the door?&lt;br /&gt;
&lt;br /&gt;
===Locking Doors, Keys and Lockpicks===&lt;br /&gt;
&lt;br /&gt;
To lock a door check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;locked&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unlocked (default)&lt;br /&gt;
1 = locked&lt;br /&gt;
&lt;br /&gt;
If locked it will require an entity that is associated with it to be able to act as a key to unlock it.&lt;br /&gt;
&lt;br /&gt;
To make a door &#039;&#039;lockpickable&#039;&#039; check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;pickable&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unpickable&lt;br /&gt;
1 = pickable (default)&lt;br /&gt;
&lt;br /&gt;
If pickable then the door can be opened with a lockpick.&lt;br /&gt;
&lt;br /&gt;
lock_pins property (WIP - UPDATE LATER) SEE ALSO SOUND SECTION FOR PINS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Open, Partially Open, or Closed Door at Game Start===&lt;br /&gt;
&lt;br /&gt;
By default, doors are closed at game start. If you want a door to be already open or partially open then do the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Rotating Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1 as above.&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
*  scroll down, select &#039;&#039;start_rotate&#039;&#039; then click OK.&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_rotate&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the angle you want in the same form as described in the &#039;&#039;Rotate Direction and Open Angle&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;rotate&#039;&#039; value of 0 90 0 to start only half open you would give it a &#039;&#039;start_rotate&#039;&#039; value of 0 45 0. &lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Sliding Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1&lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder.&lt;br /&gt;
*  scroll down, select &#039;&#039;start_position&#039;&#039; then click OK. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_position&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the position you want in the same form as described in the &#039;&#039;Sliding (Translation) Amount and Direction&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;translate&#039;&#039; value of 0 50 0 to start only half open you would give it a &#039;&#039;start_position&#039;&#039; value of 0 25 0.&lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotation Centre, Pivot, Hinge point===&lt;br /&gt;
&lt;br /&gt;
The centre of rotation of a door is at the origin point of its entity and the door rotates with reference to the orientation of that origin point, not the world map. See &#039;&#039;Rotate Direction...&#039;&#039; for more about that. This section only deals with the &#039;&#039;position&#039;&#039; of the rotation centre in the door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a model door cannot be changed within Dark Radiant. Because a model door rotates around the centre &#039;spine&#039; of its back edge this will cause clipping (penetration into solid) as in this example (where the door is set to open to 89 degrees for clarity):&amp;lt;BR&amp;gt;[[Image:modelClipping.jpg]]&amp;lt;BR&amp;gt; So care is needed with placement. You will not normally position a door right next to a wall as in the example but against a shallow frame so clipping will barely be noticeable but either way it can be fixed. You can correct it by adding a translation (see &#039;&#039;Sliding (Translation) Directions&#039;&#039;) value of half the door width in the direction of the door handle. This will gently move the door out as it rotates to clear any solid on that side as in this diagram:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:DoorClip.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Half a door width will typically be about 2. Any &#039;attachments&#039; such as door handles will still synchronize with the door movement whether the door is rotating, sliding, or both.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brush Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a brush door &#039;&#039;can&#039;&#039; be changed. The default origin point of a brush is at its centre. Therefore a default rotating brush door will rotate around its centre when you first create it. So, mappers will commonly need to move that rotation point to a corner or even to some other offset position for example, for an openable window using the door function.&lt;br /&gt;
&lt;br /&gt;
Put simply, to move the rotation point of a brush door you need to move the entity origin relative to the brush(es.)&lt;br /&gt;
&lt;br /&gt;
Moving the entity origin (centre of rotation) relative to a brush door:&lt;br /&gt;
&lt;br /&gt;
* Select the brush door&lt;br /&gt;
* Select Vertices mode (Default shortcut key is V or button on top toolbar &#039;Select Vertices&#039;)&lt;br /&gt;
* Drag the door&#039;s entity origin to the point where you want the door to rotate. This should be on the corner on the leading edge side (the side to where the door is opening.) to avoid clipping as in this diagram....&lt;br /&gt;
[[Image:getCorner.jpg]]&lt;br /&gt;
* You should now find that door rotates around that point.&lt;br /&gt;
&lt;br /&gt;
===Rotate Direction and Open Angle===&lt;br /&gt;
&lt;br /&gt;
By default, rotating doors open anti-clockwise (viewed from above) by 90 degrees from the start orientation. If you want to change this edit the &#039;&#039;rotate&#039;&#039; property in the entity inspector. Don&#039;t confuse this &#039;&#039;rotate&#039;&#039; property with the &#039;&#039;rotation&#039;&#039; property. In the entity inspector remember that to see the inherited rotate property you must check the box &#039;Show inherited properties&#039;.&lt;br /&gt;
&lt;br /&gt;
The three values shown in the rotate property are degrees from the closed position around Y Z X &#039;&#039;entity origin axes&#039;&#039; (NOT absolute map axes) and so include any start &#039;&#039;rotation&#039;&#039;. So the Z value is the axis vertical to the entity origin. If you tilt a model door over in Dark Radiant then its entity origin tilts too so the Z axis is tilted too (with respect to the world map vertical.) So with a normally opening model door if you lay it flat on its back it will open upwards and not rotate around on the floor. But a brush door must be treated differently...&lt;br /&gt;
&lt;br /&gt;
If you turn a brush door using the normal Dark Radiant rotate tool or the Transform Dialog (accessed via a shortcut key) then it only turns the brush &#039;&#039;relative&#039;&#039; to the entity. So, because the entity origin is by default aligned with the world map then &#039;&#039;in most cases&#039;&#039; you can regard a brush door as rotating with respect to the world map if you wish. But there will be a problem when you come to rotations that are not around the main Y Z X axes of the map, for instance a drawbridge that lowers down to the south east. You might think you can combine Y Z X values to get the result you want - and this can be done (for south east use 45 45 90) but it is a bit of a kludge and the drawbridge twists eccentrically as it lowers (though it arrives correctly!) So for such cases you need to turn the entity itself so its start position is facing south east. You can then just use 0 0 90 to lower the drawbridge perfectly because its Y axis is now pointing south east. To turn the entity you must type or paste the rotation values in directly because using the Dark Radiant rotation tool or Transform Dialog will only turn the brush not the entity. The values are rather lengthy (south east is 0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1) so probably the easiest way is to create a temporary model door, turn it how you want, then select its rotation property. If you now deselect and re-select your brush door then that property will still be in the entity inspector input box and you need only click the check(tick) box to add it to the brush door. NOTE: &#039;&#039;neither the entity nor the brush will show as turned in Dark Radiant.&#039;&#039; Only the rotation property in the entity inspector will indicate the orientation. Instead of a rotated &#039;&#039;construction&#039;&#039;, regard it as a rotation &#039;&#039;instruction&#039;&#039; for when the map is compiled.&lt;br /&gt;
&lt;br /&gt;
These are the rotate property fields. Remember they are all with reference to the door&#039;s entity &#039;&#039;not&#039;&#039; the world map. Since there is no absolute frame of reference I indicate them here as if the entity is aligned with the world map axes...&lt;br /&gt;
&lt;br /&gt;
* Positive Y = Open clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
* Negative Y = Open anti-clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
&lt;br /&gt;
* Positive Z = Open anti-clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
* Negative Z = Open clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
&lt;br /&gt;
* Positive X = Open anti-clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
* Negative X = Open clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
&lt;br /&gt;
The values are in the range -179 to +180. Positive values give an anti-clockwise opening rotation (looking down from above) and negative values give a clockwise opening rotation. The value 180 is unique in that it continues in an anti-clockwise rotation when closing rather than returning clockwise so might be used if you can think of some object that might need such a motion when frobbed!&lt;br /&gt;
&lt;br /&gt;
Edit the rotate value by selecting it and using the input box at the bottom and clicking the check(tick) button. That will change the angle the door will open to. Note that the line with the original default of 0 90 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 0 90 0 = Opens anti-clockwise round the entity&#039;s &#039;vertical&#039; to 90 degrees - typical default vertical door.&lt;br /&gt;
* 0 0 90 = Lowers a drawbridge from the entity &#039;vertical&#039; to horizontal.&lt;br /&gt;
* 0 0 -45 = Opens clockwise by 45 degrees viewed from the east side. This might suit a skylight in a sloping roof.&lt;br /&gt;
&lt;br /&gt;
Combinations can be used and also combined with slide motions (see &#039;&#039;&#039;Sliding (Translation) Directions&#039;&#039;&#039;) to produce exotic and useful motions. A door opening against an upward-sloping floor can thus have a &#039;&#039;lifting hinge&#039;&#039; and raise up slightly to clear the floor; a door can rotate towards you and slide back to one side very effectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sliding (Translation) Amount and Direction===&lt;br /&gt;
&lt;br /&gt;
By default a Dark Mod door will rotate open. For most sliding doors you want to stop them rotating as well as make them slide. You cannot delete (remove) the &#039;&#039;rotate&#039;&#039; property - you have to set the &#039;&#039;rotate&#039;&#039; property to 0 0 0 to stop a door rotating (see &#039;&#039;Rotate Direction and Open Angle&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Now edit the &#039;&#039;translate&#039;&#039; property value by selecting it (remember to have inherited properties box checked) and using the input box at the bottom and clicking the check(tick) button. That will change the distance the door will slide to. Note that the line with the original default of 0 0 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Typically (but not always) you will want your sliding door to slide the width of the door. The three values in the translate property by default are 0 0 0 and are X Y Z &#039;&#039;absolute map&#039;&#039; values (irrespective of door orientation) where...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Positive X = Slide East (Right side of Dark Radiant grid in top view)&lt;br /&gt;
* Negative X = Slide West (Left side of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Y = Slide North (top of Dark Radiant grid in top view)&lt;br /&gt;
* Negative Y = Slide South (bottom of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Z = Slide Up (Top of Dark Radiant grid in side views)&lt;br /&gt;
* Negative Z = Slide Down (Bottom of Dark Radiant grid in side views)&lt;br /&gt;
&lt;br /&gt;
So for a 50 unit wide door you want to slide fully to the east you would use 50 0 0 for the translate property values. A 100 unit portcullis sliding vertically up would need 0 0 100 to be fully raised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sounds and Sound Propagation through Doors and Doorways===&lt;br /&gt;
&lt;br /&gt;
Sound propagation relies on visportals. For details study [[Sound Propagation: Part 1]] and [[Sound Propagation: Part 2]] as well as [[Visportals]] This tutorial will just cover the relevant sound and sound propagation &#039;&#039;properties&#039;&#039; of doors. If you set the &#039;&#039;show inherited properties&#039;&#039; box in the entity inspector you can see them as described here.&lt;br /&gt;
&lt;br /&gt;
The sound of doors opening and closing is set in the snd_open and snd_close properties. You can silence them by setting the following properties as shown:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_open null&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_close null&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t just use a dash - as it seems to cause a sound of its own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_locked&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player tries to open a locked door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_unlock string&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player unlocks a door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through an open door. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_closed&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through a closed door. (default 15dB) You would want to set this very high to block all sound with a thick door but very low for a barred gate for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_double_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through double doors when only one is open. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
There are also various sound properties for lockpicking:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_lockpick_pin_1 through 14&#039;&#039; and &#039;&#039;snd_lockpick_pin_success&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed of Door Opening and Closing===&lt;br /&gt;
&lt;br /&gt;
Rotating Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
At the time of writing, the time a rotating door takes to open or close is set in the &#039;&#039;move_time&#039;&#039; property whatever its maximum open angle. So with rotation set at say 150 degrees the door just opens faster than at say 80 degrees. This is likely to be changed to a constant angular velocity so check to see if there a new property added if the following no longer works. The problem is that if an interruptable (see Extra Notes) door is frobbed while in motion it stops; another frob will reverse the motion - so even if the door is only open a crack it will still take the full time to close and vice versa.&lt;br /&gt;
&lt;br /&gt;
To change the time a rotating door takes to open or close, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;move_time&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the time you want.&lt;br /&gt;
* The time is in seconds and decimal fractions can be used.&lt;br /&gt;
* The default is 1 second and if set to this then the door opens and closes in one second whatever the maximum open angle, great or small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sliding Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
The speed of a sliding door is set in the &#039;&#039;translate_speed&#039;&#039; property. To add this, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;translate_speed&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the speed you want.&lt;br /&gt;
* The speed is in Dark Radiant grid units per second.&lt;br /&gt;
* The default is 0 and if set to this then the door slides open in one second whatever the distance, great or small.&lt;br /&gt;
* CAUTION: If you later change the door back to a rotating door then delete the &#039;&#039;translate_speed&#039;&#039; property or ensure it is set to 0 as (at the time of writing but this will be fixed) a bug makes rotating doors open and close instantly. (Note: you can still mix sliding with rotating but check - this bug might only be if &#039;&#039;translate&#039;&#039; is set to 0 0 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Visportals and Doors===&lt;br /&gt;
&lt;br /&gt;
A visportal face surrounded by solid at its edges and in contact with a door is closed when the door is closed and enabled when the door is open. In most cases you will place a visportal in contact with a working door unless you can see through the door (such as a true glass door or barred gate.) For full details see [[Visportals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
The property &#039;&#039;interruptable&#039;&#039; determines whether a door can be stopped by frobbing while it is opening or closing.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_open&amp;quot;  is for if you have associated doors for opening then one should serve as master. Presumably for such as double doors opening and closing together. At the time of writing I have not found any further information on this and might not yet be implemented.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_lock&amp;quot;  is like &amp;quot;associate_master_open&#039;&#039; above but for locks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func_darkmod_door&#039;&#039; is no longer used (just in case you come across it in the Dark Mod forums or wiki.) The Doom func_door is still available but for Dark Mod, atdm:mover_door is the entity to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3679</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3679"/>
		<updated>2007-09-06T08:04:26Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Creating a Model Door */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This tutorial explains how to put doors into your Dark Mod map using Dark Radiant and adjust them and their properties.&lt;br /&gt;
&lt;br /&gt;
Quick way for the moderately knowledgeable to skip the detail and just get an ordinary unlocked door in your map as fast as possible you need only...&lt;br /&gt;
&lt;br /&gt;
* Create a model door&lt;br /&gt;
* Change it from func_static to atdm:mover_door&lt;br /&gt;
* Create a door handle (must be created &#039;&#039;after&#039;&#039; the door!)&lt;br /&gt;
* Change it from func_static to atdm:mover_door_handle&lt;br /&gt;
* Add the &#039;&#039;door_body&#039;&#039; property to the handle and give it the name of the door&lt;br /&gt;
* To open clockwise change the &#039;&#039;rotate&#039;&#039; property from 0 90 0 to 0 -90 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The rest of this tutorial assumes very little prior knowledge so is suitable for beginners even without Doom editing experience. You need to know:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;entity inspector&#039; is available from the view menu or shortcut key.&lt;br /&gt;
* &#039;orthoview&#039; means any of the xyz top, side, front, grid views&lt;br /&gt;
* Up, down, left, and right in Dark Radiant&#039;s &#039;&#039;top&#039;&#039; orthoview are regarded here as the standard map directions of North, South, East, and West where useful for clarity.&lt;br /&gt;
* Where the term &#039;&#039;brush&#039;&#039; is used with a door it mostly also applies to a door made up of a group of brushes and/or patches.&lt;br /&gt;
* Where the term &#039;&#039;door&#039;&#039; is used it often will also apply to any object you wish to rotate when frobbed, for instance an openable window, box lid, or even more exotic objects that the imaginative mapper might conceive like a signal, engine part, toy, or whatever. So long as it needs to turn or slide just a fixed amount when frobbed then return when frobbed again then the following applies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Door types==&lt;br /&gt;
&lt;br /&gt;
All tangible objects in Dark Mod are &#039;&#039;entities&#039;&#039; having either a pre-made model shape or else brush/patch(es). So there are two ways to create a door in Dark Radiant: as a model door or a textured brush door (or a hybrid of the two.)&lt;br /&gt;
&lt;br /&gt;
Models are ready made door objects but cannot within Dark Radiant (at the time of writing) be resized, rescaled, cropped or clipped whereas brushes are very flexible in that respect and can be worked into custom shapes for your map, including secret doors that blend into walls and other surfaces.&lt;br /&gt;
&lt;br /&gt;
Although many models are already assigned to entities in Dark Radiant&#039;s right click create entity list, all door models are (at the time of writing) in the create models list (under models/darkmod/architecture/doors) and are automatically assigned to static entities by default. So these are immediately useable as static doors or can be quickly made into functioning doors (see later) by re-parenting them to a functioning door entity.&lt;br /&gt;
&lt;br /&gt;
Remember also that door functions may be applied to objects other than doors for instance to openable windows, drawbridges, gates, in fact anything that needs a partial rotation or slide when frobbed then return when frobbed again such as a signal device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Creating a Door==&lt;br /&gt;
&lt;br /&gt;
Put simply, to make a door you will be creating an &#039;entity with model&#039; or &#039;entity with brush&#039; or some variation thereof.&lt;br /&gt;
&lt;br /&gt;
===Creating a Model Door===&lt;br /&gt;
&lt;br /&gt;
There are two approaches to making a model door; the first is simpler for a working door; the second if you just want a static door. But both routes can produce a fully working door.&lt;br /&gt;
&lt;br /&gt;
First approach:&lt;br /&gt;
&lt;br /&gt;
* Create any temporary brush&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door.&lt;br /&gt;
* Left lick the model name line in the entity inspector.&lt;br /&gt;
* Below it on the Entity Inspector panel you should now see a button &#039;Choose Model&#039;&lt;br /&gt;
* Left click it, select a door model from the darkmod group.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* The temporary brush was deleted.&lt;br /&gt;
* You now have a working door with default properties.&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do it the other way round:&lt;br /&gt;
&lt;br /&gt;
* Right click in the orthoview, select Create Model then darkmod and select a door.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* Click OK and you have a static door.&lt;br /&gt;
* If you want to make it work (openable, frobbable) then...&lt;br /&gt;
* Select the entity inspector,&lt;br /&gt;
* Select the top classname line so it highlights&lt;br /&gt;
* Select the func_static line in the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit func_static to atdm:mover_door&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door with default properties&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
===Creating a Textured Brush Door===&lt;br /&gt;
&lt;br /&gt;
The simplest brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip : If unsure of size then you might insert a temporary human AI first to get a sense of height.&lt;br /&gt;
* Drag out a new brush to the size required, eg, a seven foot high door is 84&amp;quot; x 1.1 = about 90 units in Dark Radiant.&lt;br /&gt;
* Give it a door texture from the texture browser (or wall texture for a secret door)&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door&lt;br /&gt;
* You now have a default door that rotates around its centre.&lt;br /&gt;
* To move the rotation point to the door edge and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Multi-brush doors:&lt;br /&gt;
&lt;br /&gt;
More complex multi-brush doors can be created using the clipper tool, CSG, etc. (not covered in this tutorial) and then assign atdm:mover_door for that whole brush structure. Also you can collect various brushes positioned together in relation to one another as needed, select them all, then assign atdm:mover_door for the group. All the brushes will be children of the atdm:mover_door entity and will rotate and be frobbable, etc. as one unit, as one door. To add further brushes or even model shapes later see the section on &#039;&#039;Adding handles and other items to doors&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Customising and Adjusting Door Properties==&lt;br /&gt;
&lt;br /&gt;
Handles, lockplates, etc. can be added to doors and door properties can be adjusted for rotation, sliding, locking, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding handles and other items to doors===&lt;br /&gt;
&lt;br /&gt;
You can add handles and other items to doors such that they move correctly with the door whether rotating, sliding, or both and even if the door is not vertical such as a skylight or trapdoor.&lt;br /&gt;
&lt;br /&gt;
To add a working model door handle (works with both a model door and a brush door):&lt;br /&gt;
* Create a door and a handle (the order no longer matters).&lt;br /&gt;
* Proceed as for &#039;&#039;Creating a Model Door&#039;&#039; above but instead of the entity &#039;&#039;atdm:mover_door&#039;&#039; use &#039;&#039;atdm:mover_door_handle&#039;&#039; and when you choose a model choose a door handle instead of a door.&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the handle. To do this...&lt;br /&gt;
* Select the door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the handle&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door handle with default properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a brush to a brush door:&lt;br /&gt;
* Select the new brush &#039;&#039;and&#039;&#039; the brush door all together; &#039;&#039;the entity &#039;&#039;&#039;must&#039;&#039;&#039; be selected &#039;&#039;&#039;last&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
* Use Menu &amp;gt; Edit &amp;gt; Reparent primitives. This ensures the parent entity adopts the new item(s).&lt;br /&gt;
* If you have trouble selecting them in the orthoview because other brushes, etc. get selected then try in the camera view or as a last resort move them temporarily to an open area (but keep them in the same positions relative to each other.) Use Shift + Left Click on new item(s) then Shift + Left Click on main entity. Once they are all selected use the Menu &amp;gt; Edit &amp;gt; Parent. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;model&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* Select item&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;entity func_static&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;bind&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;bind&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;brush&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* This method is not ideal but it seems to work OK.&lt;br /&gt;
* Select the brush.&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;atdm:mover_door_handle&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* This brush turns like a handle. To stop it...&lt;br /&gt;
* Adding &#039;&#039;rotate 0 0 0&#039;&#039; or disabling the handle script won&#039;t help.&lt;br /&gt;
* Add a real working handle (as in the section above &#039;&#039;To add a working model door handle...&#039;&#039; and it must be added LAST.)&lt;br /&gt;
* If you don&#039;t want too see a real working handle added maybe try another tiny brush with the handle function and hide it inside the door?&lt;br /&gt;
&lt;br /&gt;
===Locking Doors, Keys and Lockpicks===&lt;br /&gt;
&lt;br /&gt;
To lock a door check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;locked&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unlocked (default)&lt;br /&gt;
1 = locked&lt;br /&gt;
&lt;br /&gt;
If locked it will require an entity that is associated with it to be able to act as a key to unlock it.&lt;br /&gt;
&lt;br /&gt;
To make a door &#039;&#039;lockpickable&#039;&#039; check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;pickable&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unpickable&lt;br /&gt;
1 = pickable (default)&lt;br /&gt;
&lt;br /&gt;
If pickable then the door can be opened with a lockpick.&lt;br /&gt;
&lt;br /&gt;
lock_pins property (WIP - UPDATE LATER) SEE ALSO SOUND SECTION FOR PINS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Open, Partially Open, or Closed Door at Game Start===&lt;br /&gt;
&lt;br /&gt;
By default, doors are closed at game start. If you want a door to be already open or partially open then do the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Rotating Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1 as above.&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
*  scroll down, select &#039;&#039;start_rotate&#039;&#039; then click OK.&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_rotate&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the angle you want in the same form as described in the &#039;&#039;Rotate Direction and Open Angle&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;rotate&#039;&#039; value of 0 90 0 to start only half open you would give it a &#039;&#039;start_rotate&#039;&#039; value of 0 45 0. &lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Sliding Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1&lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder.&lt;br /&gt;
*  scroll down, select &#039;&#039;start_position&#039;&#039; then click OK. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_position&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the position you want in the same form as described in the &#039;&#039;Sliding (Translation) Amount and Direction&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;translate&#039;&#039; value of 0 50 0 to start only half open you would give it a &#039;&#039;start_position&#039;&#039; value of 0 25 0.&lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotation Centre, Pivot, Hinge point===&lt;br /&gt;
&lt;br /&gt;
The centre of rotation of a door is at the origin point of its entity and the door rotates with reference to the orientation of that origin point, not the world map. See &#039;&#039;Rotate Direction...&#039;&#039; for more about that. This section only deals with the &#039;&#039;position&#039;&#039; of the rotation centre in the door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a model door cannot be changed within Dark Radiant. Because a model door rotates around the centre &#039;spine&#039; of its back edge this will cause clipping (penetration into solid) as in this example (where the door is set to open to 89 degrees for clarity):&amp;lt;BR&amp;gt;[[Image:modelClipping.jpg]]&amp;lt;BR&amp;gt; So care is needed with placement. You will not normally position a door right next to a wall as in the example but against a shallow frame so clipping will barely be noticeable but either way it can be fixed. You can correct it by adding a translation (see &#039;&#039;Sliding (Translation) Directions&#039;&#039;) value of half the door width in the direction of the door handle. This will gently move the door out as it rotates to clear any solid on that side as in this diagram:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:DoorClip.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Half a door width will typically be about 2. Any &#039;attachments&#039; such as door handles will still synchronize with the door movement whether the door is rotating, sliding, or both.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brush Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a brush door &#039;&#039;can&#039;&#039; be changed. The default origin point of a brush is at its centre. Therefore a default rotating brush door will rotate around its centre when you first create it. So, mappers will commonly need to move that rotation point to a corner or even to some other offset position for example, for an openable window using the door function.&lt;br /&gt;
&lt;br /&gt;
Put simply, to move the rotation point of a brush door you need to move the entity origin relative to the brush(es.)&lt;br /&gt;
&lt;br /&gt;
Moving the entity origin (centre of rotation) relative to a brush door:&lt;br /&gt;
&lt;br /&gt;
* Select the brush door&lt;br /&gt;
* Select Vertices mode (Default shortcut key is V or button on top toolbar &#039;Select Vertices&#039;)&lt;br /&gt;
* Drag the door&#039;s entity origin to the point where you want the door to rotate. This should be on the corner on the leading edge side (the side to where the door is opening.) to avoid clipping as in this diagram....&lt;br /&gt;
[[Image:getCorner.jpg]]&lt;br /&gt;
* You should now find that door rotates around that point.&lt;br /&gt;
&lt;br /&gt;
===Rotate Direction and Open Angle===&lt;br /&gt;
&lt;br /&gt;
By default, rotating doors open anti-clockwise (viewed from above) by 90 degrees from the start orientation. If you want to change this edit the &#039;&#039;rotate&#039;&#039; property in the entity inspector. Don&#039;t confuse this &#039;&#039;rotate&#039;&#039; property with the &#039;&#039;rotation&#039;&#039; property. In the entity inspector remember that to see the inherited rotate property you must check the box &#039;Show inherited properties&#039;.&lt;br /&gt;
&lt;br /&gt;
The three values shown in the rotate property are degrees from the closed position around Y Z X &#039;&#039;entity origin axes&#039;&#039; (NOT absolute map axes) and so include any start &#039;&#039;rotation&#039;&#039;. So the Z value is the axis vertical to the entity origin. If you tilt a model door over in Dark Radiant then its entity origin tilts too so the Z axis is tilted too (with respect to the world map vertical.) So with a normally opening model door if you lay it flat on its back it will open upwards and not rotate around on the floor. But a brush door must be treated differently...&lt;br /&gt;
&lt;br /&gt;
If you turn a brush door using the normal Dark Radiant rotate tool or the Transform Dialog (accessed via a shortcut key) then it only turns the brush &#039;&#039;relative&#039;&#039; to the entity. So, because the entity origin is by default aligned with the world map then &#039;&#039;in most cases&#039;&#039; you can regard a brush door as rotating with respect to the world map if you wish. But there will be a problem when you come to rotations that are not around the main Y Z X axes of the map, for instance a drawbridge that lowers down to the south east. You might think you can combine Y Z X values to get the result you want - and this can be done (for south east use 45 45 90) but it is a bit of a kludge and the drawbridge twists eccentrically as it lowers (though it arrives correctly!) So for such cases you need to turn the entity itself so its start position is facing south east. You can then just use 0 0 90 to lower the drawbridge perfectly because its Y axis is now pointing south east. To turn the entity you must type or paste the rotation values in directly because using the Dark Radiant rotation tool or Transform Dialog will only turn the brush not the entity. The values are rather lengthy (south east is 0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1) so probably the easiest way is to create a temporary model door, turn it how you want, then select its rotation property. If you now deselect and re-select your brush door then that property will still be in the entity inspector input box and you need only click the check(tick) box to add it to the brush door. NOTE: &#039;&#039;neither the entity nor the brush will show as turned in Dark Radiant.&#039;&#039; Only the rotation property in the entity inspector will indicate the orientation. Instead of a rotated &#039;&#039;construction&#039;&#039;, regard it as a rotation &#039;&#039;instruction&#039;&#039; for when the map is compiled.&lt;br /&gt;
&lt;br /&gt;
These are the rotate property fields. Remember they are all with reference to the door&#039;s entity &#039;&#039;not&#039;&#039; the world map. Since there is no absolute frame of reference I indicate them here as if the entity is aligned with the world map axes...&lt;br /&gt;
&lt;br /&gt;
* Positive Y = Open clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
* Negative Y = Open anti-clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
&lt;br /&gt;
* Positive Z = Open anti-clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
* Negative Z = Open clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
&lt;br /&gt;
* Positive X = Open anti-clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
* Negative X = Open clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
&lt;br /&gt;
The values are in the range -179 to +180. Positive values give an anti-clockwise opening rotation (looking down from above) and negative values give a clockwise opening rotation. The value 180 is unique in that it continues in an anti-clockwise rotation when closing rather than returning clockwise so might be used if you can think of some object that might need such a motion when frobbed!&lt;br /&gt;
&lt;br /&gt;
Edit the rotate value by selecting it and using the input box at the bottom and clicking the check(tick) button. That will change the angle the door will open to. Note that the line with the original default of 0 90 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 0 90 0 = Opens anti-clockwise round the entity&#039;s &#039;vertical&#039; to 90 degrees - typical default vertical door.&lt;br /&gt;
* 0 0 90 = Lowers a drawbridge from the entity &#039;vertical&#039; to horizontal.&lt;br /&gt;
* 0 0 -45 = Opens clockwise by 45 degrees viewed from the east side. This might suit a skylight in a sloping roof.&lt;br /&gt;
&lt;br /&gt;
Combinations can be used and also combined with slide motions (see &#039;&#039;&#039;Sliding (Translation) Directions&#039;&#039;&#039;) to produce exotic and useful motions. A door opening against an upward-sloping floor can thus have a &#039;&#039;lifting hinge&#039;&#039; and raise up slightly to clear the floor; a door can rotate towards you and slide back to one side very effectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sliding (Translation) Amount and Direction===&lt;br /&gt;
&lt;br /&gt;
By default a Dark Mod door will rotate open. For most sliding doors you want to stop them rotating as well as make them slide. You cannot delete (remove) the &#039;&#039;rotate&#039;&#039; property - you have to set the &#039;&#039;rotate&#039;&#039; property to 0 0 0 to stop a door rotating (see &#039;&#039;Rotate Direction and Open Angle&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Now edit the &#039;&#039;translate&#039;&#039; property value by selecting it (remember to have inherited properties box checked) and using the input box at the bottom and clicking the check(tick) button. That will change the distance the door will slide to. Note that the line with the original default of 0 0 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Typically (but not always) you will want your sliding door to slide the width of the door. The three values in the translate property by default are 0 0 0 and are X Y Z &#039;&#039;absolute map&#039;&#039; values (irrespective of door orientation) where...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Positive X = Slide East (Right side of Dark Radiant grid in top view)&lt;br /&gt;
* Negative X = Slide West (Left side of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Y = Slide North (top of Dark Radiant grid in top view)&lt;br /&gt;
* Negative Y = Slide South (bottom of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Z = Slide Up (Top of Dark Radiant grid in side views)&lt;br /&gt;
* Negative Z = Slide Down (Bottom of Dark Radiant grid in side views)&lt;br /&gt;
&lt;br /&gt;
So for a 50 unit wide door you want to slide fully to the east you would use 50 0 0 for the translate property values. A 100 unit portcullis sliding vertically up would need 0 0 100 to be fully raised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sounds and Sound Propagation through Doors and Doorways===&lt;br /&gt;
&lt;br /&gt;
Sound propagation relies on visportals. For details study [[Sound Propagation: Part 1]] and [[Sound Propagation: Part 2]] as well as [[Visportals]] This tutorial will just cover the relevant sound and sound propagation &#039;&#039;properties&#039;&#039; of doors. If you set the &#039;&#039;show inherited properties&#039;&#039; box in the entity inspector you can see them as described here.&lt;br /&gt;
&lt;br /&gt;
The sound of doors opening and closing is set in the snd_open and snd_close properties. You can silence them by setting the following properties as shown:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_open null&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_close null&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t just use a dash - as it seems to cause a sound of its own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_locked&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player tries to open a locked door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_unlock string&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player unlocks a door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through an open door. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_closed&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through a closed door. (default 15dB) You would want to set this very high to block all sound with a thick door but very low for a barred gate for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_double_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through double doors when only one is open. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
There are also various sound properties for lockpicking:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_lockpick_pin_1 through 14&#039;&#039; and &#039;&#039;snd_lockpick_pin_success&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed of Door Opening and Closing===&lt;br /&gt;
&lt;br /&gt;
Rotating Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
At the time of writing, the time a rotating door takes to open or close is set in the &#039;&#039;move_time&#039;&#039; property whatever its maximum open angle. So with rotation set at say 150 degrees the door just opens faster than at say 80 degrees. This is likely to be changed to a constant angular velocity so check to see if there a new property added if the following no longer works. The problem is that if an interruptable (see Extra Notes) door is frobbed while in motion it stops; another frob will reverse the motion - so even if the door is only open a crack it will still take the full time to close and vice versa.&lt;br /&gt;
&lt;br /&gt;
To change the time a rotating door takes to open or close, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;move_time&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the time you want.&lt;br /&gt;
* The time is in seconds and decimal fractions can be used.&lt;br /&gt;
* The default is 1 second and if set to this then the door opens and closes in one second whatever the maximum open angle, great or small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sliding Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
The speed of a sliding door is set in the &#039;&#039;translate_speed&#039;&#039; property. To add this, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;translate_speed&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the speed you want.&lt;br /&gt;
* The speed is in Dark Radiant grid units per second.&lt;br /&gt;
* The default is 0 and if set to this then the door slides open in one second whatever the distance, great or small.&lt;br /&gt;
* CAUTION: If you later change the door back to a rotating door then delete the &#039;&#039;translate_speed&#039;&#039; property or ensure it is set to 0 as (at the time of writing but this will be fixed) a bug makes rotating doors open and close instantly. (Note: you can still mix sliding with rotating but check - this bug might only be if &#039;&#039;translate&#039;&#039; is set to 0 0 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Visportals and Doors===&lt;br /&gt;
&lt;br /&gt;
A visportal face surrounded by solid at its edges and in contact with a door is closed when the door is closed and enabled when the door is open. In most cases you will place a visportal in contact with a working door unless you can see through the door (such as a true glass door or barred gate.) For full details see [[Visportals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
The property &#039;&#039;interruptable&#039;&#039; determines whether a door can be stopped by frobbing while it is opening or closing.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_open&amp;quot;  is for if you have associated doors for opening then one should serve as master. Presumably for such as double doors opening and closing together. At the time of writing I have not found any further information on this and might not yet be implemented.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_lock&amp;quot;  is like &amp;quot;associate_master_open&#039;&#039; above but for locks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func_darkmod_door&#039;&#039; is no longer used (just in case you come across it in the Dark Mod forums or wiki.) The Doom func_door is still available but for Dark Mod, atdm:mover_door is the entity to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3678</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=3678"/>
		<updated>2007-09-06T08:04:08Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Creating a Model Door */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This tutorial explains how to put doors into your Dark Mod map using Dark Radiant and adjust them and their properties.&lt;br /&gt;
&lt;br /&gt;
Quick way for the moderately knowledgeable to skip the detail and just get an ordinary unlocked door in your map as fast as possible you need only...&lt;br /&gt;
&lt;br /&gt;
* Create a model door&lt;br /&gt;
* Change it from func_static to atdm:mover_door&lt;br /&gt;
* Create a door handle (must be created &#039;&#039;after&#039;&#039; the door!)&lt;br /&gt;
* Change it from func_static to atdm:mover_door_handle&lt;br /&gt;
* Add the &#039;&#039;door_body&#039;&#039; property to the handle and give it the name of the door&lt;br /&gt;
* To open clockwise change the &#039;&#039;rotate&#039;&#039; property from 0 90 0 to 0 -90 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The rest of this tutorial assumes very little prior knowledge so is suitable for beginners even without Doom editing experience. You need to know:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;entity inspector&#039; is available from the view menu or shortcut key.&lt;br /&gt;
* &#039;orthoview&#039; means any of the xyz top, side, front, grid views&lt;br /&gt;
* Up, down, left, and right in Dark Radiant&#039;s &#039;&#039;top&#039;&#039; orthoview are regarded here as the standard map directions of North, South, East, and West where useful for clarity.&lt;br /&gt;
* Where the term &#039;&#039;brush&#039;&#039; is used with a door it mostly also applies to a door made up of a group of brushes and/or patches.&lt;br /&gt;
* Where the term &#039;&#039;door&#039;&#039; is used it often will also apply to any object you wish to rotate when frobbed, for instance an openable window, box lid, or even more exotic objects that the imaginative mapper might conceive like a signal, engine part, toy, or whatever. So long as it needs to turn or slide just a fixed amount when frobbed then return when frobbed again then the following applies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Door types==&lt;br /&gt;
&lt;br /&gt;
All tangible objects in Dark Mod are &#039;&#039;entities&#039;&#039; having either a pre-made model shape or else brush/patch(es). So there are two ways to create a door in Dark Radiant: as a model door or a textured brush door (or a hybrid of the two.)&lt;br /&gt;
&lt;br /&gt;
Models are ready made door objects but cannot within Dark Radiant (at the time of writing) be resized, rescaled, cropped or clipped whereas brushes are very flexible in that respect and can be worked into custom shapes for your map, including secret doors that blend into walls and other surfaces.&lt;br /&gt;
&lt;br /&gt;
Although many models are already assigned to entities in Dark Radiant&#039;s right click create entity list, all door models are (at the time of writing) in the create models list (under models/darkmod/architecture/doors) and are automatically assigned to static entities by default. So these are immediately useable as static doors or can be quickly made into functioning doors (see later) by re-parenting them to a functioning door entity.&lt;br /&gt;
&lt;br /&gt;
Remember also that door functions may be applied to objects other than doors for instance to openable windows, drawbridges, gates, in fact anything that needs a partial rotation or slide when frobbed then return when frobbed again such as a signal device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Creating a Door==&lt;br /&gt;
&lt;br /&gt;
Put simply, to make a door you will be creating an &#039;entity with model&#039; or &#039;entity with brush&#039; or some variation thereof.&lt;br /&gt;
&lt;br /&gt;
===Creating a Model Door===&lt;br /&gt;
&lt;br /&gt;
ATTENTION! These steps are no lopnger valid and need some modifications, which will be updated shortly. (sparhawk)&lt;br /&gt;
&lt;br /&gt;
There are two approaches to making a model door; the first is simpler for a working door; the second if you just want a static door. But both routes can produce a fully working door.&lt;br /&gt;
&lt;br /&gt;
First approach:&lt;br /&gt;
&lt;br /&gt;
* Create any temporary brush&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door.&lt;br /&gt;
* Left lick the model name line in the entity inspector.&lt;br /&gt;
* Below it on the Entity Inspector panel you should now see a button &#039;Choose Model&#039;&lt;br /&gt;
* Left click it, select a door model from the darkmod group.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* The temporary brush was deleted.&lt;br /&gt;
* You now have a working door with default properties.&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do it the other way round:&lt;br /&gt;
&lt;br /&gt;
* Right click in the orthoview, select Create Model then darkmod and select a door.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* Click OK and you have a static door.&lt;br /&gt;
* If you want to make it work (openable, frobbable) then...&lt;br /&gt;
* Select the entity inspector,&lt;br /&gt;
* Select the top classname line so it highlights&lt;br /&gt;
* Select the func_static line in the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit func_static to atdm:mover_door&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door with default properties&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
===Creating a Textured Brush Door===&lt;br /&gt;
&lt;br /&gt;
The simplest brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip : If unsure of size then you might insert a temporary human AI first to get a sense of height.&lt;br /&gt;
* Drag out a new brush to the size required, eg, a seven foot high door is 84&amp;quot; x 1.1 = about 90 units in Dark Radiant.&lt;br /&gt;
* Give it a door texture from the texture browser (or wall texture for a secret door)&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door&lt;br /&gt;
* You now have a default door that rotates around its centre.&lt;br /&gt;
* To move the rotation point to the door edge and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Multi-brush doors:&lt;br /&gt;
&lt;br /&gt;
More complex multi-brush doors can be created using the clipper tool, CSG, etc. (not covered in this tutorial) and then assign atdm:mover_door for that whole brush structure. Also you can collect various brushes positioned together in relation to one another as needed, select them all, then assign atdm:mover_door for the group. All the brushes will be children of the atdm:mover_door entity and will rotate and be frobbable, etc. as one unit, as one door. To add further brushes or even model shapes later see the section on &#039;&#039;Adding handles and other items to doors&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Customising and Adjusting Door Properties==&lt;br /&gt;
&lt;br /&gt;
Handles, lockplates, etc. can be added to doors and door properties can be adjusted for rotation, sliding, locking, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding handles and other items to doors===&lt;br /&gt;
&lt;br /&gt;
You can add handles and other items to doors such that they move correctly with the door whether rotating, sliding, or both and even if the door is not vertical such as a skylight or trapdoor.&lt;br /&gt;
&lt;br /&gt;
To add a working model door handle (works with both a model door and a brush door):&lt;br /&gt;
* Create a door and a handle (the order no longer matters).&lt;br /&gt;
* Proceed as for &#039;&#039;Creating a Model Door&#039;&#039; above but instead of the entity &#039;&#039;atdm:mover_door&#039;&#039; use &#039;&#039;atdm:mover_door_handle&#039;&#039; and when you choose a model choose a door handle instead of a door.&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the handle. To do this...&lt;br /&gt;
* Select the door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the handle&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door handle with default properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a brush to a brush door:&lt;br /&gt;
* Select the new brush &#039;&#039;and&#039;&#039; the brush door all together; &#039;&#039;the entity &#039;&#039;&#039;must&#039;&#039;&#039; be selected &#039;&#039;&#039;last&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
* Use Menu &amp;gt; Edit &amp;gt; Reparent primitives. This ensures the parent entity adopts the new item(s).&lt;br /&gt;
* If you have trouble selecting them in the orthoview because other brushes, etc. get selected then try in the camera view or as a last resort move them temporarily to an open area (but keep them in the same positions relative to each other.) Use Shift + Left Click on new item(s) then Shift + Left Click on main entity. Once they are all selected use the Menu &amp;gt; Edit &amp;gt; Parent. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;model&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* Select item&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;entity func_static&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;bind&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;bind&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;brush&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* This method is not ideal but it seems to work OK.&lt;br /&gt;
* Select the brush.&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;atdm:mover_door_handle&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* This brush turns like a handle. To stop it...&lt;br /&gt;
* Adding &#039;&#039;rotate 0 0 0&#039;&#039; or disabling the handle script won&#039;t help.&lt;br /&gt;
* Add a real working handle (as in the section above &#039;&#039;To add a working model door handle...&#039;&#039; and it must be added LAST.)&lt;br /&gt;
* If you don&#039;t want too see a real working handle added maybe try another tiny brush with the handle function and hide it inside the door?&lt;br /&gt;
&lt;br /&gt;
===Locking Doors, Keys and Lockpicks===&lt;br /&gt;
&lt;br /&gt;
To lock a door check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;locked&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unlocked (default)&lt;br /&gt;
1 = locked&lt;br /&gt;
&lt;br /&gt;
If locked it will require an entity that is associated with it to be able to act as a key to unlock it.&lt;br /&gt;
&lt;br /&gt;
To make a door &#039;&#039;lockpickable&#039;&#039; check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;pickable&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unpickable&lt;br /&gt;
1 = pickable (default)&lt;br /&gt;
&lt;br /&gt;
If pickable then the door can be opened with a lockpick.&lt;br /&gt;
&lt;br /&gt;
lock_pins property (WIP - UPDATE LATER) SEE ALSO SOUND SECTION FOR PINS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Open, Partially Open, or Closed Door at Game Start===&lt;br /&gt;
&lt;br /&gt;
By default, doors are closed at game start. If you want a door to be already open or partially open then do the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Rotating Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1 as above.&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
*  scroll down, select &#039;&#039;start_rotate&#039;&#039; then click OK.&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_rotate&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the angle you want in the same form as described in the &#039;&#039;Rotate Direction and Open Angle&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;rotate&#039;&#039; value of 0 90 0 to start only half open you would give it a &#039;&#039;start_rotate&#039;&#039; value of 0 45 0. &lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Sliding Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1&lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder.&lt;br /&gt;
*  scroll down, select &#039;&#039;start_position&#039;&#039; then click OK. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_position&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the position you want in the same form as described in the &#039;&#039;Sliding (Translation) Amount and Direction&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;translate&#039;&#039; value of 0 50 0 to start only half open you would give it a &#039;&#039;start_position&#039;&#039; value of 0 25 0.&lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotation Centre, Pivot, Hinge point===&lt;br /&gt;
&lt;br /&gt;
The centre of rotation of a door is at the origin point of its entity and the door rotates with reference to the orientation of that origin point, not the world map. See &#039;&#039;Rotate Direction...&#039;&#039; for more about that. This section only deals with the &#039;&#039;position&#039;&#039; of the rotation centre in the door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a model door cannot be changed within Dark Radiant. Because a model door rotates around the centre &#039;spine&#039; of its back edge this will cause clipping (penetration into solid) as in this example (where the door is set to open to 89 degrees for clarity):&amp;lt;BR&amp;gt;[[Image:modelClipping.jpg]]&amp;lt;BR&amp;gt; So care is needed with placement. You will not normally position a door right next to a wall as in the example but against a shallow frame so clipping will barely be noticeable but either way it can be fixed. You can correct it by adding a translation (see &#039;&#039;Sliding (Translation) Directions&#039;&#039;) value of half the door width in the direction of the door handle. This will gently move the door out as it rotates to clear any solid on that side as in this diagram:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:DoorClip.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Half a door width will typically be about 2. Any &#039;attachments&#039; such as door handles will still synchronize with the door movement whether the door is rotating, sliding, or both.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brush Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a brush door &#039;&#039;can&#039;&#039; be changed. The default origin point of a brush is at its centre. Therefore a default rotating brush door will rotate around its centre when you first create it. So, mappers will commonly need to move that rotation point to a corner or even to some other offset position for example, for an openable window using the door function.&lt;br /&gt;
&lt;br /&gt;
Put simply, to move the rotation point of a brush door you need to move the entity origin relative to the brush(es.)&lt;br /&gt;
&lt;br /&gt;
Moving the entity origin (centre of rotation) relative to a brush door:&lt;br /&gt;
&lt;br /&gt;
* Select the brush door&lt;br /&gt;
* Select Vertices mode (Default shortcut key is V or button on top toolbar &#039;Select Vertices&#039;)&lt;br /&gt;
* Drag the door&#039;s entity origin to the point where you want the door to rotate. This should be on the corner on the leading edge side (the side to where the door is opening.) to avoid clipping as in this diagram....&lt;br /&gt;
[[Image:getCorner.jpg]]&lt;br /&gt;
* You should now find that door rotates around that point.&lt;br /&gt;
&lt;br /&gt;
===Rotate Direction and Open Angle===&lt;br /&gt;
&lt;br /&gt;
By default, rotating doors open anti-clockwise (viewed from above) by 90 degrees from the start orientation. If you want to change this edit the &#039;&#039;rotate&#039;&#039; property in the entity inspector. Don&#039;t confuse this &#039;&#039;rotate&#039;&#039; property with the &#039;&#039;rotation&#039;&#039; property. In the entity inspector remember that to see the inherited rotate property you must check the box &#039;Show inherited properties&#039;.&lt;br /&gt;
&lt;br /&gt;
The three values shown in the rotate property are degrees from the closed position around Y Z X &#039;&#039;entity origin axes&#039;&#039; (NOT absolute map axes) and so include any start &#039;&#039;rotation&#039;&#039;. So the Z value is the axis vertical to the entity origin. If you tilt a model door over in Dark Radiant then its entity origin tilts too so the Z axis is tilted too (with respect to the world map vertical.) So with a normally opening model door if you lay it flat on its back it will open upwards and not rotate around on the floor. But a brush door must be treated differently...&lt;br /&gt;
&lt;br /&gt;
If you turn a brush door using the normal Dark Radiant rotate tool or the Transform Dialog (accessed via a shortcut key) then it only turns the brush &#039;&#039;relative&#039;&#039; to the entity. So, because the entity origin is by default aligned with the world map then &#039;&#039;in most cases&#039;&#039; you can regard a brush door as rotating with respect to the world map if you wish. But there will be a problem when you come to rotations that are not around the main Y Z X axes of the map, for instance a drawbridge that lowers down to the south east. You might think you can combine Y Z X values to get the result you want - and this can be done (for south east use 45 45 90) but it is a bit of a kludge and the drawbridge twists eccentrically as it lowers (though it arrives correctly!) So for such cases you need to turn the entity itself so its start position is facing south east. You can then just use 0 0 90 to lower the drawbridge perfectly because its Y axis is now pointing south east. To turn the entity you must type or paste the rotation values in directly because using the Dark Radiant rotation tool or Transform Dialog will only turn the brush not the entity. The values are rather lengthy (south east is 0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1) so probably the easiest way is to create a temporary model door, turn it how you want, then select its rotation property. If you now deselect and re-select your brush door then that property will still be in the entity inspector input box and you need only click the check(tick) box to add it to the brush door. NOTE: &#039;&#039;neither the entity nor the brush will show as turned in Dark Radiant.&#039;&#039; Only the rotation property in the entity inspector will indicate the orientation. Instead of a rotated &#039;&#039;construction&#039;&#039;, regard it as a rotation &#039;&#039;instruction&#039;&#039; for when the map is compiled.&lt;br /&gt;
&lt;br /&gt;
These are the rotate property fields. Remember they are all with reference to the door&#039;s entity &#039;&#039;not&#039;&#039; the world map. Since there is no absolute frame of reference I indicate them here as if the entity is aligned with the world map axes...&lt;br /&gt;
&lt;br /&gt;
* Positive Y = Open clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
* Negative Y = Open anti-clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
&lt;br /&gt;
* Positive Z = Open anti-clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
* Negative Z = Open clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
&lt;br /&gt;
* Positive X = Open anti-clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
* Negative X = Open clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
&lt;br /&gt;
The values are in the range -179 to +180. Positive values give an anti-clockwise opening rotation (looking down from above) and negative values give a clockwise opening rotation. The value 180 is unique in that it continues in an anti-clockwise rotation when closing rather than returning clockwise so might be used if you can think of some object that might need such a motion when frobbed!&lt;br /&gt;
&lt;br /&gt;
Edit the rotate value by selecting it and using the input box at the bottom and clicking the check(tick) button. That will change the angle the door will open to. Note that the line with the original default of 0 90 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 0 90 0 = Opens anti-clockwise round the entity&#039;s &#039;vertical&#039; to 90 degrees - typical default vertical door.&lt;br /&gt;
* 0 0 90 = Lowers a drawbridge from the entity &#039;vertical&#039; to horizontal.&lt;br /&gt;
* 0 0 -45 = Opens clockwise by 45 degrees viewed from the east side. This might suit a skylight in a sloping roof.&lt;br /&gt;
&lt;br /&gt;
Combinations can be used and also combined with slide motions (see &#039;&#039;&#039;Sliding (Translation) Directions&#039;&#039;&#039;) to produce exotic and useful motions. A door opening against an upward-sloping floor can thus have a &#039;&#039;lifting hinge&#039;&#039; and raise up slightly to clear the floor; a door can rotate towards you and slide back to one side very effectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sliding (Translation) Amount and Direction===&lt;br /&gt;
&lt;br /&gt;
By default a Dark Mod door will rotate open. For most sliding doors you want to stop them rotating as well as make them slide. You cannot delete (remove) the &#039;&#039;rotate&#039;&#039; property - you have to set the &#039;&#039;rotate&#039;&#039; property to 0 0 0 to stop a door rotating (see &#039;&#039;Rotate Direction and Open Angle&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Now edit the &#039;&#039;translate&#039;&#039; property value by selecting it (remember to have inherited properties box checked) and using the input box at the bottom and clicking the check(tick) button. That will change the distance the door will slide to. Note that the line with the original default of 0 0 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Typically (but not always) you will want your sliding door to slide the width of the door. The three values in the translate property by default are 0 0 0 and are X Y Z &#039;&#039;absolute map&#039;&#039; values (irrespective of door orientation) where...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Positive X = Slide East (Right side of Dark Radiant grid in top view)&lt;br /&gt;
* Negative X = Slide West (Left side of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Y = Slide North (top of Dark Radiant grid in top view)&lt;br /&gt;
* Negative Y = Slide South (bottom of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Z = Slide Up (Top of Dark Radiant grid in side views)&lt;br /&gt;
* Negative Z = Slide Down (Bottom of Dark Radiant grid in side views)&lt;br /&gt;
&lt;br /&gt;
So for a 50 unit wide door you want to slide fully to the east you would use 50 0 0 for the translate property values. A 100 unit portcullis sliding vertically up would need 0 0 100 to be fully raised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sounds and Sound Propagation through Doors and Doorways===&lt;br /&gt;
&lt;br /&gt;
Sound propagation relies on visportals. For details study [[Sound Propagation: Part 1]] and [[Sound Propagation: Part 2]] as well as [[Visportals]] This tutorial will just cover the relevant sound and sound propagation &#039;&#039;properties&#039;&#039; of doors. If you set the &#039;&#039;show inherited properties&#039;&#039; box in the entity inspector you can see them as described here.&lt;br /&gt;
&lt;br /&gt;
The sound of doors opening and closing is set in the snd_open and snd_close properties. You can silence them by setting the following properties as shown:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_open null&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_close null&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t just use a dash - as it seems to cause a sound of its own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_locked&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player tries to open a locked door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_unlock string&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player unlocks a door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through an open door. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_closed&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through a closed door. (default 15dB) You would want to set this very high to block all sound with a thick door but very low for a barred gate for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_double_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through double doors when only one is open. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
There are also various sound properties for lockpicking:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_lockpick_pin_1 through 14&#039;&#039; and &#039;&#039;snd_lockpick_pin_success&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed of Door Opening and Closing===&lt;br /&gt;
&lt;br /&gt;
Rotating Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
At the time of writing, the time a rotating door takes to open or close is set in the &#039;&#039;move_time&#039;&#039; property whatever its maximum open angle. So with rotation set at say 150 degrees the door just opens faster than at say 80 degrees. This is likely to be changed to a constant angular velocity so check to see if there a new property added if the following no longer works. The problem is that if an interruptable (see Extra Notes) door is frobbed while in motion it stops; another frob will reverse the motion - so even if the door is only open a crack it will still take the full time to close and vice versa.&lt;br /&gt;
&lt;br /&gt;
To change the time a rotating door takes to open or close, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;move_time&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the time you want.&lt;br /&gt;
* The time is in seconds and decimal fractions can be used.&lt;br /&gt;
* The default is 1 second and if set to this then the door opens and closes in one second whatever the maximum open angle, great or small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sliding Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
The speed of a sliding door is set in the &#039;&#039;translate_speed&#039;&#039; property. To add this, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;translate_speed&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the speed you want.&lt;br /&gt;
* The speed is in Dark Radiant grid units per second.&lt;br /&gt;
* The default is 0 and if set to this then the door slides open in one second whatever the distance, great or small.&lt;br /&gt;
* CAUTION: If you later change the door back to a rotating door then delete the &#039;&#039;translate_speed&#039;&#039; property or ensure it is set to 0 as (at the time of writing but this will be fixed) a bug makes rotating doors open and close instantly. (Note: you can still mix sliding with rotating but check - this bug might only be if &#039;&#039;translate&#039;&#039; is set to 0 0 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Visportals and Doors===&lt;br /&gt;
&lt;br /&gt;
A visportal face surrounded by solid at its edges and in contact with a door is closed when the door is closed and enabled when the door is open. In most cases you will place a visportal in contact with a working door unless you can see through the door (such as a true glass door or barred gate.) For full details see [[Visportals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
The property &#039;&#039;interruptable&#039;&#039; determines whether a door can be stopped by frobbing while it is opening or closing.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_open&amp;quot;  is for if you have associated doors for opening then one should serve as master. Presumably for such as double doors opening and closing together. At the time of writing I have not found any further information on this and might not yet be implemented.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_lock&amp;quot;  is like &amp;quot;associate_master_open&#039;&#039; above but for locks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func_darkmod_door&#039;&#039; is no longer used (just in case you come across it in the Dark Mod forums or wiki.) The Doom func_door is still available but for Dark Mod, atdm:mover_door is the entity to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2697</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2697"/>
		<updated>2007-05-29T18:49:44Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Adding handles and other items to doors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This tutorial explains how to put doors into your Dark Mod map using Dark Radiant and adjust them and their properties.&lt;br /&gt;
&lt;br /&gt;
Quick way for the moderately knowledgeable to skip the detail and just get an ordinary unlocked door in your map as fast as possible you need only...&lt;br /&gt;
&lt;br /&gt;
* Create a model door&lt;br /&gt;
* Change it from func_static to atdm:mover_door&lt;br /&gt;
* Create a door handle (must be created &#039;&#039;after&#039;&#039; the door!)&lt;br /&gt;
* Change it from func_static to atdm:mover_door_handle&lt;br /&gt;
* Add the &#039;&#039;door_body&#039;&#039; property to the handle and give it the name of the door&lt;br /&gt;
* To open clockwise change the &#039;&#039;rotate&#039;&#039; property from 0 90 0 to 0 -90 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The rest of this tutorial assumes very little prior knowledge so is suitable for beginners even without Doom editing experience. You need to know:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;entity inspector&#039; is available from the view menu or shortcut key.&lt;br /&gt;
* &#039;orthoview&#039; means any of the xyz top, side, front, grid views&lt;br /&gt;
* Up, down, left, and right in Dark Radiant&#039;s &#039;&#039;top&#039;&#039; orthoview are regarded here as the standard map directions of North, South, East, and West where useful for clarity.&lt;br /&gt;
* Where the term &#039;&#039;brush&#039;&#039; is used with a door it mostly also applies to a door made up of a group of brushes and/or patches.&lt;br /&gt;
* Where the term &#039;&#039;door&#039;&#039; is used it often will also apply to any object you wish to rotate when frobbed, for instance an openable window, box lid, or even more exotic objects that the imaginative mapper might conceive like a signal, engine part, toy, or whatever. So long as it needs to turn or slide just a fixed amount when frobbed then return when frobbed again then the following applies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Door types==&lt;br /&gt;
&lt;br /&gt;
All tangible objects in Dark Mod are &#039;&#039;entities&#039;&#039; having either a pre-made model shape or else brush/patch(es). So there are two ways to create a door in Dark Radiant: as a model door or a textured brush door (or a hybrid of the two.)&lt;br /&gt;
&lt;br /&gt;
Models are ready made door objects but cannot within Dark Radiant (at the time of writing) be resized, rescaled, or retextured, cropped or clipped whereas brushes are very flexible in that respect and can be worked into custom shapes for your map, including secret doors that blend into walls and other surfaces.&lt;br /&gt;
&lt;br /&gt;
Although many models are already assigned to entities in Dark Radiant&#039;s right click create entity list, all door models are (at the time of writing) in the create models list and are automatically assigned to static entities by default. So these are immediately useable as static doors or can be quickly made into functioning doors (see later) by re-parenting them to a functioning door entity.&lt;br /&gt;
&lt;br /&gt;
Remember also that door functions may be applied to objects other than doors for instance to openable windows, drawbridges, gates, in fact anything that needs a partial rotation or slide when frobbed then return when frobbed again such as a signal device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Creating a Door==&lt;br /&gt;
&lt;br /&gt;
Put simply, to make a door you will be creating an &#039;entity with model&#039; or &#039;entity with brush&#039; or some variation thereof.&lt;br /&gt;
&lt;br /&gt;
===Creating a Model Door===&lt;br /&gt;
&lt;br /&gt;
There are two approaches to making a model door; the first is simpler for a working door; the second if you just want a static door. But both routes can produce a fully working door.&lt;br /&gt;
&lt;br /&gt;
First approach:&lt;br /&gt;
&lt;br /&gt;
* Create any temporary brush&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door.&lt;br /&gt;
* Left lick the model name line in the entity inspector.&lt;br /&gt;
* Below it on the Entity Inspector panel you should now see a button &#039;Choose Model&#039;&lt;br /&gt;
* Left click it, select a door model from the darkmod group.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* The temporary brush was deleted.&lt;br /&gt;
* You now have a working door with default properties.&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do it the other way round:&lt;br /&gt;
&lt;br /&gt;
* Right click in the orthoview, select Create Model then darkmod and select a door.&lt;br /&gt;
* Note that you can left drag the image in the Choose Model dialog to rotate it around.&lt;br /&gt;
* Click OK and you have a static door.&lt;br /&gt;
* If you want to make it work (openable, frobbable) then...&lt;br /&gt;
* Select the entity inspector,&lt;br /&gt;
* Select the top classname line so it highlights&lt;br /&gt;
* Select the func_static line in the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit func_static to atdm:mover_door&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door with default properties&lt;br /&gt;
* To add a handle and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Creating a Textured Brush Door===&lt;br /&gt;
&lt;br /&gt;
The simplest brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip : If unsure of size then you might insert a temporary human AI first to get a sense of height.&lt;br /&gt;
* Drag out a new brush to the size required, eg, a seven foot high door is 84&amp;quot; x 1.1 = about 90 units in Dark Radiant.&lt;br /&gt;
* Give it a door texture from the texture browser (or wall texture for a secret door)&lt;br /&gt;
* Right click in orthoview and select Create Entity then atdm:mover_door&lt;br /&gt;
* You now have a default door that rotates around its centre.&lt;br /&gt;
* To move the rotation point to the door edge and other adjustments, see &#039;&#039;Customising and Adjusting Door Properties&#039;&#039; later if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Multi-brush doors:&lt;br /&gt;
&lt;br /&gt;
More complex multi-brush doors can be created using the clipper tool, CSG, etc. (not covered in this tutorial) and then assign atdm:mover_door for that whole brush structure. Also you can collect various brushes positioned together in relation to one another as needed, select them all, then assign atdm:mover_door for the group. All the brushes will be children of the atdm:mover_door entity and will rotate and be frobbable, etc. as one unit, as one door. To add further brushes or even model shapes later see the section on &#039;&#039;Adding handles and other items to doors&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Customising and Adjusting Door Properties==&lt;br /&gt;
&lt;br /&gt;
Handles, lockplates, etc. can be added to doors and door properties can be adjusted for rotation, sliding, locking, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding handles and other items to doors===&lt;br /&gt;
&lt;br /&gt;
You can add handles and other items to doors such that they move correctly with the door whether rotating, sliding, or both and even if the door is not vertical such as a skylight or trapdoor.&lt;br /&gt;
&lt;br /&gt;
To add a working model door handle (works with both a model door and a brush door):&lt;br /&gt;
* Create a door and a handle (the order no longer matters).&lt;br /&gt;
* Proceed as for &#039;&#039;Creating a Model Door&#039;&#039; above but instead of the entity &#039;&#039;atdm:mover_door&#039;&#039; use &#039;&#039;atdm:mover_door_handle&#039;&#039; and when you choose a model choose a door handle instead of a door.&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the handle. To do this...&lt;br /&gt;
* Select the door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the handle&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* You now have a working door handle with default properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a brush to a brush door:&lt;br /&gt;
* Select the new brush &#039;&#039;and&#039;&#039; the brush door all together; &#039;&#039;the entity &#039;&#039;&#039;must&#039;&#039;&#039; be selected &#039;&#039;&#039;last&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
* Use Menu &amp;gt; Edit &amp;gt; Parent. This ensures the parent entity adopts the new item(s).&lt;br /&gt;
* If you have trouble selecting them in the orthoview because other brushes, etc. get selected then try in the camera view or as a last resort move them temporarily to an open area (but keep them in the same positions relative to each other.) Use Shift + Left Click on new item(s) then Shift + Left Click on main entity. Once they are all selected use the Menu &amp;gt; Edit &amp;gt; Parent. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;model&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* Select item&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;entity func_static&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;bind&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;bind&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add &#039;&#039;brush&#039;&#039; static items: knockers, hinges, static handles to a Model Door:&lt;br /&gt;
* This method is not ideal but it seems to work OK.&lt;br /&gt;
* Select the brush.&lt;br /&gt;
* Right click in orthoview and select Create Entity then &#039;&#039;atdm:mover_door_handle&#039;&#039;&lt;br /&gt;
* Position it where you wish on your door.&lt;br /&gt;
* To synchronize this with your particular door you need to add the property &#039;&#039;door_body&#039;&#039; and the individual door name to the brush entity. To do this...&lt;br /&gt;
* Select the model door.&lt;br /&gt;
* In the entity inspector, select the &#039;&#039;name&#039;&#039; line&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Highlight the name and copy it to the Windows clipboard (Menu &amp;gt; Edit or Ctrl + C)&lt;br /&gt;
* Deselect the door with Esc&lt;br /&gt;
* Select the brush entity&lt;br /&gt;
* Select the top line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Edit it to read &#039;&#039;door_body&#039;&#039;.&lt;br /&gt;
* Select the bottom line in the input box &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Paste in the door name (Menu &amp;gt; Edit or Ctrl + V)&lt;br /&gt;
* Click the check(tick) button&lt;br /&gt;
* This brush turns like a handle. To stop it...&lt;br /&gt;
* Adding &#039;&#039;rotate 0 0 0&#039;&#039; or disabling the handle script won&#039;t help.&lt;br /&gt;
* Add a real working handle (as in the section above &#039;&#039;To add a working model door handle...&#039;&#039; and it must be added LAST.)&lt;br /&gt;
* If you don&#039;t want too see a real working handle added maybe try another tiny brush with the handle function and hide it inside the door?&lt;br /&gt;
&lt;br /&gt;
===Locking Doors, Keys and Lockpicks===&lt;br /&gt;
&lt;br /&gt;
To lock a door check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;locked&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unlocked (default)&lt;br /&gt;
1 = locked&lt;br /&gt;
&lt;br /&gt;
If locked it will require an entity that is associated with it to be able to act as a key to unlock it.&lt;br /&gt;
&lt;br /&gt;
To make a door &#039;&#039;lockpickable&#039;&#039; check the &#039;&#039;show inherited properties&#039;&#039; in the entity inspector for a &#039;&#039;atdm:mover_door&#039;&#039; entity and you should see the &#039;&#039;pickable&#039;&#039; property. Select it and in the input box below the properties you can change its value:&lt;br /&gt;
&lt;br /&gt;
0 = unpickable&lt;br /&gt;
1 = pickable (default)&lt;br /&gt;
&lt;br /&gt;
If pickable then the door can be opened with a lockpick.&lt;br /&gt;
&lt;br /&gt;
lock_pins property (WIP - UPDATE LATER) SEE ALSO SOUND SECTION FOR PINS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Open, Partially Open, or Closed Door at Game Start===&lt;br /&gt;
&lt;br /&gt;
By default, doors are closed at game start. If you want a door to be already open or partially open then do the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Rotating Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1 as above.&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
*  scroll down, select &#039;&#039;start_rotate&#039;&#039; then click OK.&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_rotate&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the angle you want in the same form as described in the &#039;&#039;Rotate Direction and Open Angle&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;rotate&#039;&#039; value of 0 90 0 to start only half open you would give it a &#039;&#039;start_rotate&#039;&#039; value of 0 45 0. &lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Already Open Sliding Door:&lt;br /&gt;
* Select the door.&lt;br /&gt;
* Select the entity inspector&lt;br /&gt;
* Check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Select the &#039;&#039;open&#039;&#039; property&lt;br /&gt;
* Edit the value to 1 in the input box below and click the check button&lt;br /&gt;
* The door will now be fully open at game start.&lt;br /&gt;
&lt;br /&gt;
* If you want it only partly open:&lt;br /&gt;
* Right click the entity inspector and select &#039;&#039;add property&#039;&#039; &lt;br /&gt;
* Make sure its &#039;&#039;open&#039;&#039; property is set to 1&lt;br /&gt;
* Click the + sign on the left of the top line where atdm:mover_door is listed to open the folder.&lt;br /&gt;
*  scroll down, select &#039;&#039;start_position&#039;&#039; then click OK. (if atdm:mover_door is not listed then the entity was likely changed from eg, func_static. If so, save the map and reload to update the add property list)&lt;br /&gt;
* This adds it to the property list.&lt;br /&gt;
* Now select &#039;&#039;start_position&#039;&#039; in the property list.&lt;br /&gt;
* Edit the bottom line of the input box &#039;&#039;below&#039;&#039; the properties window to the position you want in the same form as described in the &#039;&#039;Sliding (Translation) Amount and Direction&#039;&#039; section. So for example, to have a door that has a fully open default &#039;&#039;translate&#039;&#039; value of 0 50 0 to start only half open you would give it a &#039;&#039;start_position&#039;&#039; value of 0 25 0.&lt;br /&gt;
* In a similar way add the property &#039;&#039;first_frob_open&amp;quot;.&lt;br /&gt;
* Set it to 1 and a partly open door should then open fully on the first frob.&lt;br /&gt;
* Set it to 0 and a partly open door should close on the first frob.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotation Centre, Pivot, Hinge point===&lt;br /&gt;
&lt;br /&gt;
The centre of rotation of a door is at the origin point of its entity and the door rotates with reference to the orientation of that origin point, not the world map. See &#039;&#039;Rotate Direction...&#039;&#039; for more about that. This section only deals with the &#039;&#039;position&#039;&#039; of the rotation centre in the door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Model Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a model door cannot be changed within Dark Radiant. Because a model door rotates around the centre &#039;spine&#039; of its back edge this will cause clipping (penetration into solid) as in this example (where the door is set to open to 89 degrees for clarity):&amp;lt;BR&amp;gt;[[Image:modelClipping.jpg]]&amp;lt;BR&amp;gt; So care is needed with placement. You will not normally position a door right next to a wall as in the example but against a shallow frame so clipping will barely be noticeable but either way it can fixed. You can correct it by adding a translation (see &#039;&#039;Sliding (Translation) Directions&#039;&#039;) value of half the door width in the direction of the door handle. This will gently move the door out as it rotates to clear any solid on that side as in this diagram:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:DoorClip.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Half a door width will typically be about 2. Any &#039;attachments&#039; such as door handles will still synchronize with the door movement whether the door is rotating, sliding, or both.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brush Door Centre of Rotation:&amp;lt;br&amp;gt;&lt;br /&gt;
The centre of rotation of a brush door &#039;&#039;can&#039;&#039; be changed. The default origin point of a brush is at its centre. Therefore a default rotating brush door will rotate around its centre when you first create it. So, mappers will commonly need to move that rotation point to a corner or even to some other offset position for example, for an openable window using the door function.&lt;br /&gt;
&lt;br /&gt;
Put simply, to move the rotation point of a brush door you need to move the entity origin relative to the brush(es) or vice versa.&lt;br /&gt;
&lt;br /&gt;
Moving the entity origin (centre of rotation) relative to a brush door:&lt;br /&gt;
&lt;br /&gt;
* Tip: easy way to get the coordinates of the point where you want to move the centre of rotation:&lt;br /&gt;
* Deselect door.&lt;br /&gt;
* Select an orthoview through the rotation axis, eg, top view if normal door rotating around a vertical axis.&lt;br /&gt;
* Drag out a small temporary brush roughly at the point you want the rotation.&lt;br /&gt;
* Zoom in if necessary and reduce the size of the temporary brush very small say, to 2 x 2 grid units.&lt;br /&gt;
* Drag it so its centre is at the point where you want the door to rotate. This should be on the corner on the leading edge side (the side to where the door is opening.) to avoid clipping as in this diagram....&lt;br /&gt;
[[Image:getCorner.jpg]]&lt;br /&gt;
* Right click orthoview and select &#039;&#039;convert to func_static&#039;&#039; to give it an entity origin&lt;br /&gt;
* In the entity inspector click the origin line&lt;br /&gt;
* Select the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Drag the mouse over the origin coordinates to highlight.&lt;br /&gt;
* Copy the coordinates to the Windows clipboard (edit menu or Ctrl + C)&lt;br /&gt;
* Click orthoview and hit backspace to delete the temporary brush.&lt;br /&gt;
* Select the door.&lt;br /&gt;
* In the entity inspector click the origin line&lt;br /&gt;
* Select the input box + check(tick) button &#039;&#039;below&#039;&#039; the properties window.&lt;br /&gt;
* Copy the coordinates back from the Windows clipboard  (edit menu or Ctrl + V)&lt;br /&gt;
* Click on the check(tick) button to confirm and apply the new coordinates.&lt;br /&gt;
* In the orthoview you should see the origin icon move to the new position.&lt;br /&gt;
* You should now find that door rotates around that point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rotate Direction and Open Angle===&lt;br /&gt;
&lt;br /&gt;
By default, rotating doors open anti-clockwise (viewed from above) by 90 degrees from the start orientation. If you want to change this edit the &#039;&#039;rotate&#039;&#039; property in the entity inspector. Don&#039;t confuse this &#039;&#039;rotate&#039;&#039; property with the &#039;&#039;rotation&#039;&#039; property. In the entity inspector remember that to see the inherited rotate property you must check the box &#039;Show inherited properties&#039;.&lt;br /&gt;
&lt;br /&gt;
The three values shown in the rotate property are degrees from the closed position around Y Z X &#039;&#039;entity origin axes&#039;&#039; (NOT absolute map axes) and so include any start &#039;&#039;rotation&#039;&#039;. So the Z value is the axis vertical to the entity origin. If you tilt a model door over in Dark Radiant then its entity origin tilts too so the Z axis is tilted too (with respect to the world map vertical.) So with a normally opening model door if you lay it flat on its back it will open upwards and not rotate around on the floor. But a brush door must be treated differently...&lt;br /&gt;
&lt;br /&gt;
If you turn a brush door using the normal Dark Radiant rotate tool or the Transform Dialog (accessed via a shortcut key) then it only turns the brush &#039;&#039;relative&#039;&#039; to the entity. So, because the entity origin is by default aligned with the world map then &#039;&#039;in most cases&#039;&#039; you can regard a brush door as rotating with respect to the world map if you wish. But there will be a problem when you come to rotations that are not around the main Y Z X axes of the map, for instance a drawbridge that lowers down to the south east. You might think you can combine Y Z X values to get the result you want - and this can be done (for south east use 45 45 90) but it is a bit of a kludge and the drawbridge twists eccentrically as it lowers (though it arrives correctly!) So for such cases you need to turn the entity itself so its start position is facing south east. You can then just use 0 0 90 to lower the drawbridge perfectly because its Y axis is now pointing south east. To turn the entity you must type or paste the rotation values in directly because using the Dark Radiant rotation tool or Transform Dialog will only turn the brush not the entity. The values are rather lengthy (south east is 0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1) so probably the easiest way is to create a temporary model door, turn it how you want, then select its rotation property. If you now deselect and re-select your brush door then that property will still be in the entity inspector input box and you need only click the check(tick) box to add it to the brush door. NOTE: &#039;&#039;neither the entity nor the brush will show as turned in Dark Radiant.&#039;&#039; Only the rotation property in the entity inspector will indicate the orientation. Instead of a rotated &#039;&#039;construction&#039;&#039;, regard it as a rotation &#039;&#039;instruction&#039;&#039; for when the map is compiled.&lt;br /&gt;
&lt;br /&gt;
These are the rotate property fields. Remember they are all with reference to the door&#039;s entity &#039;&#039;not&#039;&#039; the world map. Since there is no absolute frame of reference I indicate them here as if the entity is aligned with the world map axes...&lt;br /&gt;
&lt;br /&gt;
* Positive Y = Open clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
* Negative Y = Open anti-clockwise (Dark Radiant grid front view, looking north)&lt;br /&gt;
&lt;br /&gt;
* Positive Z = Open anti-clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
* Negative Z = Open clockwise (Dark Radiant grid top view, looking down)&lt;br /&gt;
&lt;br /&gt;
* Positive X = Open anti-clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
* Negative X = Open clockwise (Dark Radiant grid side view, looking west)&lt;br /&gt;
&lt;br /&gt;
The values are in the range -179 to +180. Positive values give an anti-clockwise opening rotation (looking down from above) and negative values give a clockwise opening rotation. The value 180 is unique in that it continues in an anti-clockwise rotation when closing rather than returning clockwise so might be used if you can think of some object that might need such a motion when frobbed!&lt;br /&gt;
&lt;br /&gt;
Edit the rotate value by selecting it and using the input box at the bottom and clicking the check(tick) button. That will change the angle the door will open to. Note that the line with the original default of 0 90 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 0 90 0 = Opens anti-clockwise round the entity&#039;s &#039;vertical&#039; to 90 degrees - typical default vertical door.&lt;br /&gt;
* 0 0 90 = Lowers a drawbridge from the entity &#039;vertical&#039; to horizontal.&lt;br /&gt;
* 0 0 -45 = Opens clockwise by 45 degrees viewed from the east side. This might suit a skylight in a sloping roof.&lt;br /&gt;
&lt;br /&gt;
Combinations can be used and also combined with slide motions (see &#039;&#039;&#039;Sliding (Translation) Directions&#039;&#039;&#039;) to produce exotic and useful motions. A door opening against an upward-sloping floor can thus have a &#039;&#039;lifting hinge&#039;&#039; and raise up slightly to clear the floor; a door can rotate towards you and slide back to one side very effectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sliding (Translation) Amount and Direction===&lt;br /&gt;
&lt;br /&gt;
By default a Dark Mod door will rotate open. For most sliding doors you want to stop them rotating as well as make them slide. You cannot delete (remove) the &#039;&#039;rotate&#039;&#039; property - you have to set the &#039;&#039;rotate&#039;&#039; property to 0 0 0 to stop a door rotating (see &#039;&#039;Rotate Direction and Open Angle&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Now edit the &#039;&#039;translate&#039;&#039; property value by selecting it (remember to have inherited properties box checked) and using the input box at the bottom and clicking the check(tick) button. That will change the distance the door will slide to. Note that the line with the original default of 0 0 0 will still be there but your new entry will be added on a separate line and that is the one that will work in the game. CAUTION: when adjusting later make sure you have your new line selected and not the original! If you do it will appear to change but your first setting will remain unaltered.&lt;br /&gt;
&lt;br /&gt;
Typically (but not always) you will want your sliding door to slide the width of the door. The three values in the translate property by default are 0 0 0 and are X Y Z &#039;&#039;absolute map&#039;&#039; values (irrespective of door orientation) where...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Positive X = Slide East (Right side of Dark Radiant grid in top view)&lt;br /&gt;
* Negative X = Slide West (Left side of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Y = Slide North (top of Dark Radiant grid in top view)&lt;br /&gt;
* Negative Y = Slide South (bottom of Dark Radiant grid in top view)&lt;br /&gt;
* Positive Z = Slide Up (Top of Dark Radiant grid in side views)&lt;br /&gt;
* Negative Z = Slide Down (Bottom of Dark Radiant grid in side views)&lt;br /&gt;
&lt;br /&gt;
So for a 50 unit wide door you want to slide fully to the east you would use 50 0 0 for the translate property values. A 100 unit portcullis sliding vertically up would need 0 0 100 to be fully raised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sounds and Sound Propagation through Doors and Doorways===&lt;br /&gt;
&lt;br /&gt;
Sound propagation relies on visportals. For details study [[Sound Propagation: Part 1]] and [[Sound Propagation: Part 2]] as well as [[Visportals]] This tutorial will just cover the relevant sound and sound propagation &#039;&#039;properties&#039;&#039; of doors. If you set the &#039;&#039;show inherited properties&#039;&#039; box in the entity inspector you can see them as described here.&lt;br /&gt;
&lt;br /&gt;
The sound of doors opening and closing is set in the snd_open and snd_close properties. You can silence them by setting the following properties as shown:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_open null&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_close null&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t just use a dash - as it seems to cause a sound of its own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_locked&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player tries to open a locked door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;snd_unlock string&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The sound played when a player unlocks a door.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through an open door. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_closed&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through a closed door. (default 15dB) You would want to set this very high to block all sound with a thick door but very low for a barred gate for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;loss_double_open&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Drop in sound volume in dB when going through double doors when only one is open. (default 1dB)&lt;br /&gt;
&lt;br /&gt;
There are also various sound properties for lockpicking:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;snd_lockpick_pin_1 through 14&#039;&#039; and &#039;&#039;snd_lockpick_pin_success&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed of Door Opening and Closing===&lt;br /&gt;
&lt;br /&gt;
Rotating Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
At the time of writing, the time a rotating door takes to open or close is set in the &#039;&#039;move_time&#039;&#039; property whatever its maximum open angle. So with rotation set at say 150 degrees the door just opens faster than at say 80 degrees. This is likely to be changed to a constant angular velocity so check to see if there a new property added if the following no longer works. The problem is that if an interruptable (see Extra Notes) door is frobbed while in motion it stops; another frob will reverse the motion - so even if the door is only open a crack it will still take the full time to close and vice versa.&lt;br /&gt;
&lt;br /&gt;
To change the time a rotating door takes to open or close, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;move_time&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the time you want.&lt;br /&gt;
* The time is in seconds and decimal fractions can be used.&lt;br /&gt;
* The default is 1 second and if set to this then the door opens and closes in one second whatever the maximum open angle, great or small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sliding Door Speed:&amp;lt;br&amp;gt;&lt;br /&gt;
The speed of a sliding door is set in the &#039;&#039;translate_speed&#039;&#039; property. To add this, make sure the door is selected then...&lt;br /&gt;
&lt;br /&gt;
* Right click the entity inspector and check &#039;&#039;show inherited properties&#039;&#039;&lt;br /&gt;
* Scroll down, select &#039;&#039;translate_speed&#039;&#039;&lt;br /&gt;
* Edit the second line of the input box &#039;&#039;below&#039;&#039; the properties window to the speed you want.&lt;br /&gt;
* The speed is in Dark Radiant grid units per second.&lt;br /&gt;
* The default is 0 and if set to this then the door slides open in one second whatever the distance, great or small.&lt;br /&gt;
* CAUTION: If you later change the door back to a rotating door then delete the &#039;&#039;translate_speed&#039;&#039; property or ensure it is set to 0 as (at the time of writing but this will be fixed) a bug makes rotating doors open and close instantly. (Note: you can still mix sliding with rotating but check - this bug might only be if &#039;&#039;translate&#039;&#039; is set to 0 0 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Visportals and Doors===&lt;br /&gt;
&lt;br /&gt;
A visportal face surrounded by solid at its edges and in contact with a door is closed when the door is closed and enabled when the door is open. In most cases you will place a visportal in contact with a working door unless you can see through the door (such as a true glass door or barred gate.) For full details see [[Visportals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
The property &#039;&#039;interruptable&#039;&#039; determines whether a door can be stopped by frobbing while it is opening or closing.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_open&amp;quot;  is for if you have associated doors for opening then one should serve as master. Presumably for such as double doors opening and closing together. At the time of writing I have not found any further information on this and might not yet be implemented.&lt;br /&gt;
&lt;br /&gt;
The property &amp;quot;editor_var master_lock&amp;quot;  is like &amp;quot;associate_master_open&#039;&#039; above but for locks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func_darkmod_door&#039;&#039; is no longer used (just in case you come across it in the Dark Mod forums or wiki.) The Doom func_door is still available but for Dark Mod, atdm:mover_door is the entity to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2291</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2291"/>
		<updated>2007-02-21T13:59:37Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an error message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cursor&#039;&#039;&#039;   An inventory can have multiple cursors. This means that you can create objects which make use of a given inventory, by acquiring a cursor for it. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory. For any given object you can not rely to be in a particular inventory, even though you might have a cursor pointing to it. That&#039;s because it might be that some other object may have already removed that object, or added another one. Thus, you should always get the pointer to a given item, when you access it, and don&#039;t store it&#039;s position somewhere external.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_category&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the category that the object should be filed under. This allows for player convenience and also is needed for stackable items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_name&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine, if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as different items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_icon&#039;&#039;&#039; | D3 path to icon&lt;br /&gt;
:Points to an icon that is to be displayed when the object is selected in the inventory. This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_stackable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines wether an item is an individual or can be a stack of similar objects. An example would be the various potions. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Keep in mind though, that a stack of gold coins is not per se stackable, because usually it will be only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_item_id&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to an arbitrary value. This is needed if the mapper wants to implement custom behaviour and he uniquily need to identfy an item or a group of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t allow the additional flexibillity. For example a mapper can create a fake health potion which shows up in the inventory just like a regular one, with the same name but a different map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and thinks he got a health potion, he might have aquired a  real one, while this one actually may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This will of course only work with additional scripting, because the mapper must know what to do with it. In this case the mapper might set a flag on the callback, and the next time the player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_count&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the number of items this represents. This is only needed for items where stackable is 1, otherwise it is set to 0. Als the option for stackable must always precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_droppable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items, since they will have no representation after they were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_delete&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines if an anonymous object can be deleted, after it was put into the inventory. This is advisable, because the entity will stay in memory and a mapper could still access it via scripting. If the mapper decides that an item will no longer be accessed after it has been acquired, this key should be set to 1. This can affect loading time of saved games, as entities, that are no longer needed, don&#039;t need to be saved and restored. &lt;br /&gt;
:If the mapper also creates entities on the fly, with the help of scripts, it might better to set this flag on appropriate objects to free up the limited number of entities a map can hold. The usuals candidates for this flag are all the regular loot items, because they wont be used anymore after they have been found (lik coins, purses, etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_type&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
:* 0 = No lootitem (default)&lt;br /&gt;
:* 1 = Jewelry/Gems&lt;br /&gt;
:* 2 = Gold&lt;br /&gt;
:* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_value&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the amount of loot this item accounts for. This value is ignore if it is set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_map_start&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_target&#039;&#039;&#039; | &amp;lt;entityname&amp;gt;&lt;br /&gt;
:If the item should be assigned to an entity at map start, this should get the name of the entity who shold recive it. To give an item to the player, you would use &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be set and is ignored. Since the name can be arbitrary, this means of course, that you can also give it to an AI, which the player later on meets. This should not be confused with loot, that is to be attached to an AI though. If you attach a purse or a key to an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because such things will not be stored in the inventory. You could assign such things to an chest though, to give the objects to the player when he opens it. This is not directly support though, because it is assumed that chests will be filled with real objects, like TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud&#039;&#039;&#039; | &amp;lt;hudfilename&amp;gt;&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the loot.hud, which implements a custom hud that does not use the normal display for items. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item.In order to make this work, the mapper must write a script and assign this script to the key &amp;quot;scriptobject&amp;quot; on the entity. This will automatically launch that script when the entity is spawned,. If the messagefunctions are not implemented the item will show up as an empty slot on the inventory. A detailed description how to operate a custom hud will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud_layer&#039;&#039;&#039; | int | layernumber&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;quot;inv_hud&amp;quot;, this key can be set to specify a layernumber that the hud should be displayed with. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
== CVARs ==&lt;br /&gt;
&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to&lt;br /&gt;
players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_hud_file&#039;&#039;&#039; | string | default &amp;quot;guis/inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_hud&#039;&#039;&#039; | string | default &amp;quot;guis/loot.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the loot slot in the inventory. Since custom huds are now supported for different items, this cvar is no longer needed and might be removed later.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_group&#039;&#039;&#039; | string | default &amp;quot;Loot&amp;quot;&lt;br /&gt;
:Specifies the default category name for teh loot objects. This is probably not used and changing it has no effect.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_group_mode&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:This defines how the grouping should work. The following options are available:&lt;br /&gt;
:* 0 = ungrouped inventory (T1/T2 style)&lt;br /&gt;
:* 1 = grouped inventory&lt;br /&gt;
:&#039;&#039;&#039;&#039;ungrouped&#039;&#039;&#039;&#039; means that you can cycle through the inventory one after the other. This does not affect the NextCategory/PrevCategory keys and you can still use them. &lt;br /&gt;
:&#039;&#039;&#039;&#039;grouped&#039;&#039;&#039;&#039; means that you just cycle through one group at a time, and you have to use the NextCategory/PrevCategory keys to switch to a different category. Cyclying through the inventory will always stay in the selected group.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_visibility&#039;&#039;&#039; | int | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the visibility for the inventory. The following options are available&lt;br /&gt;
:* 0 = never visible&lt;br /&gt;
:* 1 = always visible&lt;br /&gt;
:* 2 = temporary (not yet implemented.)&lt;br /&gt;
:Option two will fade out the inventory after some specified time.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_opacity&#039;&#039;&#039; | float [0..1] | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the alphachannel for the inventory. It determines if and how much you can look through the inventory text and icons.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_in&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it becomes visible. 0 means that it will be immediatly visible when activated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_out&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it bcomes invisible. 0 means that it will be immediatly invisible when deactivated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_sound&#039;&#039;&#039; | string | default &amp;quot;sound/sfx/world/frob_loot.ogg&amp;quot;&lt;br /&gt;
:Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items.&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
== Updates needed ==&lt;br /&gt;
&lt;br /&gt;
Scriptsupport and custom HUDs need to be written.&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Update]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=2286</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=2286"/>
		<updated>2007-02-21T13:55:51Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;margin:2em 0 0 0; text-align:center; font-size:200%;&amp;quot;&amp;gt;Welcome to the Dark Wiki&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:0 0 3em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;A wiki documenting the Dark Mod for Doom 3&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:50%; vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;New to the site?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki is focused on documenting the various aspects involved with developing, and mapping for, [[The Dark Mod]]. Please visit the about page or talk to some of our editors in #darkmod on irc.starchat.net if you want to learn more about this project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Want to help?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the modwiki is a community project, feel free to register and join us on this great endeavour! Please check out the style guide first and follow these guidelines. Visit open tasks to find out which pages need help. You can also visit the sandbox to experiment with the wiki markup language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Need Help with Wiki Articles?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
If you need help creating, editing or formatting wiki articles, take a look at our &#039;&#039;&#039;[[Basic Wiki Tutorial]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;High quality links:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other interesting Dark Mod related links:&lt;br /&gt;
&lt;br /&gt;
; [http://www.thedarkmod.com www.thedarkmod.com] : The project website&lt;br /&gt;
; [http://www.modetwo.net/darkmod www.modetwo.net/darkmod] : The project forum&lt;br /&gt;
&lt;br /&gt;
[[TheDarkWiki:Policy|The Dark Wiki Editing Policy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Editing Categories:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Installation]] : Information how to get The Dark Mod running&lt;br /&gt;
; [[Bindings and User Settings]] : Key binding and interface documentation.&lt;br /&gt;
; [[Universe]] : Information about The Dark Mod universe and setting&lt;br /&gt;
; [[:Category:Tutorial|Tutorials]] : Complete tutorials about setting up certain characteristics&lt;br /&gt;
; [[:Category:Editing|Editing]] : Information about level design and the tools&lt;br /&gt;
; [[Textures]] : Explanation of material shaders and image files&lt;br /&gt;
; [[Modeling]] : Modeling and file format information&lt;br /&gt;
; [[Animation]] : General tips, and software tutorials&lt;br /&gt;
; [[Sound]] : Soundeffects, ambients and how to get them ingame&lt;br /&gt;
; [[Coding]] : Source code modification, level and GUI scripting&lt;br /&gt;
; [[Release]] : How to pack a mission, and get it tested and released!&lt;br /&gt;
; [[Developer Info]] : Internal informations for developers of the core team&lt;br /&gt;
; [[:Category:Update|Articles that need to be fixed]] : Links to pages which have wrong or missing information or otherwise require attention.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:2em 0 2em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;(Create a new page by making a link to it, then click it. Or you can just go to www.thirdfilms.com/darkwiki/yourpagename)&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=How_to_make_a_prefab_skybox&amp;diff=2277</id>
		<title>How to make a prefab skybox</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=How_to_make_a_prefab_skybox&amp;diff=2277"/>
		<updated>2007-02-20T11:43:08Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.thirdfilms.com/darkwiki/index.php?title=Skybox&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Skybox_Basic_Details&amp;diff=2276</id>
		<title>Skybox Basic Details</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Skybox_Basic_Details&amp;diff=2276"/>
		<updated>2007-02-20T11:42:04Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=How to make a prefab skybox=&lt;br /&gt;
&lt;br /&gt;
The easiest way to use a skybox in The Dark Mod is to use the prefab ones which come in the resources.&lt;br /&gt;
&lt;br /&gt;
The first thing to do is create a textured box around your level. This can be caulk or texture, the important thing is that it has a texture so that the level is sealed. &lt;br /&gt;
&lt;br /&gt;
The most simple thing to do is to make a box around the level and use the hollow tool.&lt;br /&gt;
&lt;br /&gt;
http://img226.imageshack.us/img226/4963/84078566bs0.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/6734/74703655hm7.jpg&lt;br /&gt;
&lt;br /&gt;
Texture the inside facing sides with the textures/textures/smf/portal_sky texture, ensuring you only texture the inside facing sides, selecting them with control shift click.&lt;br /&gt;
&lt;br /&gt;
http://img120.imageshack.us/img120/3702/77003234sb4.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/2491/35449053rg0.jpg&lt;br /&gt;
&lt;br /&gt;
Go to the edit menu, then “Load prefab” and navigate to the “prefabs” folder in “darkmod” folder and select “tdm_sky_starry1.pfb”.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/869/48886392io8.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/8646/71894725lp0.jpg&lt;br /&gt;
&lt;br /&gt;
http://img226.imageshack.us/img226/41/12625019uj3.jpg&lt;br /&gt;
&lt;br /&gt;
Place this outside the main hollow box of your level. It is caulked on the outside and sealed so it will not leak.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/9610/98009669xk2.jpg&lt;br /&gt;
&lt;br /&gt;
Finished. When you load your level you will have an attractive night sky with clouds moon and stars.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/841/69658107tm5.jpg&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=How_to_make_a_prefab_skybox&amp;diff=2275</id>
		<title>How to make a prefab skybox</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=How_to_make_a_prefab_skybox&amp;diff=2275"/>
		<updated>2007-02-20T11:41:29Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=How to make a prefab skybox=&lt;br /&gt;
&lt;br /&gt;
The easiest way to use a skybox in The Dark Mod is to use the prefab ones which come in the resources.&lt;br /&gt;
&lt;br /&gt;
The first thing to do is create a textured box around your level. This can be caulk or texture, the important thing is that it has a texture so that the level is sealed. &lt;br /&gt;
&lt;br /&gt;
The most simple thing to do is to make a box around the level and use the hollow tool.&lt;br /&gt;
&lt;br /&gt;
http://img226.imageshack.us/img226/4963/84078566bs0.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/6734/74703655hm7.jpg&lt;br /&gt;
&lt;br /&gt;
Texture the inside facing sides with the textures/textures/smf/portal_sky texture, ensuring you only texture the inside facing sides, selecting them with control shift click.&lt;br /&gt;
&lt;br /&gt;
http://img120.imageshack.us/img120/3702/77003234sb4.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/2491/35449053rg0.jpg&lt;br /&gt;
&lt;br /&gt;
Go to the edit menu, then “Load prefab” and navigate to the “prefabs” folder in “darkmod” folder and select “tdm_sky_starry1.pfb”.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/869/48886392io8.jpg&lt;br /&gt;
&lt;br /&gt;
http://img59.imageshack.us/img59/8646/71894725lp0.jpg&lt;br /&gt;
&lt;br /&gt;
http://img226.imageshack.us/img226/41/12625019uj3.jpg&lt;br /&gt;
&lt;br /&gt;
Place this outside the main hollow box of your level. It is caulked on the outside and sealed so it will not leak.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/9610/98009669xk2.jpg&lt;br /&gt;
&lt;br /&gt;
Finished. When you load your level you will have an attractive night sky with clouds moon and stars.&lt;br /&gt;
&lt;br /&gt;
http://img71.imageshack.us/img71/841/69658107tm5.jpg&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2270</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2270"/>
		<updated>2007-02-19T17:11:49Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an error message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cursor&#039;&#039;&#039;   An inventory can have multiple cursors. This means that you can create objects which make use of a given inventory, by acquiring a cursor for it. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory. For any given object you can not rely to be in a particular inventory, even though you might have a cursor pointing to it. That&#039;s because it might be that some other object may have already removed that object, or added another one. Thus, you should always get the pointer to a given item, when you access it, and don&#039;t store it&#039;s position somewhere external.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_category&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the category that the object should be filed under. This allows for player convenience and also is needed for stackable items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_name&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine, if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as different items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_icon&#039;&#039;&#039; | D3 path to icon&lt;br /&gt;
:Points to an icon that is to be displayed when the object is selected in the inventory. This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_stackable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines wether an item is an individual or can be a stack of similar objects. An example would be the various potions. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Keep in mind though, that a stack of gold coins is not per se stackable, because usually it will be only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_item_id&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to an arbitrary value. This is needed if the mapper wants to implement custom behaviour and he uniquily need to identfy an item or a group of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t allow the additional flexibillity. For example a mapper can create a fake health potion which shows up in the inventory just like a regular one, with the same name but a different map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and thinks he got a health potion, he might have aquired a  real one, while this one actually may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This will of course only work with additional scripting, because the mapper must know what to do with it. In this case the mapper might set a flag on the callback, and the next time the player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_count&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the number of items this represents. This is only needed for items where stackable is 1, otherwise it is set to 0. Als the option for stackable must always precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_droppable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items, since they will have no representation after they were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_delete&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines if an anonymous object can be deleted, after it was put into the inventory. This is advisable, because the entity will stay in memory and a mapper could still access it via scripting. If the mapper decides that an item will no longer be accessed after it has been acquired, this key should be set to 1. This can affect loading time of saved games, as entities, that are no longer needed, don&#039;t need to be saved and restored. &lt;br /&gt;
:If the mapper also creates entities on the fly, with the help of scripts, it might better to set this flag on appropriate objects to free up the limited number of entities a map can hold. The usuals candidates for this flag are all the regular loot items, because they wont be used anymore after they have been found (lik coins, purses, etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_type&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
:* 0 = No lootitem (default)&lt;br /&gt;
:* 1 = Jewelry/Gems&lt;br /&gt;
:* 2 = Gold&lt;br /&gt;
:* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_value&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the amount of loot this item accounts for. This value is ignore if it is set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_map_start&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_target&#039;&#039;&#039; | &amp;lt;entityname&amp;gt;&lt;br /&gt;
:If the item should be assigned to an entity at map start, this should get the name of the entity who shold recive it. To give an item to the player, you would use &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be set and is ignored. Since the name can be arbitrary, this means of course, that you can also give it to an AI, which the player later on meets. This should not be confused with loot, that is to be attached to an AI though. If you attach a purse or a key to an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because such things will not be stored in the inventory. You could assign such things to an chest though, to give the objects to the player when he opens it. This is not directly support though, because it is assumed that chests will be filled with real objects, like TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud&#039;&#039;&#039; | &amp;lt;hudfilename&amp;gt;&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the loot.hud, which implements a custom hud that does not use the normal display for items. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item.In order to make this work, the mapper must write a script and assign this script to the key &amp;quot;scriptobject&amp;quot; on the entity. This will automatically launch that script when the entity is spawned,. If the messagefunctions are not implemented the item will show up as an empty slot on the inventory. A detailed description how to operate a custom hud will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud_layer&#039;&#039;&#039; | int | layernumber&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;quot;inv_hud&amp;quot;, this key can be set to specify a layernumber that the hud should be displayed with. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
== CVARs ==&lt;br /&gt;
&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to&lt;br /&gt;
players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_hud_file&#039;&#039;&#039; | string | default &amp;quot;guis/inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_hud&#039;&#039;&#039; | string | default &amp;quot;guis/loot.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the loot slot in the inventory. Since custom huds are now supported for different items, this cvar is no longer needed and might be removed later.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_group&#039;&#039;&#039; | string | default &amp;quot;Loot&amp;quot;&lt;br /&gt;
:Specifies the default category name for teh loot objects. This is probably not used and changing it has no effect.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_group_mode&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:This defines how the grouping should work. The following options are available:&lt;br /&gt;
:* 0 = ungrouped inventory (T1/T2 style)&lt;br /&gt;
:* 1 = grouped inventory&lt;br /&gt;
:&#039;&#039;&#039;&#039;ungrouped&#039;&#039;&#039;&#039; means that you can cycle through the inventory one after the other. This does not affect the NextCategory/PrevCategory keys and you can still use them. &lt;br /&gt;
:&#039;&#039;&#039;&#039;grouped&#039;&#039;&#039;&#039; means that you just cycle through one group at a time, and you have to use the NextCategory/PrevCategory keys to switch to a different category. Cyclying through the inventory will always stay in the selected group.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_visibility&#039;&#039;&#039; | int | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the visibility for the inventory. The following options are available&lt;br /&gt;
:* 0 = never visible&lt;br /&gt;
:* 1 = always visible&lt;br /&gt;
:* 2 = temporary (not yet implemented.)&lt;br /&gt;
:Option two will fade out the inventory after some specified time.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_opacity&#039;&#039;&#039; | float [0..1] | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the alphachannel for the inventory. It determines if and how much you can look through the inventory text and icons.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_in&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it becomes visible. 0 means that it will be immediatly visible when activated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_out&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it bcomes invisible. 0 means that it will be immediatly invisible when deactivated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_sound&#039;&#039;&#039; | string | default &amp;quot;sound/sfx/world/frob_loot.ogg&amp;quot;&lt;br /&gt;
:Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items.&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2269</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2269"/>
		<updated>2007-02-19T17:10:18Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an error message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cursor&#039;&#039;&#039;   An inventory can have multiple cursors. This means that you can create objects which make use of a given inventory, by acquiring a cursor for it. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_category&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the category that the object should be filed under. This allows for player convenience and also is needed for stackable items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_name&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine, if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as different items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_icon&#039;&#039;&#039; | D3 path to icon&lt;br /&gt;
:Points to an icon that is to be displayed when the object is selected in the inventory. This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_stackable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines wether an item is an individual or can be a stack of similar objects. An example would be the various potions. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Keep in mind though, that a stack of gold coins is not per se stackable, because usually it will be only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_item_id&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to an arbitrary value. This is needed if the mapper wants to implement custom behaviour and he uniquily need to identfy an item or a group of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t allow the additional flexibillity. For example a mapper can create a fake health potion which shows up in the inventory just like a regular one, with the same name but a different map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and thinks he got a health potion, he might have aquired a  real one, while this one actually may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This will of course only work with additional scripting, because the mapper must know what to do with it. In this case the mapper might set a flag on the callback, and the next time the player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_count&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the number of items this represents. This is only needed for items where stackable is 1, otherwise it is set to 0. Als the option for stackable must always precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_droppable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items, since they will have no representation after they were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_delete&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines if an anonymous object can be deleted, after it was put into the inventory. This is advisable, because the entity will stay in memory and a mapper could still access it via scripting. If the mapper decides that an item will no longer be accessed after it has been acquired, this key should be set to 1. This can affect loading time of saved games, as entities, that are no longer needed, don&#039;t need to be saved and restored. &lt;br /&gt;
:If the mapper also creates entities on the fly, with the help of scripts, it might better to set this flag on appropriate objects to free up the limited number of entities a map can hold. The usuals candidates for this flag are all the regular loot items, because they wont be used anymore after they have been found (lik coins, purses, etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_type&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
:* 0 = No lootitem (default)&lt;br /&gt;
:* 1 = Jewelry/Gems&lt;br /&gt;
:* 2 = Gold&lt;br /&gt;
:* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_value&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the amount of loot this item accounts for. This value is ignore if it is set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_map_start&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_target&#039;&#039;&#039; | &amp;lt;entityname&amp;gt;&lt;br /&gt;
:If the item should be assigned to an entity at map start, this should get the name of the entity who shold recive it. To give an item to the player, you would use &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be set and is ignored. Since the name can be arbitrary, this means of course, that you can also give it to an AI, which the player later on meets. This should not be confused with loot, that is to be attached to an AI though. If you attach a purse or a key to an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because such things will not be stored in the inventory. You could assign such things to an chest though, to give the objects to the player when he opens it. This is not directly support though, because it is assumed that chests will be filled with real objects, like TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud&#039;&#039;&#039; | &amp;lt;hudfilename&amp;gt;&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the loot.hud, which implements a custom hud that does not use the normal display for items. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item.In order to make this work, the mapper must write a script and assign this script to the key &amp;quot;scriptobject&amp;quot; on the entity. This will automatically launch that script when the entity is spawned,. If the messagefunctions are not implemented the item will show up as an empty slot on the inventory. A detailed description how to operate a custom hud will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud_layer&#039;&#039;&#039; | int | layernumber&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;quot;inv_hud&amp;quot;, this key can be set to specify a layernumber that the hud should be displayed with. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
== CVARs ==&lt;br /&gt;
&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to&lt;br /&gt;
players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_hud_file&#039;&#039;&#039; | string | default &amp;quot;guis/inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_hud&#039;&#039;&#039; | string | default &amp;quot;guis/loot.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the loot slot in the inventory. Since custom huds are now supported for different items, this cvar is no longer needed and might be removed later.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_group&#039;&#039;&#039; | string | default &amp;quot;Loot&amp;quot;&lt;br /&gt;
:Specifies the default category name for teh loot objects. This is probably not used and changing it has no effect.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_group_mode&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:This defines how the grouping should work. The following options are available:&lt;br /&gt;
:* 0 = ungrouped inventory (T1/T2 style)&lt;br /&gt;
:* 1 = grouped inventory&lt;br /&gt;
:&#039;&#039;&#039;&#039;ungrouped&#039;&#039;&#039;&#039; means that you can cycle through the inventory one after the other. This does not affect the NextCategory/PrevCategory keys and you can still use them. &lt;br /&gt;
:&#039;&#039;&#039;&#039;grouped&#039;&#039;&#039;&#039; means that you just cycle through one group at a time, and you have to use the NextCategory/PrevCategory keys to switch to a different category. Cyclying through the inventory will always stay in the selected group.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_visibility&#039;&#039;&#039; | int | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the visibility for the inventory. The following options are available&lt;br /&gt;
:* 0 = never visible&lt;br /&gt;
:* 1 = always visible&lt;br /&gt;
:* 2 = temporary (not yet implemented.)&lt;br /&gt;
:Option two will fade out the inventory after some specified time.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_opacity&#039;&#039;&#039; | float [0..1] | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the alphachannel for the inventory. It determines if and how much you can look through the inventory text and icons.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_in&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it becomes visible. 0 means that it will be immediatly visible when activated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_out&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it bcomes invisible. 0 means that it will be immediatly invisible when deactivated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_sound&#039;&#039;&#039; | string | default &amp;quot;sound/sfx/world/frob_loot.ogg&amp;quot;&lt;br /&gt;
:Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items.&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2268</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2268"/>
		<updated>2007-02-19T17:09:59Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an error message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cursor&#039;&#039;&#039;   An inventory can have multiple cursors. This means that you can create objects which make use of a given inventory, but acquiring a cursor for it. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_category&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the category that the object should be filed under. This allows for player convenience and also is needed for stackable items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_name&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine, if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as different items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_icon&#039;&#039;&#039; | D3 path to icon&lt;br /&gt;
:Points to an icon that is to be displayed when the object is selected in the inventory. This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_stackable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines wether an item is an individual or can be a stack of similar objects. An example would be the various potions. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Keep in mind though, that a stack of gold coins is not per se stackable, because usually it will be only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_item_id&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to an arbitrary value. This is needed if the mapper wants to implement custom behaviour and he uniquily need to identfy an item or a group of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t allow the additional flexibillity. For example a mapper can create a fake health potion which shows up in the inventory just like a regular one, with the same name but a different map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and thinks he got a health potion, he might have aquired a  real one, while this one actually may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This will of course only work with additional scripting, because the mapper must know what to do with it. In this case the mapper might set a flag on the callback, and the next time the player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_count&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the number of items this represents. This is only needed for items where stackable is 1, otherwise it is set to 0. Als the option for stackable must always precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_droppable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items, since they will have no representation after they were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_delete&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines if an anonymous object can be deleted, after it was put into the inventory. This is advisable, because the entity will stay in memory and a mapper could still access it via scripting. If the mapper decides that an item will no longer be accessed after it has been acquired, this key should be set to 1. This can affect loading time of saved games, as entities, that are no longer needed, don&#039;t need to be saved and restored. &lt;br /&gt;
:If the mapper also creates entities on the fly, with the help of scripts, it might better to set this flag on appropriate objects to free up the limited number of entities a map can hold. The usuals candidates for this flag are all the regular loot items, because they wont be used anymore after they have been found (lik coins, purses, etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_type&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
:* 0 = No lootitem (default)&lt;br /&gt;
:* 1 = Jewelry/Gems&lt;br /&gt;
:* 2 = Gold&lt;br /&gt;
:* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_value&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the amount of loot this item accounts for. This value is ignore if it is set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_map_start&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_target&#039;&#039;&#039; | &amp;lt;entityname&amp;gt;&lt;br /&gt;
:If the item should be assigned to an entity at map start, this should get the name of the entity who shold recive it. To give an item to the player, you would use &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be set and is ignored. Since the name can be arbitrary, this means of course, that you can also give it to an AI, which the player later on meets. This should not be confused with loot, that is to be attached to an AI though. If you attach a purse or a key to an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because such things will not be stored in the inventory. You could assign such things to an chest though, to give the objects to the player when he opens it. This is not directly support though, because it is assumed that chests will be filled with real objects, like TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud&#039;&#039;&#039; | &amp;lt;hudfilename&amp;gt;&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the loot.hud, which implements a custom hud that does not use the normal display for items. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item.In order to make this work, the mapper must write a script and assign this script to the key &amp;quot;scriptobject&amp;quot; on the entity. This will automatically launch that script when the entity is spawned,. If the messagefunctions are not implemented the item will show up as an empty slot on the inventory. A detailed description how to operate a custom hud will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud_layer&#039;&#039;&#039; | int | layernumber&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;quot;inv_hud&amp;quot;, this key can be set to specify a layernumber that the hud should be displayed with. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
== CVARs ==&lt;br /&gt;
&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to&lt;br /&gt;
players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_hud_file&#039;&#039;&#039; | string | default &amp;quot;guis/inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_hud&#039;&#039;&#039; | string | default &amp;quot;guis/loot.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the loot slot in the inventory. Since custom huds are now supported for different items, this cvar is no longer needed and might be removed later.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_group&#039;&#039;&#039; | string | default &amp;quot;Loot&amp;quot;&lt;br /&gt;
:Specifies the default category name for teh loot objects. This is probably not used and changing it has no effect.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_group_mode&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:This defines how the grouping should work. The following options are available:&lt;br /&gt;
:* 0 = ungrouped inventory (T1/T2 style)&lt;br /&gt;
:* 1 = grouped inventory&lt;br /&gt;
:&#039;&#039;&#039;&#039;ungrouped&#039;&#039;&#039;&#039; means that you can cycle through the inventory one after the other. This does not affect the NextCategory/PrevCategory keys and you can still use them. &lt;br /&gt;
:&#039;&#039;&#039;&#039;grouped&#039;&#039;&#039;&#039; means that you just cycle through one group at a time, and you have to use the NextCategory/PrevCategory keys to switch to a different category. Cyclying through the inventory will always stay in the selected group.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_visibility&#039;&#039;&#039; | int | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the visibility for the inventory. The following options are available&lt;br /&gt;
:* 0 = never visible&lt;br /&gt;
:* 1 = always visible&lt;br /&gt;
:* 2 = temporary (not yet implemented.)&lt;br /&gt;
:Option two will fade out the inventory after some specified time.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_opacity&#039;&#039;&#039; | float [0..1] | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the alphachannel for the inventory. It determines if and how much you can look through the inventory text and icons.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_in&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it becomes visible. 0 means that it will be immediatly visible when activated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_out&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it bcomes invisible. 0 means that it will be immediatly invisible when deactivated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_sound&#039;&#039;&#039; | string | default &amp;quot;sound/sfx/world/frob_loot.ogg&amp;quot;&lt;br /&gt;
:Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items.&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2267</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2267"/>
		<updated>2007-02-19T17:09:46Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an error message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;cursor&#039;&#039;&#039;   An inventory can have multiple cursors. This means that you can create objects which make use of a given inventory, but acquiring a cursor for it. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_category&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the category that the object should be filed under. This allows for player convenience and also is needed for stackable items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_name&#039;&#039;&#039; | string&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine, if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as different items.&lt;br /&gt;
:example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_icon&#039;&#039;&#039; | D3 path to icon&lt;br /&gt;
:Points to an icon that is to be displayed when the object is selected in the inventory. This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_stackable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines wether an item is an individual or can be a stack of similar objects. An example would be the various potions. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Keep in mind though, that a stack of gold coins is not per se stackable, because usually it will be only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_item_id&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to an arbitrary value. This is needed if the mapper wants to implement custom behaviour and he uniquily need to identfy an item or a group of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t allow the additional flexibillity. For example a mapper can create a fake health potion which shows up in the inventory just like a regular one, with the same name but a different map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and thinks he got a health potion, he might have aquired a  real one, while this one actually may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This will of course only work with additional scripting, because the mapper must know what to do with it. In this case the mapper might set a flag on the callback, and the next time the player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_count&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the number of items this represents. This is only needed for items where stackable is 1, otherwise it is set to 0. Als the option for stackable must always precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_droppable&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items, since they will have no representation after they were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_delete&#039;&#039;&#039; | [0/1]&lt;br /&gt;
:Determines if an anonymous object can be deleted, after it was put into the inventory. This is advisable, because the entity will stay in memory and a mapper could still access it via scripting. If the mapper decides that an item will no longer be accessed after it has been acquired, this key should be set to 1. This can affect loading time of saved games, as entities, that are no longer needed, don&#039;t need to be saved and restored. &lt;br /&gt;
:If the mapper also creates entities on the fly, with the help of scripts, it might better to set this flag on appropriate objects to free up the limited number of entities a map can hold. The usuals candidates for this flag are all the regular loot items, because they wont be used anymore after they have been found (lik coins, purses, etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_type&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
:* 0 = No lootitem (default)&lt;br /&gt;
:* 1 = Jewelry/Gems&lt;br /&gt;
:* 2 = Gold&lt;br /&gt;
:* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_loot_value&#039;&#039;&#039; | &amp;lt;N&amp;gt;&lt;br /&gt;
:Determines the amount of loot this item accounts for. This value is ignore if it is set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_map_start&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_target&#039;&#039;&#039; | &amp;lt;entityname&amp;gt;&lt;br /&gt;
:If the item should be assigned to an entity at map start, this should get the name of the entity who shold recive it. To give an item to the player, you would use &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be set and is ignored. Since the name can be arbitrary, this means of course, that you can also give it to an AI, which the player later on meets. This should not be confused with loot, that is to be attached to an AI though. If you attach a purse or a key to an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because such things will not be stored in the inventory. You could assign such things to an chest though, to give the objects to the player when he opens it. This is not directly support though, because it is assumed that chests will be filled with real objects, like TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud&#039;&#039;&#039; | &amp;lt;hudfilename&amp;gt;&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the loot.hud, which implements a custom hud that does not use the normal display for items. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item.In order to make this work, the mapper must write a script and assign this script to the key &amp;quot;scriptobject&amp;quot; on the entity. This will automatically launch that script when the entity is spawned,. If the messagefunctions are not implemented the item will show up as an empty slot on the inventory. A detailed description how to operate a custom hud will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;inv_hud_layer&#039;&#039;&#039; | int | layernumber&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;quot;inv_hud&amp;quot;, this key can be set to specify a layernumber that the hud should be displayed with. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
== CVARs ==&lt;br /&gt;
&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to&lt;br /&gt;
players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_hud_file&#039;&#039;&#039; | string | default &amp;quot;guis/inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_hud&#039;&#039;&#039; | string | default &amp;quot;guis/loot.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the loot slot in the inventory. Since custom huds are now supported for different items, this cvar is no longer needed and might be removed later.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_group&#039;&#039;&#039; | string | default &amp;quot;Loot&amp;quot;&lt;br /&gt;
:Specifies the default category name for teh loot objects. This is probably not used and changing it has no effect.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_group_mode&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:This defines how the grouping should work. The following options are available:&lt;br /&gt;
:* 0 = ungrouped inventory (T1/T2 style)&lt;br /&gt;
:* 1 = grouped inventory&lt;br /&gt;
:&#039;&#039;&#039;&#039;ungrouped&#039;&#039;&#039;&#039; means that you can cycle through the inventory one after the other. This does not affect the NextCategory/PrevCategory keys and you can still use them. &lt;br /&gt;
:&#039;&#039;&#039;&#039;grouped&#039;&#039;&#039;&#039; means that you just cycle through one group at a time, and you have to use the NextCategory/PrevCategory keys to switch to a different category. Cyclying through the inventory will always stay in the selected group.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_visibility&#039;&#039;&#039; | int | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the visibility for the inventory. The following options are available&lt;br /&gt;
:* 0 = never visible&lt;br /&gt;
:* 1 = always visible&lt;br /&gt;
:* 2 = temporary (not yet implemented.)&lt;br /&gt;
:Option two will fade out the inventory after some specified time.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_opacity&#039;&#039;&#039; | float [0..1] | default &amp;quot;1&amp;quot;&lt;br /&gt;
:Specifies the alphachannel for the inventory. It determines if and how much you can look through the inventory text and icons.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_in&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it becomes visible. 0 means that it will be immediatly visible when activated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_fade_out&#039;&#039;&#039; | int | default &amp;quot;0&amp;quot;&lt;br /&gt;
:Specifies how long it should take for the inventory until it bcomes invisible. 0 means that it will be immediatly invisible when deactivated.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;tdm_inv_loot_sound&#039;&#039;&#039; | string | default &amp;quot;sound/sfx/world/frob_loot.ogg&amp;quot;&lt;br /&gt;
:Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items.&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
&lt;br /&gt;
To be written...&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2266</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2266"/>
		<updated>2007-02-19T16:14:32Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;spawnclass&#039;&#039;&#039; CFrobDoor&lt;br /&gt;
:This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;open&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;locked&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;pickable&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;rotate&#039;&#039;&#039; idAngle [0 90 0]&lt;br /&gt;
:Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;&lt;br /&gt;
:Default [0 90 0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;translate&#039;&#039;&#039; idVec3 [0 0 0]&lt;br /&gt;
:Defines the translation value that is to be used whenever a door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_open&#039;&#039;&#039; string/shader&lt;br /&gt;
:Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_close&#039;&#039;&#039; string/shader&lt;br /&gt;
:Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_locked&#039;&#039;&#039; string&lt;br /&gt;
:Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_unlock&#039;&#039;&#039; string&lt;br /&gt;
:Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2265</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2265"/>
		<updated>2007-02-19T16:13:53Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;spawnclass&#039;&#039;&#039; CFrobDoor&lt;br /&gt;
:This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;open&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;locked&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;pickable&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;rotate&#039;&#039;&#039; idAngle [0 90 0]&lt;br /&gt;
:Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;&lt;br /&gt;
:Default [0 90 0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;translate&#039;&#039;&#039; idVec3 [0 0 0]&lt;br /&gt;
:Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_open&#039;&#039;&#039; string/shader&lt;br /&gt;
:Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_close&#039;&#039;&#039; string/shader&lt;br /&gt;
:Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_locked&#039;&#039;&#039; string&lt;br /&gt;
:Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_unlock&#039;&#039;&#039; string&lt;br /&gt;
:Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2264</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2264"/>
		<updated>2007-02-19T16:12:42Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;spawnclass&#039;&#039;&#039; CFrobDoor&lt;br /&gt;
:This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;open&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;locked&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;pickable&#039;&#039;&#039; [1|0]&lt;br /&gt;
:Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039;&lt;br /&gt;
:Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039;&lt;br /&gt;
:Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039;&lt;br /&gt;
:Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2263</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2263"/>
		<updated>2007-02-19T16:11:49Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;spawnclass: CFrobDoor&#039;&#039;&#039;&lt;br /&gt;
:This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;open: [1|0]&#039;&#039;&#039;&lt;br /&gt;
:Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;locked: [1|0]&#039;&#039;&#039;&lt;br /&gt;
:Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;pickable: [1|0]&#039;&#039;&#039;&lt;br /&gt;
:Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039;&lt;br /&gt;
:Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039;&lt;br /&gt;
:Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039;&lt;br /&gt;
:Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039;&lt;br /&gt;
:Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2262</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2262"/>
		<updated>2007-02-19T16:09:27Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;spawnclass: CFrobDoor&#039;&#039;&#039; This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;open: [1|0]&#039;&#039;&#039; Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;locked: [1|0]&#039;&#039;&#039; Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pickable: [1|0]&#039;&#039;&#039; Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039; Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039; Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039; Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039; Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039; Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039; Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2261</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2261"/>
		<updated>2007-02-19T16:08:24Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;spawnclass: CFrobDoor&#039;&#039;&#039; This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;open: [1|0]&#039;&#039;&#039; Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;locked: [1|0]&#039;&#039;&#039; Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pickable: [1|0]&#039;&#039;&#039; Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039; Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039; [This feature is currently not implemented] Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039; Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039; Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039; Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039; Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2260</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2260"/>
		<updated>2007-02-19T16:08:09Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;spawnclass: CFrobDoor&#039;&#039;&#039; This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;open: [1|0]&#039;&#039;&#039; Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;locked: [1|0]&#039;&#039;&#039; Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pickable: [1|0]&#039;&#039;&#039; Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039; Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039; [This feature is currently not implemented] Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039; Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039; Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039; Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039; Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Func_darkmod_door&amp;diff=2259</id>
		<title>Func darkmod door</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Func_darkmod_door&amp;diff=2259"/>
		<updated>2007-02-19T16:06:19Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: Func darkmod door moved to Doors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Doors]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2258</id>
		<title>Doors</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Doors&amp;diff=2258"/>
		<updated>2007-02-19T16:06:19Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: Func darkmod door moved to Doors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|sparhawk &amp;amp; Ishtvan|1722}}&lt;br /&gt;
&lt;br /&gt;
This a short description of the keys/values of &#039;&#039;&#039;func_darkmod_door&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;spawnclass: CFrobDoor&#039;&#039;&#039; This is the class that is to be used for the normal doors and directly refers to the C++ class that encapsulates the code for this entity.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;open: [1|0]&#039;&#039;&#039; Defines wether the door is in state open or closed. this has nothing to do with the visual representation of the door. If the door is placed in such a way that it looks open, but is defined as closed here the player might get confused in certain situations. &#039;&#039;&#039;(Default: 0 = closed)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;locked: [1|0]&#039;&#039;&#039; Defines wether the door is currently locked. If this is the case it will require an entity that is associated with it to be able to unlock it. &#039;&#039;&#039;(Default: 0 = locked)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pickable: [1|0]&#039;&#039;&#039; Defines wether this door can be lockpicked. If set to 1 the lockpicks can be used on it, otherwise the door can only be unlocked with the appropriate key. &#039;&#039;&#039;(Default: 1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;rotate: idAngle [0 90 0]&#039;&#039;&#039; Defines the angle the door should rotate when it is opened. On subsequent uses the door will rotate back and forth. &#039;&#039;&#039;(Default: 0 90 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;translate: idVec3 [0 0 0]&#039;&#039;&#039; [This feature is currently not implemented] Defines the translation value that is to be used whenevera door is opened. This can be used for sliding doors. &#039;&#039;&#039;(Default: 0 0 0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_open: string/shader&#039;&#039;&#039; Defines the sound that is to be played whenever the door is opened. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_close: string/shader&#039;&#039;&#039; Same as above. Default: sound/misc/creakydooropen.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_locked: string&#039;&#039;&#039; Defines the sound that is to be played whenever a door is locked and the player tries to open the door. Default: sound/misc/doorlocked_t2.ogg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;snd_unlock: string&#039;&#039;&#039; Defines the sound that is to be played whenever the door is successfully unlocked. Default: sound/misc/unlocked_t2.ogg&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2244</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2244"/>
		<updated>2007-02-12T20:57:26Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Spawnargs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an errr message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
   inv_category : string&lt;br /&gt;
   Specifies the cagtegory that the object should be filed under. This &lt;br /&gt;
   allows for player convenience and also is needed for stackable items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_name : string&lt;br /&gt;
   Specifies the name the object should display when it is activated in the inventory.&lt;br /&gt;
   Keep in mind that the display name and the category together are used to determine,&lt;br /&gt;
   if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you&lt;br /&gt;
   create to &amp;quot;Health Potion&amp;quot; items, but with different categories, they are treated as &lt;br /&gt;
   different items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_icon : D3 path to icon&lt;br /&gt;
   Points to an icon that is to be displayed when the object is selected in the inventory.&lt;br /&gt;
   This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
   inv_stackable : [0/1]&lt;br /&gt;
   Determines wether an item is an individual or can be a stack of similar objects. An&lt;br /&gt;
   Example would be the various potions. The player can pick up more than one health &lt;br /&gt;
   potion, but in the inventory he will only get one item with a counter. Keep in mind&lt;br /&gt;
   though, that a stack of gold coins is not per se stackable, because usually it will be&lt;br /&gt;
   only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it&lt;br /&gt;
   is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
   inv_item_id : string&lt;br /&gt;
   This key can be set by the mapper to an arbitrary value. This is needed if the mapper&lt;br /&gt;
   wants to implement custom behaviour and he uniquily need to identfy an item or a group&lt;br /&gt;
   of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t &lt;br /&gt;
   allow the additional flexibillity. For example a mapper can create a fake health potion&lt;br /&gt;
   which shows up in the inventory just like a regular one, with the same name but a differten&lt;br /&gt;
   map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and&lt;br /&gt;
   thinks he got a health potion, he might have aquired a  real one, while this one actually&lt;br /&gt;
   may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This&lt;br /&gt;
   will of course only work with additional scripting, because the mapper must know what to&lt;br /&gt;
   do with it. In this case the mapper might set a flag on the callback, and the next time the &lt;br /&gt;
   player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
   inv_count : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the number of items this represents. This is only needed for items where&lt;br /&gt;
   stackable is 1, otherwise it is set to 0. Als the option for stackable must always &lt;br /&gt;
   precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
   inv_droppable : [0/1]&lt;br /&gt;
   If set to 1 the item can be dropped into the map by the player. This will not&lt;br /&gt;
   work for anonymous items, since they will have no representation after they&lt;br /&gt;
   were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
   inv_delete : [0/1]&lt;br /&gt;
   Determines if an anonymous object can be deleted, after it was put into the inventory.&lt;br /&gt;
   This is advisable, because the entity will stay in memory and a mapper could still&lt;br /&gt;
   access it via scripting. If the mapper decides that an item will no longer be accessed&lt;br /&gt;
   after it has been acquired, this key should be set to 1. This can affect loading time&lt;br /&gt;
   of saved games, as entities, that are no longer needed, don&#039;t need to be saved and&lt;br /&gt;
   restored.&lt;br /&gt;
   If the mapper also creates entities on the fly, with the help of scripts, it might&lt;br /&gt;
   better to set this flag on appropriate objects to free up the limited number of&lt;br /&gt;
   entities a map can hold. The usuals candidates for this flag are all the regular loot&lt;br /&gt;
   items, because they wont be used anymore after they have been found (lik coins, purses,&lt;br /&gt;
   etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since&lt;br /&gt;
   droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_type : [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
   * 0 = No lootitem (default)&lt;br /&gt;
   * 1 = Jewelry/Gems&lt;br /&gt;
   * 2 = Gold&lt;br /&gt;
   * 3 = Goods&lt;br /&gt;
   This has to be set in order to define what kind of item it is and if it is a loot item,&lt;br /&gt;
   which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_value : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the amount of loot this item accounts for. This value is ignore if it is&lt;br /&gt;
   set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
   inv_map_start : [0|1]&lt;br /&gt;
   Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
   inv_target : &amp;lt;entityname&amp;gt;&lt;br /&gt;
   If the item should be assigned to an entity at map start, this should get the name&lt;br /&gt;
   of the entity who shold recive it. To give an item to the player, you would use&lt;br /&gt;
   &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by&lt;br /&gt;
   default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be&lt;br /&gt;
   set and is ignored. Since the name can be arbitrary, this means of course, that you&lt;br /&gt;
   can also give it to an AI, which the player later on meets. This should not be confused&lt;br /&gt;
   with loot, that is to be attached to an AI though. If you attach a purse or a key to&lt;br /&gt;
   an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because&lt;br /&gt;
   such things will not be stored in the inventory. You could assign such things to an&lt;br /&gt;
   chest though, to give the objects to the player when he opens it. This is not directly&lt;br /&gt;
   support though, because it is assumed that chests will be filled with real objects, like&lt;br /&gt;
   TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2243</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2243"/>
		<updated>2007-02-12T20:57:05Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Spawnargs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an errr message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
   inv_category : string&lt;br /&gt;
   Specifies the cagtegory that the object should be filed under. This &lt;br /&gt;
   allows for player convenience and also is needed for stackable items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_name : string&lt;br /&gt;
   Specifies the name the object should display when it is activated in the inventory.&lt;br /&gt;
   Keep in mind that the display name and the category together are used to determine,&lt;br /&gt;
   if the inv_stackable flag is set to 1, wether this is a similar item or not. So if you&lt;br /&gt;
   create to &amp;quot;Health Potion&amp;quot;  but with different categories, they are treated as different&lt;br /&gt;
   items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_icon : D3 path to icon&lt;br /&gt;
   Points to an icon that is to be displayed when the object is selected in the inventory.&lt;br /&gt;
   This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
   inv_stackable : [0/1]&lt;br /&gt;
   Determines wether an item is an individual or can be a stack of similar objects. An&lt;br /&gt;
   Example would be the various potions. The player can pick up more than one health &lt;br /&gt;
   potion, but in the inventory he will only get one item with a counter. Keep in mind&lt;br /&gt;
   though, that a stack of gold coins is not per se stackable, because usually it will be&lt;br /&gt;
   only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it&lt;br /&gt;
   is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
   inv_item_id : string&lt;br /&gt;
   This key can be set by the mapper to an arbitrary value. This is needed if the mapper&lt;br /&gt;
   wants to implement custom behaviour and he uniquily need to identfy an item or a group&lt;br /&gt;
   of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t &lt;br /&gt;
   allow the additional flexibillity. For example a mapper can create a fake health potion&lt;br /&gt;
   which shows up in the inventory just like a regular one, with the same name but a differten&lt;br /&gt;
   map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and&lt;br /&gt;
   thinks he got a health potion, he might have aquired a  real one, while this one actually&lt;br /&gt;
   may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This&lt;br /&gt;
   will of course only work with additional scripting, because the mapper must know what to&lt;br /&gt;
   do with it. In this case the mapper might set a flag on the callback, and the next time the &lt;br /&gt;
   player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
   inv_count : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the number of items this represents. This is only needed for items where&lt;br /&gt;
   stackable is 1, otherwise it is set to 0. Als the option for stackable must always &lt;br /&gt;
   precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
   inv_droppable : [0/1]&lt;br /&gt;
   If set to 1 the item can be dropped into the map by the player. This will not&lt;br /&gt;
   work for anonymous items, since they will have no representation after they&lt;br /&gt;
   were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
   inv_delete : [0/1]&lt;br /&gt;
   Determines if an anonymous object can be deleted, after it was put into the inventory.&lt;br /&gt;
   This is advisable, because the entity will stay in memory and a mapper could still&lt;br /&gt;
   access it via scripting. If the mapper decides that an item will no longer be accessed&lt;br /&gt;
   after it has been acquired, this key should be set to 1. This can affect loading time&lt;br /&gt;
   of saved games, as entities, that are no longer needed, don&#039;t need to be saved and&lt;br /&gt;
   restored.&lt;br /&gt;
   If the mapper also creates entities on the fly, with the help of scripts, it might&lt;br /&gt;
   better to set this flag on appropriate objects to free up the limited number of&lt;br /&gt;
   entities a map can hold. The usuals candidates for this flag are all the regular loot&lt;br /&gt;
   items, because they wont be used anymore after they have been found (lik coins, purses,&lt;br /&gt;
   etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since&lt;br /&gt;
   droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_type : [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
   * 0 = No lootitem (default)&lt;br /&gt;
   * 1 = Jewelry/Gems&lt;br /&gt;
   * 2 = Gold&lt;br /&gt;
   * 3 = Goods&lt;br /&gt;
   This has to be set in order to define what kind of item it is and if it is a loot item,&lt;br /&gt;
   which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_value : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the amount of loot this item accounts for. This value is ignore if it is&lt;br /&gt;
   set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
   inv_map_start : [0|1]&lt;br /&gt;
   Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
   inv_target : &amp;lt;entityname&amp;gt;&lt;br /&gt;
   If the item should be assigned to an entity at map start, this should get the name&lt;br /&gt;
   of the entity who shold recive it. To give an item to the player, you would use&lt;br /&gt;
   &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by&lt;br /&gt;
   default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be&lt;br /&gt;
   set and is ignored. Since the name can be arbitrary, this means of course, that you&lt;br /&gt;
   can also give it to an AI, which the player later on meets. This should not be confused&lt;br /&gt;
   with loot, that is to be attached to an AI though. If you attach a purse or a key to&lt;br /&gt;
   an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because&lt;br /&gt;
   such things will not be stored in the inventory. You could assign such things to an&lt;br /&gt;
   chest though, to give the objects to the player when he opens it. This is not directly&lt;br /&gt;
   support though, because it is assumed that chests will be filled with real objects, like&lt;br /&gt;
   TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2242</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2242"/>
		<updated>2007-02-12T20:55:50Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Spawnargs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an errr message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
   inv_category : string&lt;br /&gt;
   Specifies the cagtegory that the object should be filed under. This &lt;br /&gt;
   allows for player convenience and also is needed for stackable items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_name : string&lt;br /&gt;
   Specifies the name the object should display when it is activated in the inventory.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_icon : D3 path to icon&lt;br /&gt;
   Points to an icon that is to be displayed when the object is selected in the inventory.&lt;br /&gt;
   This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
   inv_stackable : [0/1]&lt;br /&gt;
   Determines wether an item is an individual or can be a stack of similar objects. An&lt;br /&gt;
   Example would be the various potions. The player can pick up more than one health &lt;br /&gt;
   potion, but in the inventory he will only get one item with a counter. Keep in mind&lt;br /&gt;
   though, that a stack of gold coins is not per se stackable, because usually it will be&lt;br /&gt;
   only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it&lt;br /&gt;
   is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
   inv_item_id : string&lt;br /&gt;
   This key can be set by the mapper to an arbitrary value. This is needed if the mapper&lt;br /&gt;
   wants to implement custom behaviour and he uniquily need to identfy an item or a group&lt;br /&gt;
   of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t &lt;br /&gt;
   allow the additional flexibillity. For example a mapper can create a fake health potion&lt;br /&gt;
   which shows up in the inventory just like a regular one, with the same name but a differten&lt;br /&gt;
   map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and&lt;br /&gt;
   thinks he got a health potion, he might have aquired a  real one, while this one actually&lt;br /&gt;
   may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This&lt;br /&gt;
   will of course only work with additional scripting, because the mapper must know what to&lt;br /&gt;
   do with it. In this case the mapper might set a flag on the callback, and the next time the &lt;br /&gt;
   player uses a health potion, the action is triggered.&lt;br /&gt;
&lt;br /&gt;
   inv_count : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the number of items this represents. This is only needed for items where&lt;br /&gt;
   stackable is 1, otherwise it is set to 0. Als the option for stackable must always &lt;br /&gt;
   precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
   inv_droppable : [0/1]&lt;br /&gt;
   If set to 1 the item can be dropped into the map by the player. This will not&lt;br /&gt;
   work for anonymous items, since they will have no representation after they&lt;br /&gt;
   were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
   inv_delete : [0/1]&lt;br /&gt;
   Determines if an anonymous object can be deleted, after it was put into the inventory.&lt;br /&gt;
   This is advisable, because the entity will stay in memory and a mapper could still&lt;br /&gt;
   access it via scripting. If the mapper decides that an item will no longer be accessed&lt;br /&gt;
   after it has been acquired, this key should be set to 1. This can affect loading time&lt;br /&gt;
   of saved games, as entities, that are no longer needed, don&#039;t need to be saved and&lt;br /&gt;
   restored.&lt;br /&gt;
   If the mapper also creates entities on the fly, with the help of scripts, it might&lt;br /&gt;
   better to set this flag on appropriate objects to free up the limited number of&lt;br /&gt;
   entities a map can hold. The usuals candidates for this flag are all the regular loot&lt;br /&gt;
   items, because they wont be used anymore after they have been found (lik coins, purses,&lt;br /&gt;
   etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since&lt;br /&gt;
   droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_type : [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
   * 0 = No lootitem (default)&lt;br /&gt;
   * 1 = Jewelry/Gems&lt;br /&gt;
   * 2 = Gold&lt;br /&gt;
   * 3 = Goods&lt;br /&gt;
   This has to be set in order to define what kind of item it is and if it is a loot item,&lt;br /&gt;
   which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_value : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the amount of loot this item accounts for. This value is ignore if it is&lt;br /&gt;
   set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
   inv_map_start : [0|1]&lt;br /&gt;
   Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
   inv_target : &amp;lt;entityname&amp;gt;&lt;br /&gt;
   If the item should be assigned to an entity at map start, this should get the name&lt;br /&gt;
   of the entity who shold recive it. To give an item to the player, you would use&lt;br /&gt;
   &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by&lt;br /&gt;
   default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be&lt;br /&gt;
   set and is ignored. Since the name can be arbitrary, this means of course, that you&lt;br /&gt;
   can also give it to an AI, which the player later on meets. This should not be confused&lt;br /&gt;
   with loot, that is to be attached to an AI though. If you attach a purse or a key to&lt;br /&gt;
   an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because&lt;br /&gt;
   such things will not be stored in the inventory. You could assign such things to an&lt;br /&gt;
   chest though, to give the objects to the player when he opens it. This is not directly&lt;br /&gt;
   support though, because it is assumed that chests will be filled with real objects, like&lt;br /&gt;
   TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2241</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=2241"/>
		<updated>2007-02-12T20:54:00Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Spawnargs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This article describes how to set up inventory items and how they can be given to an entity.  The purpose of the inventory is, to keep track of all items that are in an entities possessions. I delibaretly use &amp;quot;entity&amp;quot; here because, in principle, all entities can have an inventory, even though it may only make sense for AI and the player to actuall have one. For future improvements it might be usefull for other purposes as well though.&lt;br /&gt;
Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default implementation is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well, since they are the standard way of configuring objects in Doom 3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!!!&#039;&#039;&#039; Normally items will vanish from the map as soon as the item is successfully put into the inventory. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Currently there is only one error condition that can really trigger this, which is that an item is configured to not be anonymous, but has an empty inv_icon entry. Additionally to not becoming invisible, you can also look into the logfile, because there you can find an errr message with the name of the entity that was causing the problem.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;anonymous items&#039;&#039;&#039;   An anonymous object means that it will not show up as a seperate item in the inventory. An example would be normal loot like coins or golden dishes. Since they should not be stored in the inventory as seperate items, they don&#039;t need to be displayed either. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they went into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;stackable items&#039;&#039;&#039;   These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can posses more than one health potion at a time and this would be indicated by the counter. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be of different types. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; is a classification of items, to visually group them together. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that this category is entirely up to the mapper to decide and also is option. it doesn&#039;t has any consequence as to the playabillity and is only a convenience for the player. Categories can switched of on the HUD, so that the player can use the inventory also in the Thief style (which is the default).&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
&lt;br /&gt;
   inv_category : string&lt;br /&gt;
   Specifies the cagtegory that the object should be filed under. This &lt;br /&gt;
   allows for player convenience and also is needed for stackable items.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_name : string&lt;br /&gt;
   Specifies the name the object should display when it is activated in the inventory.&lt;br /&gt;
   example: &amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   inv_icon : D3 path to icon&lt;br /&gt;
   Points to an icon that is to be displayed when the object is selected in the inventory.&lt;br /&gt;
   This entry also determines wether an object is to be considered anonymous or not. &lt;br /&gt;
&lt;br /&gt;
   inv_stackable : [0/1]&lt;br /&gt;
   Determines wether an item is an individual or can be a stack of similar objects. An&lt;br /&gt;
   Example would be the various potions. The player can pick up more than one health &lt;br /&gt;
   potion, but in the inventory he will only get one item with a counter. Keep in mind&lt;br /&gt;
   though, that a stack of gold coins is not per se stackable, because usually it will be&lt;br /&gt;
   only one model of a stack of coin with a value of i.E. 10 Gold, so this means that it&lt;br /&gt;
   is not to be confused with a single gold coin having 10 items with a value of 1 each.&lt;br /&gt;
&lt;br /&gt;
   inv_item_id : string&lt;br /&gt;
   This key can be set by the mapper to an arbitrary value. This is needed if the mapper&lt;br /&gt;
   wants to implement custom behaviour and he uniquily need to identfy an item or a group&lt;br /&gt;
   of items. Normally the mapper could also use the inv_name for this key, but this doesn&#039;t &lt;br /&gt;
   allow the additional flexibillity. For example a mapper can create a fake health potion&lt;br /&gt;
   which shows up in the inventory just like a regular one, with the same name but a differten&lt;br /&gt;
   map model. So if the player picks this bottle up, because he doesn&#039;t look carefull and&lt;br /&gt;
   thinks he got a health potion, he might have aquired a  real one, while this one actually&lt;br /&gt;
   may deal some damage or doesn&#039;t work at all, or whatever the mapper wants it to do. This&lt;br /&gt;
   will of course only work with additional scripting, because the mapper must know what to&lt;br /&gt;
   do with it.&lt;br /&gt;
&lt;br /&gt;
   inv_count : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the number of items this represents. This is only needed for items where&lt;br /&gt;
   stackable is 1, otherwise it is set to 0. Als the option for stackable must always &lt;br /&gt;
   precede the count, otherwise the count is set to 0.&lt;br /&gt;
&lt;br /&gt;
   inv_droppable : [0/1]&lt;br /&gt;
   If set to 1 the item can be dropped into the map by the player. This will not&lt;br /&gt;
   work for anonymous items, since they will have no representation after they&lt;br /&gt;
   were put into the inventory.&lt;br /&gt;
&lt;br /&gt;
   inv_delete : [0/1]&lt;br /&gt;
   Determines if an anonymous object can be deleted, after it was put into the inventory.&lt;br /&gt;
   This is advisable, because the entity will stay in memory and a mapper could still&lt;br /&gt;
   access it via scripting. If the mapper decides that an item will no longer be accessed&lt;br /&gt;
   after it has been acquired, this key should be set to 1. This can affect loading time&lt;br /&gt;
   of saved games, as entities, that are no longer needed, don&#039;t need to be saved and&lt;br /&gt;
   restored.&lt;br /&gt;
   If the mapper also creates entities on the fly, with the help of scripts, it might&lt;br /&gt;
   better to set this flag on appropriate objects to free up the limited number of&lt;br /&gt;
   entities a map can hold. The usuals candidates for this flag are all the regular loot&lt;br /&gt;
   items, because they wont be used anymore after they have been found (lik coins, purses,&lt;br /&gt;
   etc.). Also note that, if dropappable is set to 1, then this key will be ignored, since&lt;br /&gt;
   droppabale items must be turned into entities again to be placed in the map.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_type : [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
   * 0 = No lootitem (default)&lt;br /&gt;
   * 1 = Jewelry/Gems&lt;br /&gt;
   * 2 = Gold&lt;br /&gt;
   * 3 = Goods&lt;br /&gt;
   This has to be set in order to define what kind of item it is and if it is a loot item,&lt;br /&gt;
   which category of loot it should account for.&lt;br /&gt;
&lt;br /&gt;
   inv_loot_value : &amp;lt;N&amp;gt;&lt;br /&gt;
   Determines the amount of loot this item accounts for. This value is ignore if it is&lt;br /&gt;
   set on an item, which is of loot_type = 0.&lt;br /&gt;
&lt;br /&gt;
   inv_map_start : [0|1]&lt;br /&gt;
   Determines wether this object should be assigned to an inventory at map start.&lt;br /&gt;
&lt;br /&gt;
   inv_target : &amp;lt;entityname&amp;gt;&lt;br /&gt;
   If the item should be assigned to an entity at map start, this should get the name&lt;br /&gt;
   of the entity who shold recive it. To give an item to the player, you would use&lt;br /&gt;
   &amp;quot;player1&amp;quot; as the name, because this is the name that the player entity gets by&lt;br /&gt;
   default. If inv_map_start is not set or set to 0, then this key doesn&#039;t need to be&lt;br /&gt;
   set and is ignored. Since the name can be arbitrary, this means of course, that you&lt;br /&gt;
   can also give it to an AI, which the player later on meets. This should not be confused&lt;br /&gt;
   with loot, that is to be attached to an AI though. If you attach a purse or a key to&lt;br /&gt;
   an AI, which the player can frob later on, then it doesn&#039;t need to get this set, because&lt;br /&gt;
   such things will not be stored in the inventory. You could assign such things to an&lt;br /&gt;
   chest though, to give the objects to the player when he opens it. This is not directly&lt;br /&gt;
   support though, because it is assumed that chests will be filled with real objects, like&lt;br /&gt;
   TDS did it. However the T1/T2 style chests are still possible to do with some scripting.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at the mapstart, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Create brush, select the item and/or models and place it anywhere you like in the map&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_map_start on the object entity to the value 1.&lt;br /&gt;
&lt;br /&gt;
* Set the key inv_target on the object entity to the value player1. If you want to assign this object to, as an example, a guard with the name Benny, then set it to benny, assuming the entity key &amp;quot;name&amp;quot; is also set to &amp;quot;benny&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The objects can really be placed anyhwere you like and it doesn&#039;t really matter. As soon as the map starts, the objects will be put in the inventory, and will vanish from the map. So you could put them right in front of the players eyes, and he still wouldn&#039;t see them, as this happens at the intialization time, before the map actually becomes visible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. Quite simple I would say. :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Objectives&amp;diff=2189</id>
		<title>Objectives</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Objectives&amp;diff=2189"/>
		<updated>2007-02-05T21:00:02Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: /* Objective Attributes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|Ishtvan|4121}}&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
A mapper may add on objectives by setting key/values on a [[target_addobjectives]] and triggering it. If you want to add objectives at the very beginning of the map, put in a target_addobjectives and put that entity in as a target of the [[worldspawn]]. The worldspawn will trigger it on map start.&lt;br /&gt;
&lt;br /&gt;
Objectives consist of overall objectives, objective components, and boolean relationships for failure and success. A map can have any number of overall objectives, and each objective can have any number of components.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Objective 1 text: &#039;&#039;&amp;quot;Kidnap Benny and get out to the streets&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objective 1 Components:&#039;&#039;&#039;&lt;br /&gt;
# Benny is KO&#039;d&lt;br /&gt;
# Benny is at the map exit&lt;br /&gt;
# Player is at the map exit&lt;br /&gt;
# NOT( Benny is dead )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boolean relationship for Obj. 1 COMPLETION:&#039;&#039;&#039;&lt;br /&gt;
1 AND 2 AND 3 AND 4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boolean relationship for Obj. 1 FAILURE:&#039;&#039;&#039;&lt;br /&gt;
NOT(4) (If Benny is dead we can&#039;t kidnap him alive)&lt;br /&gt;
&lt;br /&gt;
= Objective Attributes =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Possible Objective States:&#039;&#039;&#039;&lt;br /&gt;
:* OBJ_INCOMPLETE&lt;br /&gt;
:* OBJ_COMPLETE&lt;br /&gt;
:* OBJ_FAILED&lt;br /&gt;
:* OBJ_INVALID&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mandatory:&#039;&#039;&#039; Set to false for optional objective that doesn&#039;t fail the mission if you fail it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Irreversible:&#039;&#039;&#039; Irreversible objectives lock their state once they&#039;re changed to COMPLETE or FAILED. Irreversible components will only change state once and then stay in that state. (Note: There are scriptfunctions to reset irreversible objectives and components if the FM author wants to let them change again for some reason).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ongoing:&#039;&#039;&#039; Use this for objectives that should remain successful, but won&#039;t be checked off until the end of the mission. For example, &amp;quot;don&#039;t blackjack more than two people&amp;quot; is successful at the start of the mission, because you haven&#039;t blackjacked anyone yet, but when you KO one person and the KO callback is made to the objective system, and the system then sees that only one person has been KO&#039;d, the system needs some way of knowing not to say &amp;quot;Objective Complete&amp;quot; when you KO that first person, i.e., that this is an ongoing objective.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Visible:&#039;&#039;&#039; Whether the objective appears in the player&#039;s Objectives GUI. Use invalidated and hidden objectives to queue up objectives for later, or hidden but valid objectives as anothe way of scripting events when the player does a certain thing, since objectives can launch an arbitrary script after they&#039;re completed.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Difficulty:&#039;&#039;&#039; NOT YET IMPLEMENTED&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Enabling Objectives:&#039;&#039;&#039; This is a list of other objectives that must first be completed before this objective can be completed. For example, we shouldn&#039;t mark &amp;quot;objective complete&amp;quot; for exiting the mission until all the other mission goals have been completed.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion/Failure scripts:&#039;&#039;&#039; Name of a script to call when this objective is completed or failed. For example, this could be used in campaigns to set up optional objectives in one mission that effect other missions. This feature could also be used as a general scripting aide if the author wants to set up the conditions for something happening using a hidden objective.&lt;br /&gt;
&lt;br /&gt;
= Objective Component Attributes =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible &#039;Objective Component&#039; Types:&#039;&#039;&#039;&lt;br /&gt;
* item (picked up or dropped an inventory item)&lt;br /&gt;
* kill (also includes non-living things being destroyed)&lt;br /&gt;
* ko&lt;br /&gt;
* ai_find_item (not implemented)&lt;br /&gt;
* ai_find_body (not implemented)&lt;br /&gt;
* alert&lt;br /&gt;
* location (Item A at location B, where &amp;quot;A&amp;quot; is any entity that must have the key &amp;quot;objective_ent&amp;quot; set to &amp;quot;1&amp;quot; on it, and location B is a special entity info_objective_location. Later on we may support using the D3 location system as well)&lt;br /&gt;
* custom (custom component that is set true/false by a map script)&lt;br /&gt;
&lt;br /&gt;
These components are triggered every N milliseconds by a system clock:&lt;br /&gt;
* distance (distance between the origin of entity X and that of entity Y)&lt;br /&gt;
* custom_clocked (runs a custom map script that should check something and set the objective)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specification Methods:&#039;&#039;&#039;&lt;br /&gt;
Specification methods determine what the objective component is looking for. Does it look at how many AI of a specific team you&#039;ve KO&#039;d, how many humans, how many overall, or whether you&#039;ve KO&#039;d an AI with a certain name? Each objective component can have up to two of the following specifiers (Not all components can take two specifiers, and not all specifiers make sense for all component types, future documentation will cover that).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following apply to both AIs and items:&#039;&#039;&#039;&lt;br /&gt;
* none&lt;br /&gt;
* name (name of entity)&lt;br /&gt;
* overall (overall count of something: kills, loot, kos, etc)&lt;br /&gt;
* group (inventory group)&lt;br /&gt;
* classname (soft/scripting classname)&lt;br /&gt;
* spawnclass (hard / SDK classname)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following specification methods apply only to AI:&#039;&#039;&#039;&lt;br /&gt;
* ai_type (human, beast, undead, bot, etc)&lt;br /&gt;
* ai_team (mapper defined team of the AI)&lt;br /&gt;
* ai_innocence (For distinguishing noncombatants)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integer and String Arguments:&#039;&#039;&#039;&lt;br /&gt;
A component can have an arbitrary number of int and string arguments that are fed in space delimited lists. The type of component and specifier determines which args it will use and what it will do with them. For example, the first integer arg is often used to determine how many times something can happen, e.g., the player is only allowed 4 KOs, or must get 500 loot. Not all events are counted up though. The only things that are counted up are things in the mission statistics like loot and kills, so everything else is pretty much a one shot deal where it happens once. Future documentation will detail which objective events are counted up and which are one shots.&lt;br /&gt;
&lt;br /&gt;
== Additional Component Attributes ==&lt;br /&gt;
&lt;br /&gt;
* not (If this is set, the component is considered NOTed. So if the component is to kill 5 AI, and it&#039;s NOTted, it will remain true until 5 AI are killed, then be set to false)&lt;br /&gt;
* Irreversible&lt;br /&gt;
* clock_interval (For clocked components, this determines how often they are updated)&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
Using components that combine component types with up to 2 entity arguments and 2 specifier types, plus objectives that are a boolean combination of those components should hopefully allow for a variety of different objectives.&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Objectives&amp;diff=2188</id>
		<title>Objectives</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Objectives&amp;diff=2188"/>
		<updated>2007-02-05T20:57:05Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|Ishtvan|4121}}&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
A mapper may add on objectives by setting key/values on a [[target_addobjectives]] and triggering it. If you want to add objectives at the very beginning of the map, put in a target_addobjectives and put that entity in as a target of the [[worldspawn]]. The worldspawn will trigger it on map start.&lt;br /&gt;
&lt;br /&gt;
Objectives consist of overall objectives, objective components, and boolean relationships for failure and success. A map can have any number of overall objectives, and each objective can have any number of components.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Objective 1 text: &#039;&#039;&amp;quot;Kidnap Benny and get out to the streets&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objective 1 Components:&#039;&#039;&#039;&lt;br /&gt;
# Benny is KO&#039;d&lt;br /&gt;
# Benny is at the map exit&lt;br /&gt;
# Player is at the map exit&lt;br /&gt;
# NOT( Benny is dead )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boolean relationship for Obj. 1 COMPLETION:&#039;&#039;&#039;&lt;br /&gt;
1 AND 2 AND 3 AND 4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boolean relationship for Obj. 1 FAILURE:&#039;&#039;&#039;&lt;br /&gt;
NOT(4) (If Benny is dead we can&#039;t kidnap him alive)&lt;br /&gt;
&lt;br /&gt;
= Objective Attributes =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Possible Objective States:&#039;&#039;&#039;&lt;br /&gt;
:* OBJ_INCOMPLETE&lt;br /&gt;
:* OBJ_COMPLETE&lt;br /&gt;
:* OBJ_FAILED&lt;br /&gt;
:* OBJ_INVALID&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mandatory:&#039;&#039;&#039; Set to false for optional objective that doesn&#039;t fail the mission if you fail it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Irreversible:&#039;&#039;&#039; Irreversible objectives lock their state once they&#039;re changed to COMPLETE or FAILED. Irreversible components will only change state once and then change in that state. (Note: There are scriptfunctions to reset irreversible objectives and components if the FM author wants to let them change again for some reason).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ongoing:&#039;&#039;&#039; Use this for objectives that should remain successful, but won&#039;t be checked off until the end of the mission. For example, &amp;quot;don&#039;t blackjack more than two people&amp;quot; is successful at the start of the mission, because you haven&#039;t blackjacked anyone yet, but when you KO one person and the KO callback is made to the objective system, and the system then sees that only one person has been KO&#039;d, the system needs some way of knowing not to say &amp;quot;Objective Complete&amp;quot; when you KO that first person, i.e., that this is an ongoing objective.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Visible:&#039;&#039;&#039; Whether the objective appears in the player&#039;s Objectives GUI. Use invalidated and hidden objectives to queue up objectives for later, or hidden but valid objectives as anothe way of scripting events when the player does a certain thing, since objectives can launch an arbitrary script after they&#039;re completed.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Difficulty:&#039;&#039;&#039; NOT YET IMPLEMENTED&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Enabling Objectives:&#039;&#039;&#039; This is a list of other objectives that must first be completed before this objective can be completed. For example, we shouldn&#039;t mark &amp;quot;objective complete&amp;quot; for exiting the mission until all the other mission goals have been completed.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion/Failure scripts:&#039;&#039;&#039; Name of a script to call when this objective is completed or failed. For example, this could be used in campaigns to set up optional objectives in one mission that effect other missions. This feature could also be used as a general scripting aide if the author wants to set up the conditions for something happening using a hidden objective.&lt;br /&gt;
&lt;br /&gt;
= Objective Component Attributes =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible &#039;Objective Component&#039; Types:&#039;&#039;&#039;&lt;br /&gt;
* item (picked up or dropped an inventory item)&lt;br /&gt;
* kill (also includes non-living things being destroyed)&lt;br /&gt;
* ko&lt;br /&gt;
* ai_find_item (not implemented)&lt;br /&gt;
* ai_find_body (not implemented)&lt;br /&gt;
* alert&lt;br /&gt;
* location (Item A at location B, where &amp;quot;A&amp;quot; is any entity that must have the key &amp;quot;objective_ent&amp;quot; set to &amp;quot;1&amp;quot; on it, and location B is a special entity info_objective_location. Later on we may support using the D3 location system as well)&lt;br /&gt;
* custom (custom component that is set true/false by a map script)&lt;br /&gt;
&lt;br /&gt;
These components are triggered every N milliseconds by a system clock:&lt;br /&gt;
* distance (distance between the origin of entity X and that of entity Y)&lt;br /&gt;
* custom_clocked (runs a custom map script that should check something and set the objective)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specification Methods:&#039;&#039;&#039;&lt;br /&gt;
Specification methods determine what the objective component is looking for. Does it look at how many AI of a specific team you&#039;ve KO&#039;d, how many humans, how many overall, or whether you&#039;ve KO&#039;d an AI with a certain name? Each objective component can have up to two of the following specifiers (Not all components can take two specifiers, and not all specifiers make sense for all component types, future documentation will cover that).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following apply to both AIs and items:&#039;&#039;&#039;&lt;br /&gt;
* none&lt;br /&gt;
* name (name of entity)&lt;br /&gt;
* overall (overall count of something: kills, loot, kos, etc)&lt;br /&gt;
* group (inventory group)&lt;br /&gt;
* classname (soft/scripting classname)&lt;br /&gt;
* spawnclass (hard / SDK classname)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following specification methods apply only to AI:&#039;&#039;&#039;&lt;br /&gt;
* ai_type (human, beast, undead, bot, etc)&lt;br /&gt;
* ai_team (mapper defined team of the AI)&lt;br /&gt;
* ai_innocence (For distinguishing noncombatants)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integer and String Arguments:&#039;&#039;&#039;&lt;br /&gt;
A component can have an arbitrary number of int and string arguments that are fed in space delimited lists. The type of component and specifier determines which args it will use and what it will do with them. For example, the first integer arg is often used to determine how many times something can happen, e.g., the player is only allowed 4 KOs, or must get 500 loot. Not all events are counted up though. The only things that are counted up are things in the mission statistics like loot and kills, so everything else is pretty much a one shot deal where it happens once. Future documentation will detail which objective events are counted up and which are one shots.&lt;br /&gt;
&lt;br /&gt;
== Additional Component Attributes ==&lt;br /&gt;
&lt;br /&gt;
* not (If this is set, the component is considered NOTed. So if the component is to kill 5 AI, and it&#039;s NOTted, it will remain true until 5 AI are killed, then be set to false)&lt;br /&gt;
* Irreversible&lt;br /&gt;
* clock_interval (For clocked components, this determines how often they are updated)&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
Using components that combine component types with up to 2 entity arguments and 2 specifier types, plus objectives that are a boolean combination of those components should hopefully allow for a variety of different objectives.&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=2066</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=2066"/>
		<updated>2006-11-01T13:27:50Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;margin:2em 0 0 0; text-align:center; font-size:200%;&amp;quot;&amp;gt;Welcome to the Dark Wiki&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:0 0 3em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;A wiki documenting the Dark Mod for Doom 3&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:50%; vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;New to the site?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki is focused on documenting the various aspects involved with developing, and mapping for, [[The Dark Mod]]. Please visit the about page or talk to some of our editors in #darkmod on irc.starchat.net if you want to learn more about this project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Want to help?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the modwiki is a community project, feel free to register and join us on this great endeavour! Please check out the style guide first and follow these guidelines. Visit open tasks to find out which pages need help. You can also visit the sandbox to experiment with the wiki markup language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Need Help with Wiki Articles?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
If you need help creating, editing or formatting wiki articles, take a look at our &#039;&#039;&#039;[[Basic Wiki Tutorial]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;High quality links:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other interesting Dark Mod related links:&lt;br /&gt;
&lt;br /&gt;
; [http://www.thedarkmod.com www.thedarkmod.com] : The project website&lt;br /&gt;
; [http://www.modetwo.net/darkmod www.modetwo.net/darkmod] : The project forum&lt;br /&gt;
&lt;br /&gt;
[[TheDarkWiki:Policy|The Dark Wiki Editing Policy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Editing Categories:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Installation]] : Information how to get The Dark Mod running&lt;br /&gt;
; [[Bindings and User Settings]] : Key binding and interface documentation.&lt;br /&gt;
; [[Universe]] : Information about The Dark Mod universe and setting&lt;br /&gt;
; [[:Category:Tutorial|Tutorials]] : Complete tutorials about setting up certain characteristics&lt;br /&gt;
; [[:Category:Editing|Editing]] : Information about level design and the tools&lt;br /&gt;
; [[Textures]] : Explanation of material shaders and image files&lt;br /&gt;
; [[Modeling]] : Modeling and file format information&lt;br /&gt;
; [[Sound]] : Soundeffects, ambients and how to get them ingame&lt;br /&gt;
; [[Coding]] : Source code modification, level and GUI scripting&lt;br /&gt;
; [[Release]] : How to pack a mission, and get it tested and released!&lt;br /&gt;
; [[Developer Info]] : Internal informations for developers of the core team&lt;br /&gt;
; [[Articles that need to be fixed]] : Links to pages which have wrong or missing information or otherwise require attention.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:2em 0 2em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;(Create a new page by making a link to it, then click it. Or you can just go to www.thirdfilms.com/darkwiki/yourpagename)&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Tutorials&amp;diff=1619</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Tutorials&amp;diff=1619"/>
		<updated>2006-06-20T07:41:19Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each tutorial is supposed to cover a complete topic without assuming prior knowledge about the topic in question.&lt;br /&gt;
&lt;br /&gt;
[[Creating doors]]&lt;br /&gt;
&lt;br /&gt;
[[Stim/Response]]&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=1618</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Main_Page&amp;diff=1618"/>
		<updated>2006-06-20T07:39:39Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;margin:2em 0 0 0; text-align:center; font-size:200%;&amp;quot;&amp;gt;Welcome to the Dark Wiki&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:0 0 3em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;A wiki documenting the Dark Mod for Doom 3&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:50%; vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;New to the site?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki is focused on documenting the various aspects involved with developing, and mapping, for The Dark Mod. Please visit the about page or talk to some of our editors in #darkmod on irc.starchat.net if you want to learn more about this project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Want to help?&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the modwiki is a community project, feel free to register and join us on this great endeavour! Please check out the style guide first and follow these guidelines. Visit open tasks to find out which pages need help. You can also visit the sandbox to experiment with the wiki markup language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;High quality links:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other interesting Dark Mod related links:&lt;br /&gt;
&lt;br /&gt;
; [http://www.thedarkmod.com www.thedarkmod.com] : The project website&lt;br /&gt;
; [http://www.modetwo.net/darkmod www.modetwo.net/darkmod] : The project forum&lt;br /&gt;
&lt;br /&gt;
[[TheDarkWiki:Policy|The Dark Wiki Editing Policy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;vertical-align:top; padding:2em; border:1px solid #e1e1e1; background-color:#f9f9f9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:130%&amp;quot;&amp;gt;&#039;&#039;&#039;Editing Categories:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Installation]] : Information how to get The Dark Mod running&lt;br /&gt;
; [[Universe]] : Information about The Dark Mod universe and setting&lt;br /&gt;
; [[Tutorials]] : Complete tutorials about setting up certain characteristics&lt;br /&gt;
; [[Editing]] : Information about level design and the tools&lt;br /&gt;
; [[Textures]] : Explanation of material shaders and image files&lt;br /&gt;
; [[Modeling]] : Modeling and file format information&lt;br /&gt;
; [[Sound]] : Soundeffects, ambients and how to get them ingame&lt;br /&gt;
; [[Coding]] : Source code modification, level and GUI scripting&lt;br /&gt;
; [[Release]] : How to pack a mission, and get it tested and released!&lt;br /&gt;
; [[Developer Info]] : Internal informations for developers of the core team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin:2em 0 2em 0; text-align:center; font-size:94%&amp;quot;&amp;gt;(Create a new page by making a link to it, then click it. Or you can just go to www.thirdfilms.com/darkwiki/yourpagename)&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1613</id>
		<title>Stim/Response</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1613"/>
		<updated>2006-02-07T12:38:52Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Stim/Response system for The Dark Mod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This article describes how the stim/response system works for &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039;. The name is taken from the Dromed Stim/Response system. However this does &#039;&#039;&#039;not&#039;&#039;&#039; mean that you should assume any other similarities. The system was described to me (sparhawk) and I coded it accordingly, but I have no Dromed experience, beyond some &#039;&#039;&#039;very&#039;&#039;&#039; simple maps, without any special features. I never got beyond the &amp;quot;Create a room and texture it&amp;quot; stage. :)&lt;br /&gt;
So while this system may be similar on how it works as seen by the users, you can&#039;t assume that this is is more then a fleeting similarity as defined by it&#039;s common requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How does it work?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The general concept is pretty easy to understand. The mapper populates his map with entities. Each of this entities, can be either a kind of actor (a stim) or an actee (the response). Any entity can be both at the same time, however stims don&#039;t affect the owner itself. So if the entity carries a stim and it triggers, it will not be act on himself, even if the entity has a response for that stim.&lt;br /&gt;
Stims and responses are defined by numbers. &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039; already defines some very common stims (like water) and reserves numbers for them. For a complete list you should take a look at thje darkmod_stim_response.script in the script folder. You will notice that there is one stim named USER. This stim has no special meaning. Instead it defines the lowest number that users can use for themself. So if you define new stims to be used in your maps, you should use USER+N for your individual stims. All numbers below USER are assumed to be known stims and may trigger specific actions if needed, which possibly includes specific SDK support code.&lt;br /&gt;
&lt;br /&gt;
As explained above, stims and responses are identified by their id&#039;s (the numbers). Whenever a stim is active, the system evaluates all stims and checks if appropriate responses are within it&#039;s reach. A response is identified by having teh same id as the stim. When such a response is found, the response is triggered and a script action is executed for it. If the response doesn&#039;t have a scriptaction associated, nothing will happen, but this is usually a waste of CPU, unless the response is coded in C++ directly in the SDK.&lt;br /&gt;
One major difference between stims and responses is, that responses have an action associated with it, while stims don&#039;t.&lt;br /&gt;
&lt;br /&gt;
Stims and responses can be enabled and disabled at runtime. This is not only a feature, it is very important for the health of the system. If stims are not destroyed after they are used up, they will take up memory and hog your machine down after time. Also accumulating stims will cause the system to respond slower after time, as more and more stims have to be tested. For example: The arrows (like the water arrow) will spawn an entity that carries the water stim, when the arrow explodes. If that stim is not destroyed, it will continue to fire. Once a water arrow is exploded it doesn&#039;t makes sense though to keep it running, so it has to be destroyed. However, there is no definite rule when a stim has to be destroyed because it depends on their actual usage. Some stims may run throughout the game and others should be destroyed after they are used up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to set it up?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bascially there are several methods to create a stim/response. The most obvious one is to add it in the SDK code, but this is probably the least prefered. For all practical purposes, stims and responses should be added either via scripting or the map editor, without the need of coding in the SDK environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setting it up in the map editor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For this I use as an example a candle that should be stimmed by water and fire. The water stim will turn it off, while the fire stim will turn it back on. The actual water and fire stims don&#039;t need to be created here, because they are created through the water, resp. fire arrow.&lt;br /&gt;
&lt;br /&gt;
The first thing you do is to create brush and assign a candle model to it.&lt;br /&gt;
Then create one or more lights, that will carry the light of your candle, as the candle itself doesn&#039;t have lighting properties. Note down the names of the lights or change them to something you might recognize.&lt;br /&gt;
&lt;br /&gt;
Add the following keys:&lt;br /&gt;
   &amp;quot;sr_class_1&amp;quot; &amp;quot;R&amp;quot;&lt;br /&gt;
   &amp;quot;sr_type_1&amp;quot; &amp;quot;STIM_WATER&amp;quot;&lt;br /&gt;
   &amp;quot;sr_state_1&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
   &amp;quot;sr_script_STIM_WATER&amp;quot; &amp;quot;response_water_action&amp;quot;&lt;br /&gt;
   &amp;quot;sr_argc&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
   &amp;quot;sr_argv_1&amp;quot; &amp;quot;ligth1_name&amp;quot;&lt;br /&gt;
   &amp;quot;sr_argv_2&amp;quot; &amp;quot;light2_name&amp;quot;&lt;br /&gt;
   &amp;quot;sr_model_1&amp;quot; &amp;quot;candle_turned_off&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_class_2&amp;quot; &amp;quot;R&amp;quot;&lt;br /&gt;
   &amp;quot;sr_type_2&amp;quot; &amp;quot;STIM_FIRE&amp;quot;&lt;br /&gt;
   &amp;quot;sr_state_2&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
   &amp;quot;sr_script_STIM_FIRE&amp;quot; &amp;quot;response_fire_action&amp;quot;&lt;br /&gt;
   &amp;quot;sr_model_2&amp;quot; &amp;quot;candle_turned_on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Depending on type (Stim or response) some keys are only valid for stims and others only for responses while some others are shared. Since an entity can have multiple different stims and responses, each type has a number in the keyname. However some keys don&#039;t need the number. Since each stimtype can exist only once per entity, the script for a given stim can only exist once, even though the scriptname can be reused multiple times (which is not recommended though) or for different stimtypes.&lt;br /&gt;
&lt;br /&gt;
If you want to have multiple stims/responses for the same entity just increase the number on the class.The numbers may have no gaps.&lt;br /&gt;
&lt;br /&gt;
The following keys are mandatory and must be set for every stim/responsetype.&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_class_1&amp;quot; &amp;quot;R&amp;quot;&lt;br /&gt;
   this key defines wether the entity gets a stim (S) or a response (R). Other values will be ignored and nothing is created. The stim/response is attached to your entity when it spawns. &lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_type_1&amp;quot; &amp;quot;STIM_WATER&amp;quot;&lt;br /&gt;
   This defines the id of the stim or response and must be defined for both classes. You can either use a name, which must be the same as provided by the darkmod_stim_response.script or a number. For user defined stimtypes only numbers are recognized. In case of predefined stmitypes you can also use the number, but using the name is more rcognizable. So in this case you could also write &amp;quot;sr_type_1&amp;quot; &amp;quot;2&amp;quot;, which is the id for the water stim. Howevery, if you do this, you must keep in mind that the script key must use the same syntax. In this case instead of writing &amp;quot;sr_script_STIM_WATER&amp;quot; it would also need to be &amp;quot;sr_script_2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_state_1&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
   this key determines wether the stim or response is enabled (1) or disabled (0). If the stim/response is disabled it will not fire (or get triggered).&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_script_STIM_WATER&amp;quot; &amp;quot;response_water_action&amp;quot;&lt;br /&gt;
   This key defines the response action script that should handle the response when it is triggered. Note that the name must match the stim id. So if you have a numbered id, then you must name the key accordingly (i.e. &amp;quot;sr_type_1&amp;quot; &amp;quot;100&amp;quot; -&amp;gt; &amp;quot;sr_script_100&amp;quot;). For how to apply the ids, also look at the sr_type description above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The now following keys are scripted and may be changed for different actions. This is for the default implementation though on the water stim. So if you want to do something different you can ignore these keys entirely and write your own script to handle the response.&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_model_1&amp;quot; &amp;quot;candle_turned_off&amp;quot;&lt;br /&gt;
   This key defines a model that should be swapped in for the existing model, when this &lt;br /&gt;
 response is triggered. In our case we want to replace it with a turned off candle (and possibly add a smoke particle trail for a few seconds).&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_argc&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
   This key defines how many lights you created for the given entity. In my case I used two. These lights are switched off.&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;sr_argv_1&amp;quot; &amp;quot;ligth1_name&amp;quot;&lt;br /&gt;
   &amp;quot;sr_argv_2&amp;quot; &amp;quot;light2_name&amp;quot;&lt;br /&gt;
   These keys determine the names of the light entites, that need to be switched off when the candle is extuinguished. Consequently when the fire arrow is shot at them, these are the lights that should be relighted.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1612</id>
		<title>Stim/Response</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1612"/>
		<updated>2006-02-07T10:43:13Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Stim/Response system for The Dark Mod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This article describes how the stim/response system works for &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039;. The name is taken from the Dromed Stim/Response system. However this does &#039;&#039;&#039;not&#039;&#039;&#039; mean that you should assume any other similarities. The system was described to me (sparhawk) and I coded it accordingly, but I have no Dromed experience, beyond some &#039;&#039;&#039;very&#039;&#039;&#039; simple maps, without any special features. I never got beyond the &amp;quot;Create a room and texture it&amp;quot; stage. :)&lt;br /&gt;
So while this system may be similar on how it works as seen by the users, you can&#039;t assume that this is is more then a fleeting similarity as defined by it&#039;s common requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How does it work?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The general concept is pretty easy to understand. The mapper populates his map with entities. Each of this entities, can be either a kind of actor (a stim) or an actee (the response). Any entity can be both at the same time, however stims don&#039;t affect the owner itself. So if the entity carries a stim and it triggers, it will not be act on himself, even if the entity has a response for that stim.&lt;br /&gt;
Stims and responses are defined by numbers. &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039; already defines some very common stims (like water) and reserves numbers for them. For a complete list you should take a look at thje darkmod_stim_response.script in the script folder. You will notice that there is one stim named USER. This stim has no special meaning. Instead it defines the lowest number that users can use for themself. So if you define new stims to be used in your maps, you should use USER+N for your individual stims. All numbers below USER are assumed to be known stims and may trigger specific actions if needed, which possibly includes specific SDK support code.&lt;br /&gt;
&lt;br /&gt;
As explained above, stims and responses are identified by their id&#039;s (the numbers). Whenever a stim is active, the system evaluates all stims and checks if appropriate responses are within it&#039;s reach. A response is identified by having teh same id as the stim. When such a response is found, the response is triggered and a script action is executed for it. If the response doesn&#039;t have a scriptaction associated, nothing will happen, but this is usually a waste of CPU, unless the response is coded in C++ directly in the SDK.&lt;br /&gt;
&lt;br /&gt;
Stims and responses can be enabled and disabled at runtime. This is not only a feature, it is very important for the health of the system. If stims are not destroyed after they are used up, they will take up memory and hog your machine down after time. Also accumulating stims will cause the system to respond slower after time, as more and more stims have to be tested. For example: The arrows (like the water arrow) will spawn an entity that carries the water stim, when the arrow explodes. If that stim is not destroyed, it will continue to fire. Once a water arrow is exploded it doesn&#039;t makes sense though to keep it running, so it has to be destroyed. However, there is no definite rule when a stim has to be destroyed because it depends on their actual usage. Some stims may run throughout the game and others should be destroyed after they are used up.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1611</id>
		<title>Stim/Response</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1611"/>
		<updated>2006-02-07T10:36:41Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Stim/Response system for The Dark Mod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This article describes how the stim/response system works for &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039;. The name is taken from the Dromed Stim/Response system. However this does &#039;&#039;&#039;not&#039;&#039;&#039; mean that you should assume any other similarities. The system was described to me (sparhawk) and I coded it accordingly, but I have no Dromed experience, beyond some &#039;&#039;&#039;very&#039;&#039;&#039; simple maps, without any special features. I never got beyond the &amp;quot;Create a room and texture it&amp;quot; stage. :)&lt;br /&gt;
So while this system may be similar on how it works as seen by the users, you can&#039;t assume that this is is more then a fleeting similarity as defined by it&#039;s common requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How does it work?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The general concept is pretty easy to understand. The mapper populates his map with entities. Each of this entities, can be either a kind of actor (a stim) or an actee (the response). Any entity can be both at the same time, however stims don&#039;t affect the owner itself. So if the entity carries a stim and it triggers, it will not be act on himself, even if the entity has a response for that stim.&lt;br /&gt;
Stims and responses are defined by numbers. &#039;&#039;&#039;The Dark Mod&#039;&#039;&#039; already defines some very common stims (like water) and reserves numbers for them. For a complete list you should take a look at thje darkmod_stim_response.script in the script folder. You will notice that there is one stim named USER. This stim has no special meaning. Instead it defines the lowest number that users can use for themself. So if you define new stims to be used in your maps, you should use USER+N for your individual stims. All numbers below USER are assumed to be known stims and may trigger specific actions if needed, which possibly includes specific SDK support code.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1610</id>
		<title>Stim/Response</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Stim/Response&amp;diff=1610"/>
		<updated>2006-02-07T10:31:11Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Stim/Response system for The Dark Mod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This article describes how the stim/response system works for The Dark Mod. The name is taken from the Dromed Stim/Response system. However this does &#039;&#039;&#039;not&#039;&#039;&#039; mean that you should assume any other similarities. The system was described to me (sparhawk) and I coded it accordingly, but I have no Dromed experience, beyond some &#039;&#039;&#039;very&#039;&#039;&#039; simple maps, without any special features. I never got beyond the &amp;quot;Create a room and texture it&amp;quot; stage. :)&lt;br /&gt;
So while this system may be similar on how it works as seen by the users, you can&#039;t assume that this is is more then a fleeting similarity as defined by it&#039;s common requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How does it work?&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Editing&amp;diff=1609</id>
		<title>Editing</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Editing&amp;diff=1609"/>
		<updated>2006-02-07T10:27:26Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The general hub for DarkMod specific editing - links to articles about:&lt;br /&gt;
&lt;br /&gt;
[[AI]]&lt;br /&gt;
&lt;br /&gt;
[[Sound Prop]]&lt;br /&gt;
&lt;br /&gt;
[[Creating doors]]&lt;br /&gt;
&lt;br /&gt;
[[Visportals]]&lt;br /&gt;
&lt;br /&gt;
[[Stim/Response]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and other specifics that are relevant to the mod.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Editing&amp;diff=1608</id>
		<title>Editing</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Editing&amp;diff=1608"/>
		<updated>2006-02-07T10:27:00Z</updated>

		<summary type="html">&lt;p&gt;Sparhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The general hub for DarkMod specific editing - links to articles about:&lt;br /&gt;
&lt;br /&gt;
[[AI]]&lt;br /&gt;
[[Sound Prop]]&lt;br /&gt;
[[Creating doors]]&lt;br /&gt;
[[Visportals]]&lt;br /&gt;
[[Stim/Response]]&lt;br /&gt;
&lt;br /&gt;
and other specifics that are relevant to the mod.&lt;/div&gt;</summary>
		<author><name>Sparhawk</name></author>
	</entry>
</feed>