<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CJN</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CJN"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/CJN"/>
	<updated>2026-04-11T16:56:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:SoundSense&amp;diff=176855</id>
		<title>Utility:SoundSense</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:SoundSense&amp;diff=176855"/>
		<updated>2012-08-13T21:26:52Z</updated>

		<summary type="html">&lt;p&gt;CJN: formating.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=SoundSense=&lt;br /&gt;
&lt;br /&gt;
SoundSense is a sound-engine tool for Dwarf Fortress. It plays sounds based on what entries appear in the gamelog.txt.[http://df.zweistein.cz/soundsense/ &amp;quot;Dwarf Fortress: SoundSense&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Discussion: http://www.bay12forums.com/smf/index.php?topic=60287.0&lt;br /&gt;
&lt;br /&gt;
Homepage: http://df.zweistein.cz/soundsense/&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Installing and configuring software can be intimidating if you are not an IT nerd. And this&lt;br /&gt;
is no exception with SoundSense. But bear with me and it can actually be pretty easy.&lt;br /&gt;
&lt;br /&gt;
'''Non-scary instructions:'''&lt;br /&gt;
&lt;br /&gt;
* Install the java runtime 7. Get it [http://www.oracle.com/technetwork/java/javase/downloads/jre-7u3-download-1501631.html here].&lt;br /&gt;
* Download and extract SoundSense (It does not matter where.)&lt;br /&gt;
* Download soundpack.zip and extract the &amp;quot;packs&amp;quot; folder to SoundSense directory&lt;br /&gt;
* Run soundsense.cmd or soundsense.exe&lt;br /&gt;
&lt;br /&gt;
First, you need to have the java runtime installed. It can be downloaded from the java &lt;br /&gt;
homepage. To determine if your computer already has the correct installation of java, go &lt;br /&gt;
to the Start button, left click &amp;quot;Run...&amp;quot; from the bottom of the menu, type in &amp;quot;cmd&amp;quot; in the &lt;br /&gt;
dialog that opens, and press the [OK] button. A dark windows pops up and you will be at a &lt;br /&gt;
command prompt. Type in &amp;quot;java -version&amp;quot; and press [Enter].&lt;br /&gt;
&lt;br /&gt;
A few lines starting with [java version &amp;quot;1.7.0_03&amp;quot;] or something similar should apear. If &lt;br /&gt;
that case is the case, you are good to go. But if you see [java version &amp;quot;1.6.x_xx&amp;quot; or an &lt;br /&gt;
earlier version (lower number), you will need to download and install the latest java.&lt;br /&gt;
&lt;br /&gt;
If something similar to ['java' is not recognized as an internal or external command] &lt;br /&gt;
appears, either java has not been installed yet or it was not installed correctly. If &lt;br /&gt;
your case is the latter, it may be possible to work around the problem by editing the &lt;br /&gt;
soundSense.cmd (in your SoundSense directory). Open it with Notepad and find line line &lt;br /&gt;
starting with &amp;quot;java -Dja...&amp;quot; and replace the &amp;quot;java&amp;quot; part with the full path for your java &lt;br /&gt;
installation. For example: &amp;quot;C:\Program Files\Java\jdk1.6.0_20\bin\java.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
That was the hard part.&lt;br /&gt;
&lt;br /&gt;
Now, where to install it? SoundSense expects to be in a sub-directory that is inside your &lt;br /&gt;
Dwarf Fortress directory. So, for example, if you have Dwarf Fortress in F:/df_31_18_win/,&lt;br /&gt;
you should unpack the contents of SoundSense zip to F:/df_31_18_win/soundsense/. By &lt;br /&gt;
default, you want to make sure that the .cmd file you use to launch SoundSense is inside a &lt;br /&gt;
sub-directory of (i.e., below) the DF folder where gamelog.txt is located.&lt;br /&gt;
&lt;br /&gt;
If you want to install to a different location, you need to edit configuration.xml and &lt;br /&gt;
edit the &amp;lt;gamelog path=&amp;quot;../gamelog.txt&amp;quot;/&amp;gt; line. Replace &amp;quot;../gamelog.txt&amp;quot; with the path to &lt;br /&gt;
where Dwarf Fortress is located. For example: &amp;quot;F:/df_31_18_win/gamelog.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SoundSense is now all set up and ready to run. But you still need the actual sounds and &lt;br /&gt;
music that it will play. So download soundpack.zip and unzip the &amp;quot;packs&amp;quot; directory and all &lt;br /&gt;
the contents inside that to the SoundSense directory.&lt;br /&gt;
&lt;br /&gt;
You can start SoundSense by launching (double left-clicking) either soundSense.cmd or &lt;br /&gt;
soundSenseExe.cmd. (Using the latter should give you clearer error messages regarding a &lt;br /&gt;
bad java installation.) If you like, you can create a shortcut to soundSense.cmd, rename &lt;br /&gt;
it &amp;quot;SoundSense&amp;quot; and move it to your desktop for easy access.&lt;br /&gt;
&lt;br /&gt;
Finally, remember that SoundSense needs to run in the background. Ideally, you should &lt;br /&gt;
start SoundSense BEFORE you start Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&lt;br /&gt;
===Moments of Silence===&lt;br /&gt;
&lt;br /&gt;
Occationally, the music in SoundSense will stop for a short period (10, 20, or 30 seconds) &lt;br /&gt;
before resuming. This is not a bug - it is intentional. This was done to let ears rest a &lt;br /&gt;
bit between tracks. (Research shows that ears which get a rest have time to recover and &lt;br /&gt;
are less likely to be damaged.) Also, a few tracks have a silent start and, at low volume, &lt;br /&gt;
may take a minute or longer to become audible. If in doubt, you can see what is currently &lt;br /&gt;
playing in GUI under the volume slider. During periods of silence, this will typically &lt;br /&gt;
show &amp;quot;10s silence&amp;quot; or similar.&lt;br /&gt;
&lt;br /&gt;
===Game Loads and the Music is Random===&lt;br /&gt;
&lt;br /&gt;
When a game is loaded, SoundSense picks a random seasonal music track to play. This is not &lt;br /&gt;
a bug - it is intentional. There is no way for SoundSense to detect what season it is when &lt;br /&gt;
a game is loaded, so a random soundtrack is chosen. But when the season next changes, it &lt;br /&gt;
will choose the correct soundtrack.&lt;br /&gt;
&lt;br /&gt;
===Adventure Mode - A Bit Lacking===&lt;br /&gt;
&lt;br /&gt;
Adventure Mode kind of works. The battle sounds function quite well because they are &lt;br /&gt;
mostly the same as those in Fortress Mode. But SoundSense is still a bit lacking in other &lt;br /&gt;
adventure sounds. The problem is that Adventure Mode does not log many other usefull &lt;br /&gt;
events. For example, encountering a megabeast or a quest mob is resolved in chat, leaving &lt;br /&gt;
no message in the game log to trigger SoundSense.&lt;br /&gt;
&lt;br /&gt;
Improvements in how DF handles logging could benfit both SoundSense and DF as a whole. &lt;br /&gt;
Such suggestions have already been posted in the official Dwarf Fortress forums: &lt;br /&gt;
http://www.bay12forums.com/smf/index.php?topic=64834.0&lt;br /&gt;
&lt;br /&gt;
===Event Detection: Better Late Than Never?===&lt;br /&gt;
&lt;br /&gt;
In some cases, by the time SoundSense detects conditions to trigger an alert, it may be &lt;br /&gt;
too late to react to the situation. For example, a &amp;quot;Tantrum Spiral&amp;quot; might already be over &lt;br /&gt;
before the player can be alerted.&lt;br /&gt;
&lt;br /&gt;
Part of this is a balance between detecting too many false positives and ignoring events &lt;br /&gt;
until it is too late to do anything. For example, a soldier might lose a pet and report &lt;br /&gt;
feeling like blowing off some steam... but instead of throwing a tantrum they calm down.&lt;br /&gt;
&lt;br /&gt;
Another problem is FPS sensitivity. A specific sequence of events may trigger certain &lt;br /&gt;
alert sounds in a high FPS situation, but it might not trigger with low FPS. The sequence &lt;br /&gt;
of events might &amp;quot;time out&amp;quot;. Also, pausing the game could cause similar problems.&lt;br /&gt;
&lt;br /&gt;
===Compatible With DF Mods - Should Work, But NO PROMISES===&lt;br /&gt;
&lt;br /&gt;
SoundSense was mainly designed for &amp;quot;vanilla&amp;quot; (unmodified) Dwarf Fortress. It should work &lt;br /&gt;
fine with most mods. However, I can not guarantee compatibility. Some mods, especially &lt;br /&gt;
&amp;quot;major&amp;quot; or &amp;quot;full conversions&amp;quot;, may create unusual behavior and involve dangerous events &lt;br /&gt;
that SoundSense was not designed to detect.&lt;br /&gt;
&lt;br /&gt;
Another words, SoundSense may lack sounds for certain mod-specific events. (E.g.; you &lt;br /&gt;
should NOT expect SoundSense to include gunshot sounds for mods that add guns! But you CAN &lt;br /&gt;
modify SoundSense yourself to do this.) Conversely, some events that work normally in &lt;br /&gt;
vanilla DF may trigger so frequently with a mod as to be very annoying.&lt;br /&gt;
&lt;br /&gt;
===On some Linux===&lt;br /&gt;
&lt;br /&gt;
====Error on 'soundSense.sh' call: &amp;quot;/bin/sh^M : wrong interpret&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
File &amp;quot;soundSense.sh&amp;quot; has CR+LF characters at lines ending.&lt;br /&gt;
Convert these characters to a more suitable form, with a tool like &amp;quot;[http://en.wikipedia.org/wiki/Unix2dos dos2unix]&amp;quot;:&lt;br /&gt;
  dos2unix soundSense.sh&lt;br /&gt;
Shell script should then be run without previous error.&lt;br /&gt;
&lt;br /&gt;
Also using sed you can try this:&lt;br /&gt;
  # IN UNIX ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format.&lt;br /&gt;
  sed -i -e 's/\r$//' ./soundSense.sh&lt;br /&gt;
IF launching .sh file after that, says that something is wrong on the last line, when you try to launch sh. Just check, if &amp;quot;fi&amp;quot; is present there instead of &amp;quot;f&amp;quot; or smth like that.&lt;br /&gt;
&lt;br /&gt;
====Error at playing any MP3 file: &amp;quot;javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file: could not get audio input stream from input file&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Your Java virtual machine failed at reading MP3 files as audio stream. This could fix by adding to JVM an extra plugin: [http://www.oracle.com/technetwork/java/javase/download-137625.html JMF MP3 Plugin].&lt;br /&gt;
Download plugin, and put *.jar files into your JVM &amp;quot;lib/ext/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
====Error at playing any MP3 file: &amp;quot;javax.sound.sampled.LineUnavailableException: Audio Device Unavailable&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Whereas your JVM succeeded in reading MP3 file as audio stream, it failed to access to an audio device. If your audio system uses [http://fr.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture Alsa], you could install &amp;quot;aoss&amp;quot; utility, and &amp;quot;soundSense.sh&amp;quot; will call it. On Debian, package &amp;quot;alsa-oss&amp;quot; provides this utility. '''Note: if you are on Ubuntu see below'''. Ubuntu uses PulseAudio backend, therefore toying with aoss is a waste of time.&lt;br /&gt;
&lt;br /&gt;
On a MacOS (snow leopard), this problem has been solved by changing the format of all the sound files to ogg.&lt;br /&gt;
&lt;br /&gt;
====I'm using PulseAudio and I still can't hear anything!====&lt;br /&gt;
&lt;br /&gt;
First, '''be sure that you are using OpenJDK 7'''; you can't use OpenJDK 6 as it has quite a serious bug in its ALSA backend[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6271108]. You can check what java you have installed by typing&lt;br /&gt;
  java -version&lt;br /&gt;
in the terminal. You can install OpenJDK like this in Ubuntu:&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk&lt;br /&gt;
  sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java&lt;br /&gt;
('''The &amp;quot;update-alternatives&amp;quot; command will only work on 64bit Ubuntu'''; for 32bit version you need to replace the &amp;quot;amd64&amp;quot; with &amp;quot;i386&amp;quot; or something like that'''.)&lt;br /&gt;
&lt;br /&gt;
Now, check the&lt;br /&gt;
  /etc/java-7-openjdk/sound.properties&lt;br /&gt;
file for this:&lt;br /&gt;
  # OpenJDK on Ubuntu is configured to use PulseAudio by default&lt;br /&gt;
  javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  &lt;br /&gt;
  # PulseAudio not running? Please give feedback on LP: #407299.&lt;br /&gt;
  #javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  #javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider&lt;br /&gt;
  #javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  #javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
&lt;br /&gt;
'''This will not work''', as OpenJDK's PulseAudio backend is buggy as hell. What you need to do is to comment out the PulseAudio and turn back on the old backend:&lt;br /&gt;
&lt;br /&gt;
  # OpenJDK on Ubuntu is configured to use PulseAudio by default&lt;br /&gt;
  #javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  &lt;br /&gt;
  # PulseAudio not running? Please give feedback on LP: #407299.&lt;br /&gt;
  javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider&lt;br /&gt;
  javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
&lt;br /&gt;
This should make the sound work. (If you don't know how to edit this then try typing &amp;quot;sudo nano /etc/java-7-openjdk/sound.properties&amp;quot; in the terminal.)&lt;br /&gt;
&lt;br /&gt;
If you're using Sun/Oracle's JRE then switch to OpenJDK. If you don't want to do that (not recommended) then you might try to use the padsp wrapper or install osspd. If the padsp wrapper will not work properly for you then osspd daemon might just do the trick. (''[https://wiki.archlinux.org/index.php/Pulseaudio#OSS Archlinux Pulseaudio user]'')&lt;br /&gt;
&lt;br /&gt;
===Any Other Issues? Post Feedback===&lt;br /&gt;
&lt;br /&gt;
There is a thread at the official Dwarf Fortress forums. Feel free to post any issues, &lt;br /&gt;
suggestions, and contributions there:&lt;br /&gt;
http://www.bay12forums.com/smf/index.php?topic=60287.0&lt;br /&gt;
&lt;br /&gt;
When providing feedback about your experience with SoundSense, please specify which mods &lt;br /&gt;
(if any) you are using. If SoundSense seems to behave weirdly only for you, it just might &lt;br /&gt;
be from using certain mods.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
You can insert additional sounds and music into SoundSense by adding entries to an .xml &lt;br /&gt;
configuration file. logPattern=&amp;quot;regexp&amp;quot; is a regular expression which, if matched, will &lt;br /&gt;
cause a random soundFile from a list to be played. (Details on how java uses regular &lt;br /&gt;
expressions: http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html )&lt;br /&gt;
&lt;br /&gt;
===Sound element attributes:===&lt;br /&gt;
&lt;br /&gt;
* ''logPattern'' - regular expression matching log line (see link above)&lt;br /&gt;
* ''channel'' - string; Specifies a channel on which sound is played. Sounds played on a channel can be looped or stopped prematurely.&lt;br /&gt;
* ''loop'' - string; Specifying &amp;quot;start&amp;quot; will start looping a sound on a channel until an expression with &amp;quot;stop&amp;quot; is triggered or until a different loop sound is played on the same channel. (If a non-looped sound is triggered on the same channel, this loop will resume when the non-looped is done playing.)&lt;br /&gt;
* ''concurency'' - number; The number of concurrent (i.e., simultaneous) sounds allowed to be played besides this sound. If SoundSense is currently playing more than this, the sound is ignored. The default is unlimited.&lt;br /&gt;
* ''timeout'' - number; This initiates a time out during which this particular sound is prevented from playing again. This is measured in milliseconds and the default is 0.&lt;br /&gt;
* ''delay'' - number; Adds a delay before the sound is played. This is measured in milliseconds and the default is 0.&lt;br /&gt;
* ''haltOnMatch'' - boolean; If this is set to True and more than one equivalent logPattern exists, SoundSense will only process the first logPattern expression. If it is False, it will continue to process matching (e.g., identical) logPatterns. The default is True.&lt;br /&gt;
* ''speech'' - boolean; If this is set to True, SoundSense will echo the gamelog text line (containing the logPattern) with a speech synthesizer instead of playing a sound. The default is False.&lt;br /&gt;
* ''playbackThreshhold'' - number, 0-4, defines level of filter which is applied to this sound.&lt;br /&gt;
&lt;br /&gt;
===SoundFile element attributes:===&lt;br /&gt;
&lt;br /&gt;
* ''fileName'' - the path to and name of the sound/music file&lt;br /&gt;
* ''weight'' - number; This controls the likelihood of a sound being chosen. Default is 100.&lt;br /&gt;
* ''volumeAdjustment'' - number; This can be used to adjust the volume of the sample. The value can range from -40 to +6 decibles and the default is 0.&lt;br /&gt;
* ''randomBalance'' - boolean, if set to true will randomply distribute sound betweem stereo channels.&lt;br /&gt;
* ''balanceAdjustment'' - number, adjusts stereo channel, can range for -1 (full left) to 1 (full right).&lt;br /&gt;
&lt;br /&gt;
SoundSense supports these audio formats for soundFiles:&lt;br /&gt;
&lt;br /&gt;
* mp3   (SoundSense can normalize the sound volume with this format)&lt;br /&gt;
* ogg   (works, but SoundSense can not normalize the sound volume)&lt;br /&gt;
* wav   (See note below. SoundSense only supports &amp;quot;Windows PCM&amp;quot; encoded .wav files)&lt;br /&gt;
* aiff&lt;br /&gt;
* au&lt;br /&gt;
&lt;br /&gt;
Note: Not all .wav files are supported...&lt;br /&gt;
&lt;br /&gt;
SoundSense supports .wav encoded in the &amp;quot;Windows PCM&amp;quot; format. However, some files with the &lt;br /&gt;
.wav extention are actually encoded in some other proprietary format. A sound format &lt;br /&gt;
conversion utility (such as FormatFactory) could be used to fix them.&lt;br /&gt;
&lt;br /&gt;
===Some Tips:===&lt;br /&gt;
&lt;br /&gt;
; Control of Randomness: Each logPattern expression can contain several soundFile elements. When it is triggered, one of them is randomly chosen to play. You can control the probability of each sound being chosen by adding the weight=&amp;quot;number&amp;quot; attribute.&lt;br /&gt;
; Simultaneous Sounds: By default, only one sound will play for a given logPattern, even if there are several expression using identical logPatterns. (Only the first expression is processed.) But you can allow more than one sound to be played for same pattern by giving the first one the haltOnMatch=&amp;quot;false&amp;quot; attribute. They will all start at same time (unless one or more of them also has a delay). An example is in Seasons.&lt;br /&gt;
; Sequential Sounds: Two (or more) sounds can be played sequentially (one after the other) for the same logPattern by using the haltOnMatch=&amp;quot;false&amp;quot; tip above and including a delay attribute for one of them with a delay that surpasses the length of the other.&lt;br /&gt;
&lt;br /&gt;
===Helpful files:===&lt;br /&gt;
&lt;br /&gt;
* packSkeletons.zip ( http://df.zweistein.cz/soundsense/packSkeletons.zip ) - This contains .xml files for all known gamelog lines currently without sounds. You can use this as a starting point to expand SoundSense.&lt;br /&gt;
* missingMessages.cmd - Run this program to parse your gamelog.txt file and output all lines your sound packs will not recognize.&lt;br /&gt;
* logging.properties - Edit this file to enable more debug messages from SoundSense. Set &amp;quot;.level = ALL&amp;quot; to view a very verbose output.&lt;br /&gt;
&lt;br /&gt;
===Sources of sound &amp;amp; music:===&lt;br /&gt;
&lt;br /&gt;
The following are some sites of interest, should you want additional sounds/music.&lt;br /&gt;
(Websites with free, creative commons, public domain, and/or GNU GPL licensed audio):&lt;br /&gt;
&lt;br /&gt;
*http://soundbible.com/&lt;br /&gt;
*http://www.freesound.org/searchText.php&lt;br /&gt;
*http://www.musopen.org/&lt;br /&gt;
*http://opengameart.org/browse/audio&lt;br /&gt;
*http://www.incompetech.com/m/c/royalty-free/&lt;br /&gt;
*http://ccmixter.org&lt;br /&gt;
*http://free-loops.com/&lt;br /&gt;
*http://www.pdsounds.org/&lt;br /&gt;
*http://commons.wikimedia.org/wiki/Category:Sound&lt;br /&gt;
*http://www.archive.org/details/opensource_audio&lt;br /&gt;
*http://publicdomainaudiovideo.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
===How to add music to seasonal playlist:===&lt;br /&gt;
&lt;br /&gt;
It is rather easy. Locate '''seasons.xml''' in ''soundpack/seasons'' directory.&lt;br /&gt;
&lt;br /&gt;
This file contains definition of two sets of sounds: First, there are four definitions for playing voiced anouncements (''&amp;lt;sound logPattern=&amp;quot;Spring has arrived!&amp;quot; haltOnMatch=&amp;quot;false&amp;quot; playbackThreshhold=&amp;quot;3&amp;quot;&amp;gt;'') which are not interesting and should be left alone.&lt;br /&gt;
&lt;br /&gt;
Seccond are main defintions of season music which start with ''&amp;lt;sound logPattern=&amp;quot;(Spring has arrived!)|(Spring has arrived on the calendar\.)&amp;quot; loop=&amp;quot;start&amp;quot; channel=&amp;quot;music&amp;quot; playbackThreshhold=&amp;quot;0&amp;quot;&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
You can simply add new ''&amp;lt;soundFile fileName=&amp;quot;'''Name of your.mp3'''&amp;quot;/&amp;gt;'' and put it in seasons directory.&lt;br /&gt;
[[ru:SoundSense]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:SoundSense&amp;diff=176854</id>
		<title>Utility:SoundSense</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:SoundSense&amp;diff=176854"/>
		<updated>2012-08-13T21:26:15Z</updated>

		<summary type="html">&lt;p&gt;CJN: At least provide a brief description on what the utility does!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=SoundSense=&lt;br /&gt;
&lt;br /&gt;
&amp;quot;SoundSense is a sound-engine tool for Dwarf Fortress. It plays sounds based on what entries appear in the gamelog.txt.&amp;quot;[http://df.zweistein.cz/soundsense/ &amp;quot;Dwarf Fortress: SoundSense&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Discussion: http://www.bay12forums.com/smf/index.php?topic=60287.0&lt;br /&gt;
Homepage: http://df.zweistein.cz/soundsense/&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Installing and configuring software can be intimidating if you are not an IT nerd. And this&lt;br /&gt;
is no exception with SoundSense. But bear with me and it can actually be pretty easy.&lt;br /&gt;
&lt;br /&gt;
'''Non-scary instructions:'''&lt;br /&gt;
&lt;br /&gt;
* Install the java runtime 7. Get it [http://www.oracle.com/technetwork/java/javase/downloads/jre-7u3-download-1501631.html here].&lt;br /&gt;
* Download and extract SoundSense (It does not matter where.)&lt;br /&gt;
* Download soundpack.zip and extract the &amp;quot;packs&amp;quot; folder to SoundSense directory&lt;br /&gt;
* Run soundsense.cmd or soundsense.exe&lt;br /&gt;
&lt;br /&gt;
First, you need to have the java runtime installed. It can be downloaded from the java &lt;br /&gt;
homepage. To determine if your computer already has the correct installation of java, go &lt;br /&gt;
to the Start button, left click &amp;quot;Run...&amp;quot; from the bottom of the menu, type in &amp;quot;cmd&amp;quot; in the &lt;br /&gt;
dialog that opens, and press the [OK] button. A dark windows pops up and you will be at a &lt;br /&gt;
command prompt. Type in &amp;quot;java -version&amp;quot; and press [Enter].&lt;br /&gt;
&lt;br /&gt;
A few lines starting with [java version &amp;quot;1.7.0_03&amp;quot;] or something similar should apear. If &lt;br /&gt;
that case is the case, you are good to go. But if you see [java version &amp;quot;1.6.x_xx&amp;quot; or an &lt;br /&gt;
earlier version (lower number), you will need to download and install the latest java.&lt;br /&gt;
&lt;br /&gt;
If something similar to ['java' is not recognized as an internal or external command] &lt;br /&gt;
appears, either java has not been installed yet or it was not installed correctly. If &lt;br /&gt;
your case is the latter, it may be possible to work around the problem by editing the &lt;br /&gt;
soundSense.cmd (in your SoundSense directory). Open it with Notepad and find line line &lt;br /&gt;
starting with &amp;quot;java -Dja...&amp;quot; and replace the &amp;quot;java&amp;quot; part with the full path for your java &lt;br /&gt;
installation. For example: &amp;quot;C:\Program Files\Java\jdk1.6.0_20\bin\java.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
That was the hard part.&lt;br /&gt;
&lt;br /&gt;
Now, where to install it? SoundSense expects to be in a sub-directory that is inside your &lt;br /&gt;
Dwarf Fortress directory. So, for example, if you have Dwarf Fortress in F:/df_31_18_win/,&lt;br /&gt;
you should unpack the contents of SoundSense zip to F:/df_31_18_win/soundsense/. By &lt;br /&gt;
default, you want to make sure that the .cmd file you use to launch SoundSense is inside a &lt;br /&gt;
sub-directory of (i.e., below) the DF folder where gamelog.txt is located.&lt;br /&gt;
&lt;br /&gt;
If you want to install to a different location, you need to edit configuration.xml and &lt;br /&gt;
edit the &amp;lt;gamelog path=&amp;quot;../gamelog.txt&amp;quot;/&amp;gt; line. Replace &amp;quot;../gamelog.txt&amp;quot; with the path to &lt;br /&gt;
where Dwarf Fortress is located. For example: &amp;quot;F:/df_31_18_win/gamelog.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SoundSense is now all set up and ready to run. But you still need the actual sounds and &lt;br /&gt;
music that it will play. So download soundpack.zip and unzip the &amp;quot;packs&amp;quot; directory and all &lt;br /&gt;
the contents inside that to the SoundSense directory.&lt;br /&gt;
&lt;br /&gt;
You can start SoundSense by launching (double left-clicking) either soundSense.cmd or &lt;br /&gt;
soundSenseExe.cmd. (Using the latter should give you clearer error messages regarding a &lt;br /&gt;
bad java installation.) If you like, you can create a shortcut to soundSense.cmd, rename &lt;br /&gt;
it &amp;quot;SoundSense&amp;quot; and move it to your desktop for easy access.&lt;br /&gt;
&lt;br /&gt;
Finally, remember that SoundSense needs to run in the background. Ideally, you should &lt;br /&gt;
start SoundSense BEFORE you start Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&lt;br /&gt;
===Moments of Silence===&lt;br /&gt;
&lt;br /&gt;
Occationally, the music in SoundSense will stop for a short period (10, 20, or 30 seconds) &lt;br /&gt;
before resuming. This is not a bug - it is intentional. This was done to let ears rest a &lt;br /&gt;
bit between tracks. (Research shows that ears which get a rest have time to recover and &lt;br /&gt;
are less likely to be damaged.) Also, a few tracks have a silent start and, at low volume, &lt;br /&gt;
may take a minute or longer to become audible. If in doubt, you can see what is currently &lt;br /&gt;
playing in GUI under the volume slider. During periods of silence, this will typically &lt;br /&gt;
show &amp;quot;10s silence&amp;quot; or similar.&lt;br /&gt;
&lt;br /&gt;
===Game Loads and the Music is Random===&lt;br /&gt;
&lt;br /&gt;
When a game is loaded, SoundSense picks a random seasonal music track to play. This is not &lt;br /&gt;
a bug - it is intentional. There is no way for SoundSense to detect what season it is when &lt;br /&gt;
a game is loaded, so a random soundtrack is chosen. But when the season next changes, it &lt;br /&gt;
will choose the correct soundtrack.&lt;br /&gt;
&lt;br /&gt;
===Adventure Mode - A Bit Lacking===&lt;br /&gt;
&lt;br /&gt;
Adventure Mode kind of works. The battle sounds function quite well because they are &lt;br /&gt;
mostly the same as those in Fortress Mode. But SoundSense is still a bit lacking in other &lt;br /&gt;
adventure sounds. The problem is that Adventure Mode does not log many other usefull &lt;br /&gt;
events. For example, encountering a megabeast or a quest mob is resolved in chat, leaving &lt;br /&gt;
no message in the game log to trigger SoundSense.&lt;br /&gt;
&lt;br /&gt;
Improvements in how DF handles logging could benfit both SoundSense and DF as a whole. &lt;br /&gt;
Such suggestions have already been posted in the official Dwarf Fortress forums: &lt;br /&gt;
http://www.bay12forums.com/smf/index.php?topic=64834.0&lt;br /&gt;
&lt;br /&gt;
===Event Detection: Better Late Than Never?===&lt;br /&gt;
&lt;br /&gt;
In some cases, by the time SoundSense detects conditions to trigger an alert, it may be &lt;br /&gt;
too late to react to the situation. For example, a &amp;quot;Tantrum Spiral&amp;quot; might already be over &lt;br /&gt;
before the player can be alerted.&lt;br /&gt;
&lt;br /&gt;
Part of this is a balance between detecting too many false positives and ignoring events &lt;br /&gt;
until it is too late to do anything. For example, a soldier might lose a pet and report &lt;br /&gt;
feeling like blowing off some steam... but instead of throwing a tantrum they calm down.&lt;br /&gt;
&lt;br /&gt;
Another problem is FPS sensitivity. A specific sequence of events may trigger certain &lt;br /&gt;
alert sounds in a high FPS situation, but it might not trigger with low FPS. The sequence &lt;br /&gt;
of events might &amp;quot;time out&amp;quot;. Also, pausing the game could cause similar problems.&lt;br /&gt;
&lt;br /&gt;
===Compatible With DF Mods - Should Work, But NO PROMISES===&lt;br /&gt;
&lt;br /&gt;
SoundSense was mainly designed for &amp;quot;vanilla&amp;quot; (unmodified) Dwarf Fortress. It should work &lt;br /&gt;
fine with most mods. However, I can not guarantee compatibility. Some mods, especially &lt;br /&gt;
&amp;quot;major&amp;quot; or &amp;quot;full conversions&amp;quot;, may create unusual behavior and involve dangerous events &lt;br /&gt;
that SoundSense was not designed to detect.&lt;br /&gt;
&lt;br /&gt;
Another words, SoundSense may lack sounds for certain mod-specific events. (E.g.; you &lt;br /&gt;
should NOT expect SoundSense to include gunshot sounds for mods that add guns! But you CAN &lt;br /&gt;
modify SoundSense yourself to do this.) Conversely, some events that work normally in &lt;br /&gt;
vanilla DF may trigger so frequently with a mod as to be very annoying.&lt;br /&gt;
&lt;br /&gt;
===On some Linux===&lt;br /&gt;
&lt;br /&gt;
====Error on 'soundSense.sh' call: &amp;quot;/bin/sh^M : wrong interpret&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
File &amp;quot;soundSense.sh&amp;quot; has CR+LF characters at lines ending.&lt;br /&gt;
Convert these characters to a more suitable form, with a tool like &amp;quot;[http://en.wikipedia.org/wiki/Unix2dos dos2unix]&amp;quot;:&lt;br /&gt;
  dos2unix soundSense.sh&lt;br /&gt;
Shell script should then be run without previous error.&lt;br /&gt;
&lt;br /&gt;
Also using sed you can try this:&lt;br /&gt;
  # IN UNIX ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format.&lt;br /&gt;
  sed -i -e 's/\r$//' ./soundSense.sh&lt;br /&gt;
IF launching .sh file after that, says that something is wrong on the last line, when you try to launch sh. Just check, if &amp;quot;fi&amp;quot; is present there instead of &amp;quot;f&amp;quot; or smth like that.&lt;br /&gt;
&lt;br /&gt;
====Error at playing any MP3 file: &amp;quot;javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file: could not get audio input stream from input file&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Your Java virtual machine failed at reading MP3 files as audio stream. This could fix by adding to JVM an extra plugin: [http://www.oracle.com/technetwork/java/javase/download-137625.html JMF MP3 Plugin].&lt;br /&gt;
Download plugin, and put *.jar files into your JVM &amp;quot;lib/ext/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
====Error at playing any MP3 file: &amp;quot;javax.sound.sampled.LineUnavailableException: Audio Device Unavailable&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Whereas your JVM succeeded in reading MP3 file as audio stream, it failed to access to an audio device. If your audio system uses [http://fr.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture Alsa], you could install &amp;quot;aoss&amp;quot; utility, and &amp;quot;soundSense.sh&amp;quot; will call it. On Debian, package &amp;quot;alsa-oss&amp;quot; provides this utility. '''Note: if you are on Ubuntu see below'''. Ubuntu uses PulseAudio backend, therefore toying with aoss is a waste of time.&lt;br /&gt;
&lt;br /&gt;
On a MacOS (snow leopard), this problem has been solved by changing the format of all the sound files to ogg.&lt;br /&gt;
&lt;br /&gt;
====I'm using PulseAudio and I still can't hear anything!====&lt;br /&gt;
&lt;br /&gt;
First, '''be sure that you are using OpenJDK 7'''; you can't use OpenJDK 6 as it has quite a serious bug in its ALSA backend[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6271108]. You can check what java you have installed by typing&lt;br /&gt;
  java -version&lt;br /&gt;
in the terminal. You can install OpenJDK like this in Ubuntu:&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk&lt;br /&gt;
  sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java&lt;br /&gt;
('''The &amp;quot;update-alternatives&amp;quot; command will only work on 64bit Ubuntu'''; for 32bit version you need to replace the &amp;quot;amd64&amp;quot; with &amp;quot;i386&amp;quot; or something like that'''.)&lt;br /&gt;
&lt;br /&gt;
Now, check the&lt;br /&gt;
  /etc/java-7-openjdk/sound.properties&lt;br /&gt;
file for this:&lt;br /&gt;
  # OpenJDK on Ubuntu is configured to use PulseAudio by default&lt;br /&gt;
  javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  &lt;br /&gt;
  # PulseAudio not running? Please give feedback on LP: #407299.&lt;br /&gt;
  #javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  #javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider&lt;br /&gt;
  #javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  #javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
&lt;br /&gt;
'''This will not work''', as OpenJDK's PulseAudio backend is buggy as hell. What you need to do is to comment out the PulseAudio and turn back on the old backend:&lt;br /&gt;
&lt;br /&gt;
  # OpenJDK on Ubuntu is configured to use PulseAudio by default&lt;br /&gt;
  #javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  #javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider&lt;br /&gt;
  &lt;br /&gt;
  # PulseAudio not running? Please give feedback on LP: #407299.&lt;br /&gt;
  javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider&lt;br /&gt;
  javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
  javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider&lt;br /&gt;
&lt;br /&gt;
This should make the sound work. (If you don't know how to edit this then try typing &amp;quot;sudo nano /etc/java-7-openjdk/sound.properties&amp;quot; in the terminal.)&lt;br /&gt;
&lt;br /&gt;
If you're using Sun/Oracle's JRE then switch to OpenJDK. If you don't want to do that (not recommended) then you might try to use the padsp wrapper or install osspd. If the padsp wrapper will not work properly for you then osspd daemon might just do the trick. (''[https://wiki.archlinux.org/index.php/Pulseaudio#OSS Archlinux Pulseaudio user]'')&lt;br /&gt;
&lt;br /&gt;
===Any Other Issues? Post Feedback===&lt;br /&gt;
&lt;br /&gt;
There is a thread at the official Dwarf Fortress forums. Feel free to post any issues, &lt;br /&gt;
suggestions, and contributions there:&lt;br /&gt;
http://www.bay12forums.com/smf/index.php?topic=60287.0&lt;br /&gt;
&lt;br /&gt;
When providing feedback about your experience with SoundSense, please specify which mods &lt;br /&gt;
(if any) you are using. If SoundSense seems to behave weirdly only for you, it just might &lt;br /&gt;
be from using certain mods.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
You can insert additional sounds and music into SoundSense by adding entries to an .xml &lt;br /&gt;
configuration file. logPattern=&amp;quot;regexp&amp;quot; is a regular expression which, if matched, will &lt;br /&gt;
cause a random soundFile from a list to be played. (Details on how java uses regular &lt;br /&gt;
expressions: http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html )&lt;br /&gt;
&lt;br /&gt;
===Sound element attributes:===&lt;br /&gt;
&lt;br /&gt;
* ''logPattern'' - regular expression matching log line (see link above)&lt;br /&gt;
* ''channel'' - string; Specifies a channel on which sound is played. Sounds played on a channel can be looped or stopped prematurely.&lt;br /&gt;
* ''loop'' - string; Specifying &amp;quot;start&amp;quot; will start looping a sound on a channel until an expression with &amp;quot;stop&amp;quot; is triggered or until a different loop sound is played on the same channel. (If a non-looped sound is triggered on the same channel, this loop will resume when the non-looped is done playing.)&lt;br /&gt;
* ''concurency'' - number; The number of concurrent (i.e., simultaneous) sounds allowed to be played besides this sound. If SoundSense is currently playing more than this, the sound is ignored. The default is unlimited.&lt;br /&gt;
* ''timeout'' - number; This initiates a time out during which this particular sound is prevented from playing again. This is measured in milliseconds and the default is 0.&lt;br /&gt;
* ''delay'' - number; Adds a delay before the sound is played. This is measured in milliseconds and the default is 0.&lt;br /&gt;
* ''haltOnMatch'' - boolean; If this is set to True and more than one equivalent logPattern exists, SoundSense will only process the first logPattern expression. If it is False, it will continue to process matching (e.g., identical) logPatterns. The default is True.&lt;br /&gt;
* ''speech'' - boolean; If this is set to True, SoundSense will echo the gamelog text line (containing the logPattern) with a speech synthesizer instead of playing a sound. The default is False.&lt;br /&gt;
* ''playbackThreshhold'' - number, 0-4, defines level of filter which is applied to this sound.&lt;br /&gt;
&lt;br /&gt;
===SoundFile element attributes:===&lt;br /&gt;
&lt;br /&gt;
* ''fileName'' - the path to and name of the sound/music file&lt;br /&gt;
* ''weight'' - number; This controls the likelihood of a sound being chosen. Default is 100.&lt;br /&gt;
* ''volumeAdjustment'' - number; This can be used to adjust the volume of the sample. The value can range from -40 to +6 decibles and the default is 0.&lt;br /&gt;
* ''randomBalance'' - boolean, if set to true will randomply distribute sound betweem stereo channels.&lt;br /&gt;
* ''balanceAdjustment'' - number, adjusts stereo channel, can range for -1 (full left) to 1 (full right).&lt;br /&gt;
&lt;br /&gt;
SoundSense supports these audio formats for soundFiles:&lt;br /&gt;
&lt;br /&gt;
* mp3   (SoundSense can normalize the sound volume with this format)&lt;br /&gt;
* ogg   (works, but SoundSense can not normalize the sound volume)&lt;br /&gt;
* wav   (See note below. SoundSense only supports &amp;quot;Windows PCM&amp;quot; encoded .wav files)&lt;br /&gt;
* aiff&lt;br /&gt;
* au&lt;br /&gt;
&lt;br /&gt;
Note: Not all .wav files are supported...&lt;br /&gt;
&lt;br /&gt;
SoundSense supports .wav encoded in the &amp;quot;Windows PCM&amp;quot; format. However, some files with the &lt;br /&gt;
.wav extention are actually encoded in some other proprietary format. A sound format &lt;br /&gt;
conversion utility (such as FormatFactory) could be used to fix them.&lt;br /&gt;
&lt;br /&gt;
===Some Tips:===&lt;br /&gt;
&lt;br /&gt;
; Control of Randomness: Each logPattern expression can contain several soundFile elements. When it is triggered, one of them is randomly chosen to play. You can control the probability of each sound being chosen by adding the weight=&amp;quot;number&amp;quot; attribute.&lt;br /&gt;
; Simultaneous Sounds: By default, only one sound will play for a given logPattern, even if there are several expression using identical logPatterns. (Only the first expression is processed.) But you can allow more than one sound to be played for same pattern by giving the first one the haltOnMatch=&amp;quot;false&amp;quot; attribute. They will all start at same time (unless one or more of them also has a delay). An example is in Seasons.&lt;br /&gt;
; Sequential Sounds: Two (or more) sounds can be played sequentially (one after the other) for the same logPattern by using the haltOnMatch=&amp;quot;false&amp;quot; tip above and including a delay attribute for one of them with a delay that surpasses the length of the other.&lt;br /&gt;
&lt;br /&gt;
===Helpful files:===&lt;br /&gt;
&lt;br /&gt;
* packSkeletons.zip ( http://df.zweistein.cz/soundsense/packSkeletons.zip ) - This contains .xml files for all known gamelog lines currently without sounds. You can use this as a starting point to expand SoundSense.&lt;br /&gt;
* missingMessages.cmd - Run this program to parse your gamelog.txt file and output all lines your sound packs will not recognize.&lt;br /&gt;
* logging.properties - Edit this file to enable more debug messages from SoundSense. Set &amp;quot;.level = ALL&amp;quot; to view a very verbose output.&lt;br /&gt;
&lt;br /&gt;
===Sources of sound &amp;amp; music:===&lt;br /&gt;
&lt;br /&gt;
The following are some sites of interest, should you want additional sounds/music.&lt;br /&gt;
(Websites with free, creative commons, public domain, and/or GNU GPL licensed audio):&lt;br /&gt;
&lt;br /&gt;
*http://soundbible.com/&lt;br /&gt;
*http://www.freesound.org/searchText.php&lt;br /&gt;
*http://www.musopen.org/&lt;br /&gt;
*http://opengameart.org/browse/audio&lt;br /&gt;
*http://www.incompetech.com/m/c/royalty-free/&lt;br /&gt;
*http://ccmixter.org&lt;br /&gt;
*http://free-loops.com/&lt;br /&gt;
*http://www.pdsounds.org/&lt;br /&gt;
*http://commons.wikimedia.org/wiki/Category:Sound&lt;br /&gt;
*http://www.archive.org/details/opensource_audio&lt;br /&gt;
*http://publicdomainaudiovideo.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
===How to add music to seasonal playlist:===&lt;br /&gt;
&lt;br /&gt;
It is rather easy. Locate '''seasons.xml''' in ''soundpack/seasons'' directory.&lt;br /&gt;
&lt;br /&gt;
This file contains definition of two sets of sounds: First, there are four definitions for playing voiced anouncements (''&amp;lt;sound logPattern=&amp;quot;Spring has arrived!&amp;quot; haltOnMatch=&amp;quot;false&amp;quot; playbackThreshhold=&amp;quot;3&amp;quot;&amp;gt;'') which are not interesting and should be left alone.&lt;br /&gt;
&lt;br /&gt;
Seccond are main defintions of season music which start with ''&amp;lt;sound logPattern=&amp;quot;(Spring has arrived!)|(Spring has arrived on the calendar\.)&amp;quot; loop=&amp;quot;start&amp;quot; channel=&amp;quot;music&amp;quot; playbackThreshhold=&amp;quot;0&amp;quot;&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
You can simply add new ''&amp;lt;soundFile fileName=&amp;quot;'''Name of your.mp3'''&amp;quot;/&amp;gt;'' and put it in seasons directory.&lt;br /&gt;
[[ru:SoundSense]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Sedimentary_layer&amp;diff=130108</id>
		<title>v0.31:Sedimentary layer</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Sedimentary_layer&amp;diff=130108"/>
		<updated>2010-10-24T19:29:19Z</updated>

		<summary type="html">&lt;p&gt;CJN: Link to main stone layers page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}{{Quality|Exceptional}}&lt;br /&gt;
'''Sedimentary stone layers''' contain {{L|hematite}}, {{L|limonite}}, {{L|magnetite}}, {{L|tetrahedrite}}, &lt;br /&gt;
{{L|bituminous coal}}, {{L|lignite}}, and {{L|gypsum}}.&lt;br /&gt;
&lt;br /&gt;
{{L|Chalk}}*, {{L|chert}}, {{L|claystone}}, {{L|conglomerate}}, {{L|dolomite}}*, {{L|limestone}}*, {{L|mudstone}}, {{L|rock salt}}, {{L|sandstone}}, {{L|siltstone}} and {{L|shale}} layers are sedimentary.&lt;br /&gt;
:&amp;lt;sup&amp;gt;(* These also function as {{L|flux}}.)&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of a sedimentary layer appears white on the embark menu.&lt;br /&gt;
&lt;br /&gt;
Sedimentary layers are, on average, the most economically valuable of the four {{L|stone layers}}.  They are your only source of {{L|bituminous coal}} and {{L|lignite}}, vital for fueling non-{{L|magma}} forges and for the {{L|coke}} {{L|steel}}-making requires (especially if you lack {{L|tree}}s).  They are much richer in {{L|iron}} {{L|ore}}s than other rock formations.  Several sedimentary rocks - {{L|dolomite}}, {{L|chalk}}, and {{L|limestone}} - are {{L|flux}}es, required for {{L|steel}}-making and also being twice as valuable as normal stone, making them useful for {{L|crafts|trade goods}} or {{L|furniture}}.&lt;br /&gt;
&lt;br /&gt;
(In real world geology, sedimentary {{L|stone}} is formed by sediment. The sediment collects in constantly growing heaps and the pressure at the bottom eventually forms the sediment into stone.)&lt;br /&gt;
&lt;br /&gt;
==Sedimentary layers==&lt;br /&gt;
{{Layerlookup/layers|SEDIMENTARY}}&lt;br /&gt;
&lt;br /&gt;
==Stone found in sedimentary layers==&lt;br /&gt;
{{Layerlookup/stones|SEDIMENTARY}}&lt;br /&gt;
&lt;br /&gt;
==Gems  found in sedimentary layers==&lt;br /&gt;
{{Layerlookup/gems|SEDIMENTARY}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;* See also: {{l|stone found everywhere}}&amp;lt;/small&amp;gt;&lt;br /&gt;
{{Category|Stone Layers}}&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Stories&amp;diff=129858</id>
		<title>v0.31:Stories</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Stories&amp;diff=129858"/>
		<updated>2010-10-19T20:11:05Z</updated>

		<summary type="html">&lt;p&gt;CJN: Added link to Hall of Legends story collection.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
[[category:Stories]]&lt;br /&gt;
&lt;br /&gt;
== The Hall of Legends ==&lt;br /&gt;
&lt;br /&gt;
[http://www.bay12forums.com/smf/index.php?topic=41896.0 The Hall of Legends] thread at the bay12games forums is an attempt to collect links to the best Dwarf Fortress stories.&lt;br /&gt;
&lt;br /&gt;
== Individual stories ==&lt;br /&gt;
&lt;br /&gt;
=== [[DF2010:Stories/Bronzemurder|Illustrated battle report: Bronzemurder vs. Oggez Rashas]] ===&lt;br /&gt;
A masterpiece engraving of dwarves and the forgotten beast Oggez Rashas. [http://forum.rpg.net/showthread.php?t=510839 This engraving relates to the battle of the fortress of Bronzemurder].&lt;br /&gt;
&lt;br /&gt;
=== Legend of the Noble Staff of Whispermines ===&lt;br /&gt;
The mountain home of Crystalhaven was destroyed long ago by the shrew devil Eyuca Frightcrumble the Insensitive Goad, and their bodies assembled into a grotesque pillar by her henchmen. A band of giants ransacked the the mountain home of Rainedhammers, picking over it like vultures at a dead carcass. All that remains is the mountain home of Workenjoys, which dwindles in numbers at the hands of goblin snatchers and evil dwarves from the dark fortress of Haterampart.&lt;br /&gt;
&lt;br /&gt;
Too many Nobles in the last of the mountain homes. I can feel political backbiting and carefully placed snide remarks working their vile magics, and it won't be long until the threat becomes a crossbow bolt from a masked assassin. The goblins of Haterampart must be stopped, but the nobles of Workenjoys are too absorbed in petty bickering to pay the matter its due attention. So I make plans to establish a new fortress east of the goblins, and build an army to defeat them. Thus is the beginning of Whispermines. [[User:AngleWyrm|- AngleWyrm]] 02:21, 28 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== The Legendary Trio, Farmer, Fishery Worker and Armourer ===&lt;br /&gt;
The female dwarf adventurer Thikut Bufutast came across a huge pile of bodies outside of an abandoned fortress after she had read many notes on the battles that had happened there. The notes involved four people; a fishery Worker, a guard, a farmer (named Lor Zasitsil) and an Armourer. According to the notes, they had battle millions of enemies and slain that same amount minus a few who had run away in terror. The Guard was usually unconscious for the duration of the war, but he was alive.&lt;br /&gt;
&lt;br /&gt;
The three dwarves battled against hoards of goblins, imps, magma men, troglodytes, antmen, rat, goblins, you name it, they killed it. Even a dragon was foolish enough to attack them. He was successful in killing the Fishery Worker, and the farmer was left with the Armourer. When Thikut reached the massacre, it was too late. The Farmer, guard, fishery worker, and armourer were all dead, the last bodies on the pile.&lt;br /&gt;
After grieving for a few minutes, Thikut noticed that Lor was not quite dead, so she dragged her away from the pile and brought her back. Once Lor had been revived she slept for a short while. In that time a giant rat attacked, and Thikut defended Lor to the death, dying in the process of killing the rat. Lor briefly grieved for Thikut, and then buried her next to the bodies of her friends. Lor was happy that she had survived, and set out on her new journey, she walked up onto the bridge leading over the great river nearby the fortress, and a lampray leapt up and ripped her brain out of the back of her skull.&lt;br /&gt;
&lt;br /&gt;
I guess 'Those that live by the sword, die by the sword' is true.&lt;br /&gt;
&lt;br /&gt;
Lor Zasitsil's Kills:&lt;br /&gt;
10342&lt;br /&gt;
&lt;br /&gt;
Unknown's (Fishery Worker) Kills:&lt;br /&gt;
3764&lt;br /&gt;
&lt;br /&gt;
Unknown's (Armourer) Kills:&lt;br /&gt;
20343&lt;br /&gt;
&lt;br /&gt;
Unknown's (Guard) Kills:&lt;br /&gt;
217&lt;br /&gt;
&lt;br /&gt;
Thikut Bufutast's Kills:&lt;br /&gt;
2&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Origin&amp;quot;&lt;br /&gt;
This originated as I watched a miner discover a new fortress near my own (This was Thikut). I also found a massacre of bodies, as listed above, with two dragons. By searching the fortress and coffins, I discovered that the four that died were the last ones of the 'Shadowspiral' fortress, as it was named. It was also caused by the fact that a minor malfunction happened where the game believed Lor to be dead, but Thikut fixed it by walking over Lor's corpse. Lor then went to sleep, Thikut died defending her, and then Lor died as she migrated across to my fortress from a lampray pulling her brain out of the back of her head. Not a very suitable death for one so great. (Btw the other dragon, Sarvesh the blazing flame incinerated the Armourer after the Armourer grappled him about fifty times.)&lt;br /&gt;
&lt;br /&gt;
[[User:Thikut|- Thikut]] 3:51, 31 July 2010 (AU)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dwarf Flume ===&lt;br /&gt;
&lt;br /&gt;
A dwarf has died 'after colliding with an obstacle?' A glitch, surely. How could a dwarf run into a wall so fast as to be killed?&lt;br /&gt;
'''&lt;br /&gt;
But then another!'''&lt;br /&gt;
&lt;br /&gt;
On the third I see what is going on. A forgotten beast had earlier gone on a rampage through the fortress, destroying a door keeping back the waters of an underground river. As part of an effort to reclaim the flooded territory, drainage tunnels had been dug. Dwarves, on their way to dig more relief tunnels, were being caught up in the flow while wading - sucked through a hole in the floor into a labyrinth-like tunnel, twisting around as the water changed directions, and finally launched by the hydraulic pressure into the former water store cistern - to be smashed against the opposite wall, then dropped five levels into a pit of water.&lt;br /&gt;
&lt;br /&gt;
=== No that's YOUR job ===&lt;br /&gt;
&lt;br /&gt;
Momuz and Rigoth are walking from the fields, back to the new settlement.  Momuz rubs his head, scowling.  &amp;quot;Armok, I'm thirsty.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rigoth glares and flares his nostrils. &amp;quot;You never drink, that's why you're thirsty.  You're always going on about the prickle berry season.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Yes, well, that's because I care about my work.  Not like those jokers that called themselves the '40d' dwarves that were in here.  They'd walk half way out to the berry field, then say 'you know, it's time for a drink' and you wouldn't see them for hours.  Me, I'm a herbalist, and I'm serious about it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rigoth grunts.  &amp;quot;Yeah, those guys weren't worth much.  Oh dwarf alive.  I could use a drink too.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Both dwarves enter the dining hall / tavern.  All around are half dead dwarves, crying for drink.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;WE'RE SO THIRSTY&amp;quot; they all say.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Yeah, well, you guys are always thirsty.  Still... you're in a TAVERN... why aren't you all drinking?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;THERE'S NO ALCOHOL!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Really?  I didn't see any notes about that....  Why didn't you drink water?  What happened to the stored water we had?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Stored water?  You mean that time we tried making a stairwell upwards under a lake?  That stored water?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Well yes!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;That's not a well, that's a flooded stairway.  You can't expect me to drink water from a stairway.  People walk there!  YOUR CAT left a dead lizard on those stairs.  Plus, I never did find out where you've been going to the bathroom...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Oh.  Well.  I guess someone should make alcohol then... who's job was that anyways?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(both dwarves drop dead)&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Weaponsmith and Cave Crocodile&amp;quot;, a poem by Urist McShakeSpear. ===&lt;br /&gt;
&lt;br /&gt;
This is a story about a Cave Crocodile and Tulon Olonurrïth &amp;quot;GearedScarred&amp;quot;, a Weaponsmithess, who were dramatically involved into fatal relationship.&lt;br /&gt;
&lt;br /&gt;
'''Chapter 1.'''&lt;br /&gt;
&lt;br /&gt;
Tulon rambled at a cavern forest, looking for logs that lazy woodcutter left laying on the ground. Suddenly an unknown voice called her - &amp;quot;Oh, lady dwarf, it must be Providence itself that led you here! I'm an ancient dwarven prince, who has been turned into a beast by evil witch, and only the kiss of charming dwarvess can transform me back!&amp;quot;. And a large pale cave crocodile came out of the tower-cap tree. He crawled toward her and asked politely - &amp;quot;Oh, will you kiss me?&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
And Tulon replied - &amp;quot;WHEEEEEEEEWWW! A LIZARD!!! WHEEEEEWWW!!! DON'T COME!!! I HATE LIZARDS!!! HEEEEEEEEEELP!!!!&amp;quot; - and ran back toward stairs back to her safe home.&amp;lt;br /&amp;gt;&lt;br /&gt;
Crocodile roared - &amp;quot;Wait! Wait!! You can't just run away and left me here! WAIT, YOU!!!&amp;quot; - and rushed after her.&amp;lt;br /&amp;gt;&lt;br /&gt;
...&amp;lt;br /&amp;gt;&lt;br /&gt;
After several hours of chase the Crocodile finally managed to knock her down on muddy floor and said - &amp;quot;Well, now you have no choise but to fulfill my needs. JUST. ONE. KISS. And you can leave safely wherever you want.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Tulon'' - &amp;quot;NO! NO! GET AWAY! GET AWAY YOU SLIMY LIZARD!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot; NO WAY! I'll  get this damned kiss, even against your will! NOW!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Tulon managed to stand up, but Crocodile jumped towards her with intention to get this kiss by force. He grab her head with his jaws... &amp;lt;br /&amp;gt;&lt;br /&gt;
...OOOOOPS... &amp;lt;br /&amp;gt;&lt;br /&gt;
The headless body of Tulon Olonurrïth slided down the muddy slope...&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Oh f#$k. And what now? Centures of crawling at the darkness with only one hope, and now this imbecile riuned it all. Well, at least I hope she wasn't the only female at this hamlet above. And I hope they ain't such reptile-haters&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
And Crocodile crawled to the narrow corridor. Suddenly a cage fell from above, locking him inside.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Oh, GREAT...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Chapter 2.'''&lt;br /&gt;
&lt;br /&gt;
After several hours of awaiting a dwarf peasant came.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Hey! Hey! Come here! Help me! I'm an enchanted prince, I need a woman who kiss me and transform back to dwarf form!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Peasant'' - &amp;quot;Talking beast?! Wow! Guys up there would be glad to see that.&amp;quot;. He grabbed the cage and hauled it up to the quarters.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Hey! Did you hear that i say?! I'm a dwarf like you! Witch turned me into this! Damn, dwarfes grown REALLY dull, while i loafed down there.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
...&amp;lt;br /&amp;gt;&lt;br /&gt;
''Peasant'' - &amp;quot;Hey! Guys! Look that i got! He is talking!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Yes, talking, you dumbass! I'm telling you I'm dwarf, only looking like Crocodile! If a dwarf girl kiss me, I'll be dwarf again!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Bookkeeper'' - &amp;quot;Oh, I remember... I was a little boy and my granny took me to puppet show, and the fairytale was about a prince turned into a beast, and a girl must kiss him to turn him dwarf again...&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;Oh, finally someone who shows a bit of common sence. That is exactly that happened to me! I need help!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Bookkeeper'' - &amp;quot;Let's put him into our meeting room, he will tell fairytales. What can be better - a nice loaf of cheese and a tale!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;OH SHI~&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Bookkeeper'' - &amp;quot;We'll call him Theater Romance, he's always telling that stuff about kisses, sorcery, fate and that crap... I'll tell my wife to make nice silk curtain for him, ho-ho!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Chapter 3.'''&lt;br /&gt;
&lt;br /&gt;
Some days later&amp;lt;br /&amp;gt;&lt;br /&gt;
''Peasant'' - &amp;quot;Hey, that's with our Theater? He says no word other that &amp;quot;F#$K OFF!&amp;quot;. Let he tell something funny - you know, dragons, knights and that crap...&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Caretaker'' - &amp;quot;Hey, Theater! Tell us something!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;I SAID - F#$K OFF! Is it too difficult for your tiny oaken brain?!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crowd sadly'' - &amp;quot;Oooohhhh....&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Peasant'' - &amp;quot;What for we need him then? He just eats and shits, and does nothing!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Broker'' - &amp;quot;Guys! Take him and bring to depot. That's gonna be a brillant deal! Those merchants got planty of delicious drinks...&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crowd happily'' - &amp;quot;Hooray!&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Crocodile'' - &amp;quot;FUUUUUUUUU~&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Crocodile breaks from his cage and runs away, and miners armed with their picks chase him all over the fortress. After a hours or rushing, beating, biting, wrestling the Crocodile falls down breathlessly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Broker'' - &amp;quot;Damn! Drinks!&amp;quot; - to the merchants packing their goods &amp;quot;Hey, wait a bit! We've got a lot of other cool things! Cmon, let's trade a bit more!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''The End.'''&lt;br /&gt;
&lt;br /&gt;
'''The origin.'''&lt;br /&gt;
&lt;br /&gt;
A Weaponsmith (she realy detests lizards) went to cave forest to take a wod log to stockpile, and got chased by cave crocodile. Finally the crocodile torn her head apart in a single charge, and got the name Stinhädâbir, &amp;quot;Theaterromance&amp;quot;. Then he got caught into a cage trap. Later, when i wanted to sell him to merchants, he broke out of cage while it was hauled, and i had to draft all miners into squad to struck him down. --[[User:Peregarrett|Peregarrett]] 12:07, 27 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Legend of the Misunderstood Hero===&lt;br /&gt;
&lt;br /&gt;
In Early Spring of 1051 Human Adventurer Conrad Casser was given an arduous task. The task was to fell Ozor Sneakconfused the guise of seers. Ozor was a unique one of a kind skink brute. His enormous Skink body was twisted into the shape of a humanoid and lived in a nearby town. Well not willing to let a demon live Conrad set off to send this Demon back to hell. The fight was long and difficult. With every broken bone and limb Conrad delivered he received as well. Then the towns guard showed up. Thank heavens back up. But, No! it was to him that the guards fell upon. It Turned out the demon was a Law giver in the kingdom of guilds. The demon used this chance to release a blast of heat and steam throwing everyone nearby every which way. The Last thought to go through Conrad's head was &amp;quot;But he's a demon&amp;quot;. The last thing to go through in head physically was the town guardsmen dead body thrown by the steam.  The name of the city in which the humans unknowingly consort with a demon: Dotmerged.&lt;br /&gt;
&lt;br /&gt;
it wasn't till later in legends mode that i read what my biggest mistake was. Listed in the demon's entry it stated,&lt;br /&gt;
&amp;quot;in 16 Ozor fooled the kingdom of guilds into believing it was a manifestation of the deity Bekor Cataura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I had attacked their god, and until they had interrupted, came pretty close to killing it.&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Stories&amp;diff=129829</id>
		<title>40d:Stories</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Stories&amp;diff=129829"/>
		<updated>2010-10-19T07:59:23Z</updated>

		<summary type="html">&lt;p&gt;CJN: Note that Boatmurdered older than 40d. 23a?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
==Something Awful - Let's Play Dwarf Fortress==&lt;br /&gt;
'''IMPORTANT: The amount of cursing used in the following stories &amp;lt;s&amp;gt;is very bad&amp;lt;/s&amp;gt; would make a dwarf's head explode. READER DISCRETION IS ADVISED.'''&lt;br /&gt;
&lt;br /&gt;
===Boatmurdered===&lt;br /&gt;
The one that started it all. Read it [http://lparchive.org/LetsPlay/Boatmurdered/intro.html here]. (Note that Boatmurdered is from a quite old 2d version of the game, and should probably be in [[23a:Stories]] if that page gets constructed.)&lt;br /&gt;
&lt;br /&gt;
===Headshoots===&lt;br /&gt;
The modern equivalent of Boatmurdered. Read it [http://lparchive.org/LetsPlay/Headshoots here].&lt;br /&gt;
&lt;br /&gt;
===Syrupleaf===&lt;br /&gt;
The sequel to Headshoots, being just as epic, and even longer. Read it [http://lparchive.org/LetsPlay/Syrupleaf/index.html here].&lt;br /&gt;
&lt;br /&gt;
==Archives==&lt;br /&gt;
*{{L|Stories/Archive 1}}&lt;br /&gt;
*{{L|Stories/Archive 2}}&lt;br /&gt;
*{{L|Stories/Archive 3}}&lt;br /&gt;
*{{L|Stories/Archive 4}}&lt;br /&gt;
*{{L|Stories/Archive 5}}&lt;br /&gt;
*{{L|Stories/Archive 6}}&lt;br /&gt;
*{{L|Stories/Archive 7}}&lt;br /&gt;
*{{L|Stories/Archive 8}}&lt;br /&gt;
*{{L|Stories/Archive 9}}&lt;br /&gt;
*{{L|Stories/Archive 10}}&lt;br /&gt;
*{{L|Stories/Archive 11}}&lt;br /&gt;
*{{L|Stories/Archive 12}}&lt;br /&gt;
*{{L|Stories/Archive 13}}&lt;br /&gt;
*{{L|Stories/Archive 14}}&lt;br /&gt;
*{{L|Stories/Archive 15}}&lt;br /&gt;
*{{L|Stories/Archive 16}}&lt;br /&gt;
&lt;br /&gt;
[[category:Stories]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Manager&amp;diff=13429</id>
		<title>40d:Manager</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Manager&amp;diff=13429"/>
		<updated>2008-09-04T16:45:14Z</updated>

		<summary type="html">&lt;p&gt;CJN: minor wikifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Noble&lt;br /&gt;
| noble=Manager&lt;br /&gt;
| office=Meager Office&lt;br /&gt;
| function=&lt;br /&gt;
* Manage bulk job orders&lt;br /&gt;
}}&lt;br /&gt;
The '''Manager''' is an appointed [[noble]] position. To do his/her work he/she uses the [[Organizer]] skill.&lt;br /&gt;
&lt;br /&gt;
When chosing a dwarf for the position the following skills are also listed as relevant:&lt;br /&gt;
&lt;br /&gt;
* [[Comedian]]&lt;br /&gt;
* [[Consoler]] &lt;br /&gt;
* [[Flatterer]]&lt;br /&gt;
* [[Intimidator]]&lt;br /&gt;
* [[Judge of intent]]&lt;br /&gt;
* [[Liar]]&lt;br /&gt;
* [[Negotiator]]&lt;br /&gt;
* [[Pacifier]]&lt;br /&gt;
* [[Persuader]]&lt;br /&gt;
&lt;br /&gt;
If this position is left vacant, the Manager screen at {{K|j}} -&amp;gt; {{K|m}} says &amp;quot;A manager is required to coordinate work orders&amp;quot;, which seems to imply that they will not be performed. Without a manager the 'Workshop {{K|P}}rofile' option won't be available on workshops.&lt;br /&gt;
&lt;br /&gt;
== Changing name ==&lt;br /&gt;
&lt;br /&gt;
As the population of the outpost increases, the name of the Manager's job title also changes:&lt;br /&gt;
&lt;br /&gt;
* Outpost Manager: &amp;lt;20 dwarves&lt;br /&gt;
* Hamlet Manager: 20+ dwarves&lt;br /&gt;
* Village Manager: 50+ dwarves{{verify}}&lt;br /&gt;
* Town Manager: 80+ dwarves{{verify}}&lt;br /&gt;
* City Manager: 150+ dwarves{{verify}}&lt;br /&gt;
* Metropolis Manager: 220+ dwarves{{verify}}&lt;br /&gt;
&lt;br /&gt;
== Setting up work orders ==&lt;br /&gt;
&lt;br /&gt;
The Manager screen ({{k|u}}{{k|m}} or {{k|j}}{{k|m}}) allows you to set up work orders. This can be handy if you want to specify a precise number of items to be created, more than the few that will fit in a workshop's queue, but not just an indefinite amount, as you'd get by specifying a workshop task as a repeating task. It can also be useful because, although work orders will still be canceled if the raw materials aren't currently available, they will be added back to the workshop queue regularly until the order is finished.&lt;br /&gt;
&lt;br /&gt;
== Approval of work orders ==&lt;br /&gt;
&lt;br /&gt;
When the Manager presides over an Outpost that has less than 20 dwarves, the {{K|j}}ob {{K|m}}anager screen allows all orders to be assigned automatically; the game simply abstracts out the order management and the Manager probably just discusses the jobs while everyone is downing their [[dwarven ale|ale]].&lt;br /&gt;
&lt;br /&gt;
However, upon becoming a Hamlet Manager, the Manager must personally verify each and every task on the manager screen; by that time, the population has grown significantly enough that the Manager must devote at least some of his time to bureaucracy.  The Manager then requires an [[Office]] to perform his or her duties.&lt;br /&gt;
&lt;br /&gt;
The manager screen displays the tasks the Manager has approved with a green check mark, and displays the tasks the Manager has not yet approved with a red X.  Approving these tasks occurs in the Manager's Office: the Manager receives a task automatically and, after spending a short amount of time scribbling furiously, the order is approved and the craftsdwarves can get to work!  Naturally, the Manager cannot be otherwise busy or else he won't be able to approve the orders.  The time taken to approve the order is dependent on the Manager's [[Organizer]] skill.&lt;br /&gt;
&lt;br /&gt;
== Room requirements and consolidating nobles ==&lt;br /&gt;
&lt;br /&gt;
* While this noble does not require a dining room, they may eat at the chair in their office, and if so will receive a negative [[thought]] about the lack of tables.  For this reason, it may be advisable to assign them a small, personal dining room, or just build a table in their office by the chair.&lt;br /&gt;
* The manager has the same room and furniture requirements as the [[broker]] and [[bookkeeper]].  Because all three of these nobles tend to have periodic idle time, it may be possible to have one dwarf serve all three functions, especially in the early years of a fortress.&lt;br /&gt;
* A dwarf will receive a negative thought if they have to conduct a meeting in a [[bedroom]]. So make sure the office does not overlap their bedroom.&lt;br /&gt;
[[Category:Nobles]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Appraiser&amp;diff=3515</id>
		<title>40d:Appraiser</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Appraiser&amp;diff=3515"/>
		<updated>2008-09-04T10:33:05Z</updated>

		<summary type="html">&lt;p&gt;CJN: Added a wiki link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skill&lt;br /&gt;
| color      = #f0f&lt;br /&gt;
| skill      = Appraiser&lt;br /&gt;
| speciality = Trader&lt;br /&gt;
| profession = Administrator&lt;br /&gt;
| job name   = Admin/Noble&lt;br /&gt;
| tasks      =&lt;br /&gt;
* Trade at Depot&lt;br /&gt;
}}The appraise skill is used by the [[Outpost Broker]] [[noble]].  If the broker doesn't have at least novice skill, then it is not possible to see the values of goods being traded, only their weight. Also, the {{key|z}} [[status]] window will say &amp;quot;You need a broker with the appraisal skill&amp;quot; to show [[created wealth]] and trade information, if your brokers skill is below novice. There is no apparent advantage in having more than novice skill level and the skill is learned very fast from just looking at goods in the trade window.&lt;br /&gt;
&lt;br /&gt;
When the [[dwarven economy]] is activated, shopkeepers also use the appraisal skill when selling goods.&lt;br /&gt;
&lt;br /&gt;
It is gained by:&lt;br /&gt;
* Seeing goods for trade at the [[trade depot]]&lt;br /&gt;
* Successful trades at the depot&lt;br /&gt;
* Trading in a [[shop]]&lt;br /&gt;
&lt;br /&gt;
Notable ways that it is not gained include:&lt;br /&gt;
* Proposing an unsuccessful trade at the depot&lt;br /&gt;
* Offering goods to foreign traders&lt;br /&gt;
* Simply being assigned as the broker noble&lt;br /&gt;
* Sitting around at the depot, whether there are traders there or not&lt;br /&gt;
* Meeting with the outpost liaison&lt;br /&gt;
&lt;br /&gt;
[[Category:Skills]]&lt;br /&gt;
[[Category:Noble Skills]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Wound&amp;diff=13377</id>
		<title>40d:Wound</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Wound&amp;diff=13377"/>
		<updated>2008-09-03T14:37:20Z</updated>

		<summary type="html">&lt;p&gt;CJN: Added some wiki links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{old|0.23.130.23a|, the 2D version}}&lt;br /&gt;
&lt;br /&gt;
[[Creatures]] with severe '''wounds''' will flash with a yellow or red + icon; see [[status icons]] for a full list of status and injury indicators. A creature's injuries can be seen by pressing {{key|w}} while {{key|v}}iewing creature info in [[Fortress Mode]], or by {{key|l}}ooking at a creature and selecting their letter in [[Adventure Mode]]. Wounds are listed by body part and described by color, as displayed in the following table.&lt;br /&gt;
&lt;br /&gt;
{| border=0 cellpadding=0 cellspacing=1 style=&amp;quot;background: black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; unhurt&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#c0c0c0&amp;quot;&amp;gt; lightly wounded&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#808000&amp;quot;&amp;gt; moderately wounded&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#ffff00&amp;quot;&amp;gt; broken&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt; mangled&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt; lopped off&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wounding ==&lt;br /&gt;
&lt;br /&gt;
This section is incomplete; much about the [[Combat| combat system]] is unknown.&lt;br /&gt;
&lt;br /&gt;
If an attack connects, the target will be wounded in some part of the body. The severity of the wound depends on 1) the strength of the attack, 2) the protective value of any [[armor]] or other protection available for that body part, and 3) a (large) random factor. Wounds are cumulative: when an already wounded body part is hit the wound will worsen, even if in adventure mode it produces the same message about the condition of the body part more than once.&lt;br /&gt;
&lt;br /&gt;
The mathematics are at present pure guesswork. However, we do know that armor value does not simply subtract from damage; you can be wounded (usually lightly) by an attack substantially weaker than the protective value of your armor. Armor is vital to survivability, but it can't make you immune. Creature size is also vital; larger creatures hit harder and can endure more base damage.  Attacks, especially piercing attacks with critical boosts (e.g. arrows), can damage vital internal organs located in the area of that body part.&lt;br /&gt;
&lt;br /&gt;
== Effects of wounds ==&lt;br /&gt;
&lt;br /&gt;
When a wound is inflicted, no matter how lightly, it will usually bleed (even if only for one turn). In [[Fortress Mode]], wounded dwarves receive various unhappy [[thoughts]], but also some positive thoughts from the rescue and recovery process (see next section).&lt;br /&gt;
&lt;br /&gt;
A wounded limb or organ becomes less effective. A severe wound to an arm or hand causes held items (weapons, shields) to be dropped from that hand. Wounds to either leg often cause the target to topple over, greatly slowing it down. Pierced lungs make it easier to become Winded. Damaged internal organs often cause the victim to periodically become stunned or unconscious until they heal (which in some cases never happens).&lt;br /&gt;
&lt;br /&gt;
Death from [[Blood|blood]] loss will happen quickly whenever wounds to major internal organs occur, like the heart being pierced or &amp;quot;entrails shooting out through the wound&amp;quot;. In [[Adventure Mode]], a &amp;quot;Mortal Wound&amp;quot; status indicator will appear when this happens to your adventurer. There is no way to avoid this. A pierced lung doesn't always result in bleeding to death, but it may eventually cause suffocation, or dying of thirst due to Drink actions being interrupted by falling unconscious. [[Attributes#Toughness|Toughness]] may be a factor in helping to prevent this.&lt;br /&gt;
&lt;br /&gt;
Other effects of wounding (for most creatures) include pain, which can cause temporary paralysis due to fainting (&amp;quot;giving in to pain&amp;quot;), [[vomit]]ing, and stunning (slowing), especially if the creature is not very Tough.&lt;br /&gt;
&lt;br /&gt;
Arrows and bolts can become stuck in limbs, showing up in the wounded dwarf's inventory.  This seems to prevent the dwarf from resting and the wound from healing.  It is unclear what is necessary to remove the item from the limb; like other shot ammo, it will initially be in forbidden state, so claiming it may help, as may marking it to be dumped{{verify}}.&lt;br /&gt;
&lt;br /&gt;
=== On organs ===&lt;br /&gt;
&lt;br /&gt;
When a creature is attacked with a piercing [[weapon]] or projectile, organs might take damage.  This table shows most major organs, their functions, and what happens when they are damaged.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: grey; color: black;&amp;quot;&lt;br /&gt;
! Organ !! Function !! Lightly/moderately wounded effects !! Broken/mangled effects !! Lopped off effects&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Heart || Circulatory Organ || Not possible || Fatal Heavy Bleeding when pierced, death can occur fast. ''Can only be mangled.'' || Not possible&lt;br /&gt;
|- style=&amp;quot;padding: 1px;&amp;quot;&lt;br /&gt;
|| Brain || Movement || Bleeding, possibly becoming Winded. Usually not fatal || Paralysis. Weapons get dropped, limbs become useless, inability to stand. The only attack possible is 'Push' || Decapitation, or other gory head explosion effects, naturally, cause instant death.&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Throat || Breathing || Bleeding, possibly becoming Winded || Heavy Bleeding and becoming Winded. Lethality depends on Toughness || Fatal Heavy Bleeding and/or suffocation, no chance of survival.&lt;br /&gt;
|- style=&amp;quot;padding: 1px;&amp;quot;&lt;br /&gt;
|| Lung(s) || Respiratory Organ(s) || Not possible || Heavy Bleeding and becoming Winded. Possible suffocation depending on toughness and number of lungs pierced. ''Can only be mangled.'' || Not possible&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Eye(s) || Visuals || Bleeding, vision is impaired if all eyes are effected. || Not possible || Heavy Bleeding. Possible extreme pain depending on Toughness and number of eyes removed. Destroys accuracy and lessens vision permanently.  If all eyes are removed, the creature is completely blind, and can only &amp;quot;see&amp;quot; what's next to it (other words, 3x3 vision).&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Guts || Not known || Not possible || Fatal Heavy Bleeding (on and off) as entrails spill out, extreme pain, and nausea. Can be a slow, painful death. ''Can only be mangled.'' || The entire lower body is severed from the rest of the body or it is completely destroyed.  Instant death.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wounds in Fortress Mode ==&lt;br /&gt;
&lt;br /&gt;
=== Healing ===&lt;br /&gt;
Dwarves with yellow or red wounds will attempt to get to a bed to [[rest]], if possible. Civilian dwarves with the [[health care]] labor will drag severely wounded dwarves to a bed and bring them [[food]] and [[bucket]]s of [[water]] as they recover. A severely injured dwarf will stay in bed, and occasionally cancel tasks to rest their injury. [[Toady]] has stated that beds which are not in any defined [[room]] are considered hospital beds, and dwarves will recover faster when sleeping on them. Dwarves with light or moderate (medium grey to brown) wounds do not need to rest.&lt;br /&gt;
&lt;br /&gt;
In the current version (39c), wounded dwarves who rest are automatically labelled as &amp;quot;unconscious&amp;quot;. Unlike the previous versions, this does not prevent the other dwarves from bringing them food and water.&lt;br /&gt;
&lt;br /&gt;
Generally, light or moderate wounds will be healed in a week at most, usually much faster. Broken body parts will likely take some months of bed rest to recover, and a mangled part can take years. Severed limbs do not grow back. &lt;br /&gt;
&lt;br /&gt;
Yellow or red wounds have a chance to heal on [[season]] changes. The likelihood of yellow or red wounds making a recovery is quite variable. Limbs are more likely to eventually heal than internal organs. In some cases, a badly wounded dwarf will not recover at all.&lt;br /&gt;
&lt;br /&gt;
Wounds to the nervous system (the neck, brain, or spine) will never heal.  If these wounds are not too severe the dwarf will be able to continue his daily routine without any problems.  Military dwarves with nervous wounds will never spar, however. Melee dwarves with nervous injuries may still be valulable as a Marksdwarf.  If a dwarf has yellow or red nervous damage, he will be a permanent invalid, and you may wish to arrange for his demise so as to prevent him from forever requiring your other dwarves to bring him food and water.&lt;br /&gt;
&lt;br /&gt;
Dwarves have various [[thoughts]] from injury, unconciousness, and the healing process. Injuries cause unhappy thoughts, but these are offset by happy thoughts from getting rescued, being able to rest and recuperate (i.e. stay in bed), and being given water and food. Check for unhappy patients, as wounded dwarves have been known to go berserk when unhappy thoughts accumulate (see below). If you cannot ensure their happiness, you may have to station armed guards nearby as a precaution, or even lock the wounded dwarf in his bedroom and write him off.&lt;br /&gt;
&lt;br /&gt;
Since losing consciousness due to pain can be resisted by dwarves with high Toughness, very Tough dwarves tend to survive injuries more easily. Toughness also greatly speeds up the healing process, a superdwarvenly tough (super-)dwarf can heal yellow injuries in days. Losing a Limb, however, can make even the toughest creatures give in to pain.&lt;br /&gt;
&lt;br /&gt;
== Wounds in Adventure Mode ==&lt;br /&gt;
&lt;br /&gt;
Healing is much simpler in [[Adventure Mode]]; walking one space on the overland map will heal everything but severed limbs, including hunger and thirst. Your &amp;lt;strike&amp;gt;friends&amp;lt;/strike&amp;gt; spear-catchers will also be healed, as long as they were reasonably close to you when you left the map. If you leave them bleeding and crawling in the cave below, however, they won't come with you.&lt;br /&gt;
&lt;br /&gt;
In the current version, it is observed that beginning to freeze to death during a cold night will produce blood spatters on every surface of your body and inflict minor wounds to every organ and surface possible. This includes your eyes, limiting your vision to a single square around you. This is almost certainly because of wounds in the eyes, as if you {{k|T}}ravel away you will retain the blood in your eyes but regain normal vision. A similar effect is observed if you manage to set yourself on fire, although you are also blinded and suffocated by the smoke in this case.&lt;br /&gt;
&lt;br /&gt;
== Descriptions ==&lt;br /&gt;
&lt;br /&gt;
In Adventure Mode, wounds will generate messages when they are inflicted. The following table lists the various messages you'll see when a wound is received. Messages corresponding to immediately fatal blows to the three major body parts (head, upper body, and lower body) are also provided. Most of these messages are displayed for organic beings only, not for skeletal, mechanical, etc. creatures.  &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: grey; color: black;&amp;quot;&lt;br /&gt;
! Damage type !! Lightly wounded !! Moderately wounded !! Broken !! Mangled !! Instantly fatal (head) !! Instantly fatal (upper body) !! Instantly fatal (lower body)&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Pierce || &amp;quot;It is pierced!&amp;quot; || &amp;quot;It is badly pierced!&amp;quot; || &amp;quot;It is broken!&amp;quot; || &amp;quot;It is mangled!&amp;quot; || &amp;quot;It is pierced through entirely!&amp;quot; || &amp;quot;It is pierced through completely!&amp;quot; || &amp;quot;It is run through!&amp;quot; &lt;br /&gt;
|- style=&amp;quot;padding: 1px;&amp;quot;&lt;br /&gt;
|| Bludgeon || &amp;quot;It is bruised!&amp;quot; || &amp;quot;It is battered!&amp;quot; || &amp;quot;It is broken!&amp;quot; || &amp;quot;It is mangled!&amp;quot; || &amp;quot;It is smashed into the body, an unrecognizable mass!&amp;quot; || &amp;quot;It collapses into a lump of gore!&amp;quot; || &amp;quot;It explodes in gore!&amp;quot; &lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Slash || &amp;quot;It is cut!&amp;quot; || &amp;quot;It is badly gashed!&amp;quot; || &amp;quot;It is broken!&amp;quot; || &amp;quot;It is mangled!&amp;quot; || &amp;quot;It is split in half from the crown to the chin!&amp;quot; || &amp;quot;It is cloven asunder!&amp;quot; || &amp;quot;It is mostly cut away from the rest of the torso!&amp;quot; &lt;br /&gt;
|- style=&amp;quot;padding: 1px;&amp;quot;&lt;br /&gt;
|| Gore || &amp;quot;It is torn!&amp;quot; || &amp;quot;It is badly ripped!&amp;quot; || &amp;quot;It is broken!&amp;quot; || &amp;quot;It is mangled!&amp;quot; || &amp;quot;It is torn apart!&amp;quot; || &amp;quot;It is torn into pieces!&amp;quot; || &amp;quot;It is ripped into loose shreds!&amp;quot;  &lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Burn || &amp;quot;It is singed!&amp;quot; || &amp;quot;It is burned!&amp;quot; || &amp;quot;It is cracked by the heat!&amp;quot; || &amp;quot;It is partially incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot;&lt;br /&gt;
|- style=&amp;quot;padding: 1px;&amp;quot;&lt;br /&gt;
|| Cold || &amp;quot;It is chilled!&amp;quot; || &amp;quot;It is frostbitten!&amp;quot; || &amp;quot;It is cracked by the cold!&amp;quot; || &amp;quot;It is frozen through!&amp;quot; || &amp;quot;It is shattered!&amp;quot; || &amp;quot;It is shattered!&amp;quot; || &amp;quot;It is shattered!&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #eee; padding: 1px;&amp;quot;&lt;br /&gt;
|| Heat || &amp;quot;It is blistered!&amp;quot; || &amp;quot;It is charred!&amp;quot; || &amp;quot;It is cracked by the heat!&amp;quot; || &amp;quot;It is partially incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot; || &amp;quot;It is incinerated!&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the major body part was &amp;quot;lopped off&amp;quot;, which is different than just having an instantly fatal wound, the message would say &amp;quot;The *Body part* flies off in a bloody arc!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A creature inflicted with a fatal blow will be announced as &amp;quot;struck down&amp;quot; or, if a ranged weapon was used &amp;quot;shot and killed&amp;quot;.  Other death messages include &amp;quot;starved to death&amp;quot;, &amp;quot;drowned&amp;quot;, &amp;quot;fallen into a deep chasm&amp;quot;, &amp;quot;burned to death&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
[[Category:Dwarves]]&lt;br /&gt;
[[Category:Military]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Dwarf_fortress_mode&amp;diff=1655</id>
		<title>40d:Dwarf fortress mode</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Dwarf_fortress_mode&amp;diff=1655"/>
		<updated>2008-08-26T14:43:28Z</updated>

		<summary type="html">&lt;p&gt;CJN: /* Compared to the 2d version */ 2d-&amp;gt;2D&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After creating a new world, most new users will play in '''fortress mode'''.  In fortress mode, you pick a [[location]] in your world, then assign your seven initial [[dwarves]] some starting [[skills]] and pick items and [[animals]] to bring along.  When the game starts, unlike previous versions, you will not be presented with the typical |river|field|cliff| layout that we are all used to, but instead with whatever area of the map you picked.  There is a new Z axis (up and down) which you probably have to use if you picked a non mountainous area.  You can get to the different layers using {{K|&amp;gt;}} (down) and {{K|&amp;lt;}} (up).  To [[digging|dig]] to other layers first designate a down [[stair]]case, then go down a layer and designate and up staircase below it.  You can then build [[buildings]] and [[workshops]] in the space you have dug out.&lt;br /&gt;
&lt;br /&gt;
=== Selecting a site ===&lt;br /&gt;
The most important decision that will lead to success or failure of your fort is your starting [[location]]. Study carefully the options presented so that you   select a site that you can confidently play in. Things to consider are vegetation ([[tree]]s, [[plants]]), [[water]] ([[river]]s or brooks), temperature (hot, warm, cold, freezing) and locale? (evil, terrifying, calm, sinister). There are [[volcano]]s, if you want [[magma]] then find a [[magma vent]] near a volcano. Is there an [[aquifer]] stopping you from reaching [[stone]]? What minerals do those stone layers contain?&lt;br /&gt;
&lt;br /&gt;
=== Embarking ===&lt;br /&gt;
Selecting your dwarves and starting materials. &lt;br /&gt;
&lt;br /&gt;
=== Playing ===&lt;br /&gt;
Your view of the in game world is that of a multi-layered environment which you can move up and down and left to right. Dwarves are represented by little smiles, rocks by blackness and sky by blueness. You have a command menu that lets you set commands that your dutiful dwarves will attempt to follow. The rest of this wiki is dedicated to helping you with these commands.&lt;br /&gt;
&lt;br /&gt;
=== Losing ===&lt;br /&gt;
DEATH. Try to avoid this. But don't forget that [[losing]] is fun!&lt;br /&gt;
&lt;br /&gt;
=== Winning ===&lt;br /&gt;
Not known! Set your own goals. Survival is one, set your score by how many years your dwarves can thrive for.&lt;br /&gt;
&lt;br /&gt;
=== Goals ===&lt;br /&gt;
There aren't really many goals in this game. Any goal would be the ones you set for yourself. &amp;lt;br/&amp;gt;&lt;br /&gt;
Here is a list of fun game goals to attempt: [[Game goals | List of Fun Goals]]&lt;br /&gt;
&lt;br /&gt;
=== Compared to the 2D version ===&lt;br /&gt;
There is no promise of finding a [[underground river|Cave River]], however [[farming]] may now be performed in any [[soil]], such as loam or [[sand]].  Complex [[irrigation]] systems are required for farming on bare rock, which must first be covered in mud.&lt;br /&gt;
&lt;br /&gt;
Rather than being able to expect better [[ore]] by simply digging to the right, it is now necessary to look at the geological formation of your potential fortress site to predict what kind of [[ore]], [[stone]], and [[gem]]s to expect.&lt;br /&gt;
&lt;br /&gt;
[[category:Fortress mode]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Trade_agreement&amp;diff=44539</id>
		<title>40d:Trade agreement</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Trade_agreement&amp;diff=44539"/>
		<updated>2008-08-22T19:51:26Z</updated>

		<summary type="html">&lt;p&gt;CJN: Added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Trade agreements''' are made with [[dwarf|dwarven]] and [[human]] [[civilization]]s, by meeting the [[liaison]].&lt;br /&gt;
Existing trade agreements can be checked by the {{k|c}} key.&lt;br /&gt;
&lt;br /&gt;
[[Category:Trade]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Trade_agreement&amp;diff=44538</id>
		<title>40d:Trade agreement</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Trade_agreement&amp;diff=44538"/>
		<updated>2008-08-22T19:50:13Z</updated>

		<summary type="html">&lt;p&gt;CJN: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Trade agreements''' are made with [[dwarf|dwarven]] and [[human]] [[civilization]]s, by meeting the [[liaison]].&lt;br /&gt;
Existing trade agreements can be checked by the {{k|c}} key.&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Calendar&amp;diff=22184</id>
		<title>40d:Calendar</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Calendar&amp;diff=22184"/>
		<updated>2008-08-22T19:40:29Z</updated>

		<summary type="html">&lt;p&gt;CJN: /* Ages */ Removed outdated info. Added a comment on new age generation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The dwarven '''calendar''' is used to display dates, and is visible in the upper right corner of the [[Overall Status]] screen ({{key|z}}). One year has 336 days and consists of twelve month in four seasons, with three months per season. Every month has 28 days. The months are named after kinds of [[stone]]s, [[ore]], [[gem]]s and [[wood]]. New Year's Day and the first day of [[spring]] both fall on the 1st of Granite. New Year's Eve and the last day of [[winter]] both fall on the 28th of Obsidian.&lt;br /&gt;
&lt;br /&gt;
The game's first playable year begins whenever the world stops generating, due to certain parameters you or the game has set up. By default, the world will stop genning when a percentage of megabeasts are dead, currently resulting in the starting years being in the low 200s to mid 300s on average. &lt;br /&gt;
&lt;br /&gt;
== Months and seasons ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #8f8&amp;quot; | {{tile|•|grey|#8f8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #cfc; width: 10em; text-align: left&amp;quot; | Granite&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #cfc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Early-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #cfc&amp;quot; rowspan=&amp;quot;3&amp;quot; | Spring&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #8f8&amp;quot; | {{tile|•|grey|#8f8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #cfc; width: 10em; text-align: left&amp;quot; | Slate&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #cfc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Mid-&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #8f8&amp;quot; | {{tile|•|grey|#8f8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #cfc; width: 10em; text-align: left&amp;quot; | Felsite&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #cfc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Late-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ff8&amp;quot; | {{tile|*|#800|#ff8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ffc; width: 10em; text-align: left&amp;quot; | Hematite&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ffc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Early-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ffc&amp;quot; rowspan=&amp;quot;3&amp;quot; | Summer&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ff8&amp;quot; | {{tile|*|green|#ff8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ffc; width: 10em; text-align: left&amp;quot; | Malachite&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ffc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Mid-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ff8&amp;quot; | {{tile|*|grey|#ff8}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ffc; width: 10em; text-align: left&amp;quot; | Galena&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ffc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Late-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #f88&amp;quot; | {{tile|•|white|#f88}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #fcc; width: 10em; text-align: left&amp;quot; | Limestone&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #fcc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Early-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #fcc&amp;quot; rowspan=&amp;quot;3&amp;quot; | Autumn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #f88&amp;quot; | {{tile|•|grey|#f88}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #fcc; width: 10em; text-align: left&amp;quot; | Sandstone&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #fcc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Mid-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #f88&amp;quot; | {{tile|▄|#770|#f88}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #fcc; width: 10em; text-align: left&amp;quot; | Timber&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #fcc; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Late-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #88f&amp;quot; | {{tile|•|white|#88f}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ccf; width: 10em; text-align: left&amp;quot; | Moonstone&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ccf; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Early-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ccf&amp;quot; rowspan=&amp;quot;3&amp;quot; | Winter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #88f&amp;quot; | {{tile|◆|white|#88f}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ccf; width: 10em; text-align: left&amp;quot; | Opal&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ccf; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Mid-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #88f&amp;quot; | {{tile|•|#444|#88f}}&lt;br /&gt;
! style=&amp;quot;padding: 0.2em; background: #ccf; width: 10em; text-align: left&amp;quot; | Obsidian&lt;br /&gt;
| style=&amp;quot;padding: 0.2em; background: #ccf; font-size: 80%; vertical-align: middle; text-align: right&amp;quot; | Late-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ages ==&lt;br /&gt;
&lt;br /&gt;
Ages are determined by the states of the world during world generation. Some of the known things that influence the ages are: number of [[megabeast]]s alive and dominant [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
== Farming ==&lt;br /&gt;
&lt;br /&gt;
With the changing seasons come different [[weather]] conditions, depending on your [[climate]]. A typical [[temperate]] [[mountain]]side fort will have snow in spring and winter, with warm [[summer]]s and colourful [[autumn]]s. The seasons correspond to growing seasons from the [[farm]] plot {{k|q}} menu, which dictate what can be grown when during the year. See the [[List of crops]].&lt;br /&gt;
&lt;br /&gt;
[[Category:World]]&lt;/div&gt;</summary>
		<author><name>CJN</name></author>
	</entry>
</feed>