v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Editing 23a:Known bugs and issues

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.

You are editing a page for an older version of Dwarf Fortress ("Main" is the current version, not "23a"). Please make sure you intend to do this. If you are here by mistake, see the current page instead.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
{{Quality|Fine|20:30, 30 April 2013 (UTC)}}
 
{{Quality|Fine|20:30, 30 April 2013 (UTC)}}
 
{{av}}
 
{{av}}
Dwarf Fortress is a constant work in progress, and is thus full of '''bugs'''. Some of them are minor and completely harmless, some are small and annoying, and some are major and even game-changing. This page is a historical list of some of the best-known bugs in 23a; an official compilation of all bugs, and their development status, can be found on the [http://www.bay12games.com/dwarves/mantisbt/my_view_page.php Mantis Bug Tracker]. Please do '''not''' report new bugs for this version; if the problem still exists in the current development version it should be reported on the [http://www.bay12games.com/dwarves/mantisbt/my_view_page.php bug tracker] for that version instead. If you have issues signing up for the bug tracker, see the [http://www.bay12forums.com/smf/index.php?board=6.0 forum bug tracker board] for instructions (but don't report bugs on the forum either).
+
This is a list of '''known bugs and issues'''.
  
 +
Do '''NOT''' post theories, observed problems or unverified hiccups here.
  
 
== Known bugs ==
 
== Known bugs ==
 
A number of significant bugs exist in this version of Dwarf Fortress, and while Toady has fixed some of them in later versions, he will obviously never fix them in this version. To address this, a number of '''binary patches''' have been written which will fix some of the most significant bugs in this version of the game.
 
A number of significant bugs exist in this version of Dwarf Fortress, and while Toady has fixed some of them in later versions, he will obviously never fix them in this version. To address this, a number of '''binary patches''' have been written which will fix some of the most significant bugs in this version of the game.
  
As of April 24 2016, all of the patches listed below (and a few more which are ''not'' listed below) can be found in the [https://github.com/quietust/dfhack-23a/tree/master/patches DFHack-23a GitHub repository] (primarily in the "bugs" subdirectory), in a format which can be easily applied using the "binpatch" utility included with all versions of DFHack for Dwarf Fortress 0.31 thru 0.42.
+
To apply a binary patch, open "dwarfort.exe" in a hex editor (such as [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32]), jump to the address listed, verify that the sequence of bytes on the left are correct, then overwrite them with the sequence of bytes on the right. If only one set of bytes is listed (and the character between the address and the patch is an equals sign instead of a colon), then the source bytes should all be zeroes.
 
 
To apply any other binary patch, open "dwarfort.exe" in a hex editor (such as [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32]), jump to the address listed, verify that the sequence of bytes on the left is correct, then overwrite it with the sequence of bytes on the right. If only one set of bytes is listed (and the address is followed by "=" instead of ":"), then the source bytes should all be zeroes.
 
  
 
=== Artifact holders ===
 
=== Artifact holders ===
Line 16: Line 15:
 
The underlying problem is that when the game compares the dwarf carrying the artifact to the dwarf who created it (to prevent a hauler from hiding or obsessing over an artifact it did not create), it truncates the creator's 32-bit ID to an 8-bit value; since more than 256 units are created during world generation, this prevents the numbers from ever matching.
 
The underlying problem is that when the game compares the dwarf carrying the artifact to the dwarf who created it (to prevent a hauler from hiding or obsessing over an artifact it did not create), it truncates the creator's 32-bit ID to an 8-bit value; since more than 256 units are created during world generation, this prevents the numbers from ever matching.
  
{{collapsible|hidden=yes|Patched with "artifact-bugs.dif"|
+
Patch:
 
* 0x14079B : 8A -> 8B
 
* 0x14079B : 8A -> 8B
 
* 0x1407A1 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
 
* 0x1407A1 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
 
* 0x0B5430 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
 
* 0x0B5430 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
* 0x1E8015 : 0F BE C0 -> 90 90 90}}
+
* 0x1E8015 : 0F BE C0 -> 90 90 90
  
 
=== Missing Thoughts ===
 
=== Missing Thoughts ===
The [[Sheriff]], [[Mayor]], and [[Baron]] are supposed to receive unhappy thoughts if you do not have enough [[jail]]s, [[fortress guard]]s, and/or [[royal guard]]s. Special logic exists to prevent these thoughts from happening within 3 months of their arrival at your fortress (so you get a grace period to comply with their new demands). Due to a bug, the condition is backwards, so they only receive these thoughts during their first 3 months at your fortress. This bug (#5844) was officially fixed in version 0.40.05.
+
The [[Sheriff]], [[Mayor]], and [[Baron]] are supposed to receive unhappy thoughts if you do not have enough [[jail]]s, [[fortress guard]]s, and/or [[royal guard]]s. Special logic exists to prevent these thoughts from happening within 3 months of their arrival at your fortress (so you get a grace period to comply with their new demands). Due to a bug, the condition is backwards, so they only receive these thoughts during their first 3 months at your fortress.
  
{{collapsible|hidden=yes|Patched with "thought-bugs.dif"|
+
Patches:
 
* 0x2344E2 : 74 -> 75 (insufficient jails for Sheriff)
 
* 0x2344E2 : 74 -> 75 (insufficient jails for Sheriff)
 
* 0x23448B : 74 -> 75 (insufficient fortress guards for Sheriff and Mayor)
 
* 0x23448B : 74 -> 75 (insufficient fortress guards for Sheriff and Mayor)
* 0x234425 : 84 -> 85 (insufficient royal guards for Baron)}}
+
* 0x234425 : 84 -> 85 (insufficient royal guards for Baron)
  
Additionally, nobles which require a [[tomb]] do not receive any thoughts based on its quality, whether it is above or below the quality level they require. They will still receive unhappy thought about '''other''' dwarves having better tombs than them (unless said dwarf actually deserves a tomb that good), though. This happens because the noble compares its current tomb quality to '''itself''' rather than to its desired tomb quality. This bug (#5843) still exists in the current version of Dwarf Fortress.
+
Additionally, nobles which require a [[tomb]] do not receive any thoughts based on its quality, whether it is above or below the quality level they require. They will still receive unhappy thought about '''other''' dwarves having better tombs than them (unless said dwarf actually deserves a tomb that good), though. This happens because the noble compares its current tomb quality to '''itself''' rather than to its desired tomb quality.
  
{{collapsible|hidden=yes|Patched with "thought-bugs.dif"|
+
Patch:
 
* 0x2BCEF3 : 8B 54 24 3C 8B F0 -> 90 E9 61 17 09 00
 
* 0x2BCEF3 : 8B 54 24 3C 8B F0 -> 90 E9 61 17 09 00
* 0x34E65A = 8B 94 24 70 01 00 00 89 C6 E9 91 E8 F6 FF}}
+
* 0x34E65A = 8B 94 24 70 01 00 00 89 C6 E9 91 E8 F6 FF
  
 
=== Stuck Dwarves ===
 
=== Stuck Dwarves ===
If a dwarf wanders near a [[magma smelter]], [[magma glass furnace]], or [[magma kiln]], it can stop on a tile that has magma beneath it, leaving it unable to move away and causing it to repeatedly spam Drink job cancellations due to "cannot find path" once it becomes thirsty. This bug is well known for its appearance in [http://lparchive.org/Dwarf-Fortress-Boatmurdered/Update%202-11/ Update 2-11] of the saga of [[Main:Boatmurdered|Boatmurdered]], in which "Sankis has suddenly decided to try and drink out of the lava river".
+
If a dwarf wanders near a [[magma smelter]], [[magma glass furnace]], or [[magma kiln]], it can stop on a tile that has magma beneath it, leaving it unable to move away and causing it to repeatedly spam Drink job cancellations due to "cannot find path". This bug is well known for its appearance in [http://lparchive.org/Dwarf-Fortress-Boatmurdered/Update%202-11/ Update 2-11] of the saga of [[Main:Boatmurdered|Boatmurdered]], in which "Sankis has suddenly decided to try and drink out of the lava river".
  
 
The problem is that these workshops use the same tile accessibility logic as their non-magma counterparts, which allows dwarves to walk onto the magma tiles.
 
The problem is that these workshops use the same tile accessibility logic as their non-magma counterparts, which allows dwarves to walk onto the magma tiles.
  
{{collapsible|hidden=yes|Patched with "path-bugs.dif"|
+
Patch:
 
* 0x016EF0 : A5 6E 41 -> 68 E6 74
 
* 0x016EF0 : A5 6E 41 -> 68 E6 74
* 0x34E668 = 83 7C 24 18 01 0F 85 A0 85 CC FF 8B 44 24 1C 85 C0 0F 85 94 85 CC FF E9 30 88 CC FF}}
+
* 0x34E668 = 83 7C 24 18 01 0F 85 A0 85 CC FF 8B 44 24 1C 85 C0 0F 85 94 85 CC FF E9 30 88 CC FF
  
 
Another bug causes dwarves to get stuck ''inside'' buildings when constructing statues, windows, and wells, since the jobs cause them to stand on top of the building itself during construction instead of next to the building.
 
Another bug causes dwarves to get stuck ''inside'' buildings when constructing statues, windows, and wells, since the jobs cause them to stand on top of the building itself during construction instead of next to the building.
  
{{collapsible|hidden=yes|Patched with "path-bugs.dif"|
+
Patch:
 
* 0x0F64D7 : 12 0F 84 52 01 -> 0F 0F 8C 12 00
 
* 0x0F64D7 : 12 0F 84 52 01 -> 0F 0F 8C 12 00
 
* 0x0F64EB : 84 -> 8E
 
* 0x0F64EB : 84 -> 8E
 
* 0x0F7E9F : 12 0F 84 41 01 -> 0F 0F 8C 12 00
 
* 0x0F7E9F : 12 0F 84 41 01 -> 0F 0F 8C 12 00
* 0x0F7EB3 : 84 -> 8E}}
+
* 0x0F7EB3 : 84 -> 8E
  
 
=== Z Coordinate Bugs ===
 
=== Z Coordinate Bugs ===
Line 58: Line 57:
 
The first place where this problem appears is that waterfalls in the [[cave river]] sometimes fail to generate [[mist]]. The fix for this bug only applies to newly created fortresses; for existing fortresses, a 3rd-party utility is necessary to fix the problem.
 
The first place where this problem appears is that waterfalls in the [[cave river]] sometimes fail to generate [[mist]]. The fix for this bug only applies to newly created fortresses; for existing fortresses, a 3rd-party utility is necessary to fix the problem.
  
{{collapsible|hidden=yes|Patched with "zcoord-bugs.dif"|
+
Patch:
* 0x28A90E : 66 -> 90}}
+
* 0x28A90E : 66 -> 90
  
 
The second instance of this bug affects the hidden webs woven by [[giant cave spider]]s over the [[chasm]], preventing dwarves from ever stumbling upon them. As above, this fix only affects newly created spider webs.
 
The second instance of this bug affects the hidden webs woven by [[giant cave spider]]s over the [[chasm]], preventing dwarves from ever stumbling upon them. As above, this fix only affects newly created spider webs.
  
{{collapsible|hidden=yes|Patched with "zcoord-bugs.dif"|
+
Patch:
 
* 0x249EDD : BB 10 00 00 00 -> 66 89 6B 20 90
 
* 0x249EDD : BB 10 00 00 00 -> 66 89 6B 20 90
 
* 0x249EE5 : 94 01 00 -> AC 47 10
 
* 0x249EE5 : 94 01 00 -> AC 47 10
* 0x34E695 = BB 10 00 00 00 E9 DE B9 EF FF}}
+
* 0x34E695 = BB 10 00 00 00 E9 DE B9 EF FF
  
 
=== Vermin Problems ===
 
=== Vermin Problems ===
If a vermin marked as being capable of escaping from traps is placed inside a container (e.g. a [[cage]], [[animal trap]], or an Adventurer's [[backpack]]), it will remain inside indefinitely, but if the container happens to be an [[artifact]], the vermin will escape immediately. Not surprisingly, this bug is caused by a backwards condition. This bug (#6117) was officially fixed in version 0.40.05.
+
If a vermin marked as being capable of escaping from traps is placed inside a container (e.g. a [[cage]], [[animal trap]], or an Adventurer's [[backpack]]), it will remain inside indefinitely, but if the container happens to be an [[artifact]], the vermin will escape immediately. Not surprisingly, this bug is caused by a backwards condition.
  
{{collapsible|hidden=yes|Patched with "vermin-bugs.dif"|
+
Patch:
* 0x169B1B : 84 -> 85}}
+
* 0x169B1B : 84 -> 85
  
Additionally, if a live [[fish]] is successfully caught and placed inside an aquarium filled with water, all subsequently captured live vermin will fail to be processed by the game - fish out of water will not suffocate, and purring maggots will never allow themselves to be milked subsequent times. This bug results from the incorrect usage of a C++ "break;" statement instead of "continue;", causing it to exit out of its loop early instead of continuing on the next entry. This bug (#6116) was officially fixed in version 0.40.05.
+
Additionally, if a live [[fish]] is successfully caught and placed inside an aquarium filled with water, all subsequently captured live vermin will fail to be processed by the game - fish out of water will not suffocate, and purring maggots will never allow themselves to be milked subsequent times. This bug results from the incorrect usage of a C++ "break;" statement instead of "continue;", causing it to exit out of its loop early instead of continuing on the next entry.
  
{{collapsible|hidden=yes|Patched with "vermin-bugs.dif"|
+
Patch:
 
* 0x169D12 : DD -> D6
 
* 0x169D12 : DD -> D6
* 0x169D28 : 85 C6 -> 84 BF}}
+
* 0x169D29 : C6 -> BF
  
 
=== Item Improvements ===
 
=== Item Improvements ===
 
For reasons unknown, items which have been improved in any way are ineligible for most jobs. This restriction was removed in later versions of Dwarf Fortress, and this patch does the same thing.
 
For reasons unknown, items which have been improved in any way are ineligible for most jobs. This restriction was removed in later versions of Dwarf Fortress, and this patch does the same thing.
  
{{collapsible|hidden=yes|Patched with "job-bugs.dif"|
+
Patch:
 
* 0x0F6C04 : D7 05 -> 00 00
 
* 0x0F6C04 : D7 05 -> 00 00
 
* 0x0F74DC : AB 03 -> 00 00
 
* 0x0F74DC : AB 03 -> 00 00
Line 89: Line 88:
 
* 0x108231 : D0 02 -> 00 00
 
* 0x108231 : D0 02 -> 00 00
 
* 0x1087B7 : 17 04 -> 00 00
 
* 0x1087B7 : 17 04 -> 00 00
* 0x108EA3 : FD 03 -> 00 00}}
+
* 0x108EA3 : FD 03 -> 00 00
  
 
=== Item Production ===
 
=== Item Production ===
 
In the raws for [[trap component]]s, the MATERIAL_SIZE [[trap component token|token]] allows specifying how many bars are needed to make it, but this value is never actually used. Curiously, logic '''does''' exist to look up the trap component's material size, but the logic is never reached because it is inside a case which does not handle trap components.
 
In the raws for [[trap component]]s, the MATERIAL_SIZE [[trap component token|token]] allows specifying how many bars are needed to make it, but this value is never actually used. Curiously, logic '''does''' exist to look up the trap component's material size, but the logic is never reached because it is inside a case which does not handle trap components.
  
{{collapsible|hidden=yes|Patched with "job-bugs.dif"|
+
Patch:
 
* 0x0F82C0 : 22 23 -> 05 05
 
* 0x0F82C0 : 22 23 -> 05 05
 
* 0x0F835B : 09 -> 00
 
* 0x0F835B : 09 -> 00
* 0x0F8423 : 0D -> 0A}}
+
* 0x0F8423 : 0D -> 0A
  
 
Whenever a [[strange mood]] produces a gauntlet, it always makes it right-handed. What actually happens is that it has a 50% chance to make the gauntlet right-handed, but the opposing case '''also''' makes it right-handed - the fix makes it left-handed instead.
 
Whenever a [[strange mood]] produces a gauntlet, it always makes it right-handed. What actually happens is that it has a 50% chance to make the gauntlet right-handed, but the opposing case '''also''' makes it right-handed - the fix makes it left-handed instead.
  
{{collapsible|hidden=yes|Patched with "artifact-bugs.dif"|
+
Patch:
* 0x12DD09 : 01 -> 00}}
+
* 0x12DD09 : 01 -> 00
  
 
If an armorsmith in a [[strange mood]] decides to make a helmet, it instead creates the item using the SHOES item type. This bug was officially fixed in version 0.34.06.
 
If an armorsmith in a [[strange mood]] decides to make a helmet, it instead creates the item using the SHOES item type. This bug was officially fixed in version 0.34.06.
  
{{collapsible|hidden=yes|Patched with "artifact-bugs.dif"|
+
Patch:
* 0x171ED7 : 0F 95 C0 84 C0 -> BD 1D 00 00 00}}
+
* 0x171ED7 : 0F 95 C0 84 C0 -> BD 1D 00 00 00  
 +
 
  
 
=== Miscarriages ===
 
=== Miscarriages ===
 
If a pregnant dwarf gets too hungry or thirsty (Starving or Dehydrated), she will have a miscarriage and receive an unhappy thought. Due a bug, though, the check for dehydration accidentally checks the dwarf's current Hunger instead of her Thirst, resulting in a miscarriage if the dwarf merely becomes Hungry.
 
If a pregnant dwarf gets too hungry or thirsty (Starving or Dehydrated), she will have a miscarriage and receive an unhappy thought. Due a bug, though, the check for dehydration accidentally checks the dwarf's current Hunger instead of her Thirst, resulting in a miscarriage if the dwarf merely becomes Hungry.
  
{{collapsible|hidden=yes|Patched with "misc-bugs.dif"|
+
Patch:
 
* 0x2BD3CF : 81 F9 50 C3 00 -> 90 E9 AF 12 09
 
* 0x2BD3CF : 81 F9 50 C3 00 -> 90 E9 AF 12 09
* 0x34E684 = 8B 8D 8C 03 00 00 81 F9 50 C3 00 00 E9 40 ED F6 FF}}
+
* 0x34E684 = 8B 8D 8C 03 00 00 81 F9 50 C3 00 00 E9 40 ED F6 FF
  
 
=== Art Facets ===
 
=== Art Facets ===
Different civilizations are supposed to assign higher (or lower) values to art images portraying certain types of creatures; later versions control this using the ART_FACET_MODIFIER token in the raws, but in this version it is hardcoded. Due to a bug, these modifiers are not applied correctly due to a type cast being applied to the wrong pointer. This bug (#6440) was officially fixed in version 0.40.05.
+
Different civilizations are supposed to assign higher (or lower) values to art images portraying certain types of creatures; later versions control this using the ART_FACET_MODIFIER token in the raws, but in this version it is hardcoded. Due to a bug, these modifiers are not applied correctly due to a type cast being applied to the wrong pointer.
  
{{collapsible|hidden=yes|Patched with "trade-bugs.dif"|
+
Patch:
* 0x1F3FBA : 43 -> 41}}
+
* 0x1F3FBA : 43 -> 41
  
 
=== Guild Request Crash ===
 
=== Guild Request Crash ===
 
If more than 6 guild leaders make requests to the [[Mayor]] in a single season, the game will crash at the start of the next season once the Mayor attempts to dismiss the 7th request. This is caused by the wrong array being checked for a particular value.
 
If more than 6 guild leaders make requests to the [[Mayor]] in a single season, the game will crash at the start of the next season once the Mayor attempts to dismiss the 7th request. This is caused by the wrong array being checked for a particular value.
  
{{collapsible|hidden=yes|Patched with "noble-bugs.dif"|
+
Patch:
* 0x2CB95A : 82 -> 81}}
+
* 0x2CB95A : 82 -> 81
  
 
=== Short-lived Demands ===
 
=== Short-lived Demands ===
 
When a [[noble]] issues a [[demand]], the demand's duration is never initialized, so it is possible that it will expire immediately after it is made.
 
When a [[noble]] issues a [[demand]], the demand's duration is never initialized, so it is possible that it will expire immediately after it is made.
  
{{collapsible|hidden=yes|Patched with "noble-bugs.dif"|
+
Patch:
 
* 0x2B45A1 : 8B 4C 24 34 66 8B 54 -> 31 C0 89 42 0C 8B 4C
 
* 0x2B45A1 : 8B 4C 24 34 66 8B 54 -> 31 C0 89 42 0C 8B 4C
* 0x2B45AC : 51 -> 4A}}
+
* 0x2B45AC : 51 -> 4A
  
 
=== Unmeltable Chests ===
 
=== Unmeltable Chests ===
If you mark a metal [[chest]] for melting, a dwarf will haul to a [[smelter]] (or [[magma smelter]]), sit there for a while, and then not actually melt the item, potentially leading to an infinite loop if the job was added on Repeat. This is due to the way the game handles glassmaking jobs - it removes the sand bag item (BOX made of cloth/leather and containing SAND) from the job and replaces it with a piece of raw glass, but it removes the "sand bag" item before confirming that it's actually a bag and that it actually contains sand. Since "melt" jobs take place afterwards, the chest is no longer part of the job and nothing actually happens (aside from the unit gaining some skill and possibly using up fuel). This bug (#2493) was officially fixed in version 0.40.05.
+
If you mark a metal [[chest]] for melting, a dwarf will haul to a [[smelter]] (or [[magma smelter]]), sit there for a while, and then not actually melt the item, potentially leading to an infinite loop if the job was added on Repeat. This is due to the way the game handles glassmaking jobs - it removes the sand bag item (BOX made of cloth/leather and containing SAND) from the job and replaces it with a piece of raw glass, but it removes the "sand bag" item before confirming that it's actually a bag and that it actually contains sand. Since "melt" jobs take place afterwards, the chest is no longer part of the job and nothing actually happens (aside from the unit gaining some skill and possibly using up fuel).
  
{{collapsible|hidden=yes|Patched with "job-bugs.dif"|
+
Patch:
 
* 0x226817 : E8 44 FD FD FF -> 89 74 24 18 5E
 
* 0x226817 : E8 44 FD FD FF -> 89 74 24 18 5E
 
* 0x226894 : E8 87 6F FC FF -> E9 06 7E 12 00
 
* 0x226894 : E8 87 6F FC FF -> E9 06 7E 12 00
* 0x34E69F = 8B 4C 24 18 51 89 D9 E8 B5 7E EB FF E8 70 F1 E9 FF E9 E4 81 ED FF}}
+
* 0x34E69F = 8B 4C 24 18 51 89 D9 E8 B5 7E EB FF E8 70 F1 E9 FF E9 E4 81 ED FF
  
 
=== Noise Memory ===
 
=== Noise Memory ===
 
If dwarves are exposed to loud [[noise]]s while they are sleeping, they will get unhappy [[thought]]s once they wake up depending on the noise's loudness and proximity. However, the dwarf only remembers the last noise it heard, so if it is exposed to a very loud noise followed by a moderately quiet (but still audible) noise, it will only be mildly annoyed. In later versions of Dwarf Fortress, this works correctly.
 
If dwarves are exposed to loud [[noise]]s while they are sleeping, they will get unhappy [[thought]]s once they wake up depending on the noise's loudness and proximity. However, the dwarf only remembers the last noise it heard, so if it is exposed to a very loud noise followed by a moderately quiet (but still audible) noise, it will only be mildly annoyed. In later versions of Dwarf Fortress, this works correctly.
  
{{collapsible|hidden=yes|Patched with "thought-bugs.dif"|
+
Patch:
 
* 0x220839 : 81 -> 89
 
* 0x220839 : 81 -> 89
 
* 0x22083F : 09 78 20 8B 15 EC B3 AC 00 8B 04 B2 8B 80 98 02 00 -> 8B 51 20 66 81 E2 80 01 66 81 FA 80 01 74 0E 8D 40
 
* 0x22083F : 09 78 20 8B 15 EC B3 AC 00 8B 04 B2 8B 80 98 02 00 -> 8B 51 20 66 81 E2 80 01 66 81 FA 80 01 74 0E 8D 40
 
* 0x220853 : 60 -> 61
 
* 0x220853 : 60 -> 61
 
* 0x220857 : A1 EC B3 AC 00 -> 66 09 79 20 90
 
* 0x220857 : A1 EC B3 AC 00 -> 66 09 79 20 90
* 0x220876 : 09 68 20 A1 EC B3 AC 00 8B 0C B0 8B 81 -> F7 40 20 80 01 75 10 66 09 68 20 8B 82}}
+
* 0x220876 : 09 68 20 A1 EC B3 AC 00 8B 0C B0 8B 81 -> F7 40 20 80 01 75 10 66 09 68 20 8B 82
 
 
=== Clothing Damage ===
 
Dwarves receive one unhappy [[thought]] ("old clothing") when their clothes reach the first [[wear]] level and are supposed to receive a different one ("tattered clothing") when they reach the second wear level; due to a bug, they instead receive '''both''' thoughts at wear level 2 and suffer a much greater happiness penalty, often enough to induce immediate [[tantrum]]s.
 
 
 
{{collapsible|hidden=yes|Patched with "thought-bugs.dif"|
 
* 0x2BCC76 : 05 -> 12
 
* 0x2BCC78 : 74 0F EB 1A -> 75 1C 6A 00
 
* 0x2BCC7D : 00 -> FF
 
* 0x2BCC7F : FF 6A 68 8B CD E8 87 32 FF FF -> 69 89 E9 E8 89 32 FF FF EB 0D
 
* 0x2BCC8E : 69 -> 68}}
 
  
 
=== Caravan Oddities ===
 
=== Caravan Oddities ===
 
When caravans bring bags of [[mill]] powders (flour, sugar, or dye) or barrels of [[extract]]s (e.g. milk), they only put one single unit inside the container. In later versions of Dwarf Fortress, they bring 10 units.
 
When caravans bring bags of [[mill]] powders (flour, sugar, or dye) or barrels of [[extract]]s (e.g. milk), they only put one single unit inside the container. In later versions of Dwarf Fortress, they bring 10 units.
  
{{collapsible|hidden=yes|Patched with "trade-bugs.dif" (powders)|
+
Patch (powders):
 
* 0x25188B : 8B 6F 10 -> B0 0A 90
 
* 0x25188B : 8B 6F 10 -> B0 0A 90
 
* 0x25188F : 81 CD 00 C0 00 00 -> 66 81 4F 10 00 C0
 
* 0x25188F : 81 CD 00 C0 00 00 -> 66 81 4F 10 00 C0
* 0x251897 : 89 6F 10 -> 88 47 3C}}
+
* 0x251897 : 89 6F 10 -> 88 47 3C
  
{{collapsible|hidden=yes|Patched with "trade-bugs.dif" (extracts)|
+
Patch (extracts):
 
* 0x251A6F : 8B 5D 10 56 80 CF C0 -> 80 4D 11 C0 B0 0A 53
 
* 0x251A6F : 8B 5D 10 56 80 CF C0 -> 80 4D 11 C0 B0 0A 53
* 0x251A78 : 89 5D 10 -> 88 45 3C}}
+
* 0x251A78 : 89 5D 10 -> 88 45 3C
  
 
=== Meal Values ===
 
=== Meal Values ===
 
Prepared meals are supposed to derive their value from not only their preparation quality but also the individual ingredients used. Due to what is assumed to have been a typo, the ingredient values are ignored.
 
Prepared meals are supposed to derive their value from not only their preparation quality but also the individual ingredients used. Due to what is assumed to have been a typo, the ingredient values are ignored.
  
{{collapsible|hidden=yes|Patched with "trade-bugs.dif"|
+
Patch:
* 0x35D44C : 90 66 5E -> E0 29 5F}}
+
* 0x35D44C : 90 66 5E -> E0 29 5F
  
 
=== Tree Biomes ===
 
=== Tree Biomes ===
 
Trees which include the token [BIOME_ANY_TROPICAL] are supposed to appear in all tropical biomes. Due to a bug, though, they do not appear in tropical marshes or swamps, instead appearing in ''temperate'' marshes and swamps (in addition to the other tropical biomes). This only occurs when using modded raws, as the stock raws do not use this token for trees.
 
Trees which include the token [BIOME_ANY_TROPICAL] are supposed to appear in all tropical biomes. Due to a bug, though, they do not appear in tropical marshes or swamps, instead appearing in ''temperate'' marshes and swamps (in addition to the other tropical biomes). This only occurs when using modded raws, as the stock raws do not use this token for trees.
  
{{collapsible|hidden=yes|Patched with "biome-bugs.dif"|
+
Patch:
 
* 0x218D26 : 06 -> 0A
 
* 0x218D26 : 06 -> 0A
 
* 0x218D64 : 07 -> 0B
 
* 0x218D64 : 07 -> 0B
 
* 0x218DDC : 08 -> 0D
 
* 0x218DDC : 08 -> 0D
* 0x218E19 : 09 -> 0E}}
+
* 0x218E19 : 09 -> 0E
 
 
=== Inaccurate Siege Engines ===
 
Whenever Dwarves operate [[catapult]]s or [[ballista]]e, they attempt to fire their projectile perfectly straight, but low skill levels cause it to veer off to either side. Due to a bug, the result of the skill check is discarded and the projectile ''always'' fails to fly straight. This has an additional effect on catapult stones, since they used the "better" trajectory when limiting their flight distance (based on the presence of a target), making them even less accurate. This bug (#6483) was officially fixed in version 0.40.13.
 
 
 
{{collapsible|hidden=yes|Patched with "job-bugs.dif"|
 
* 0x225E20 : 4E 20 8B 56 24 8B 7E 1C 89 4C 24 30 89 54 24 2C -> 4C 24 30 8B 54 24 2C 89 7E 1C 89 4E 20 89 56 24}}
 
  
 
== Minor issues ==
 
== Minor issues ==
Line 202: Line 186:
 
=== Milking Issue ===
 
=== Milking Issue ===
  
To milk something it has to be a [[vermin]]ous creature, so the only milkable thing you can milk yourself is a [[purring maggot]]. For unknown reasons, purring maggots which have been ''tamed'' are not eligible for milking, so you have to leave them untamed.
+
To milk something it has to be a [[vermin]]ous creature.  The only milkable thing you can carry is a purring maggot.  Larger creatures are not yet milkable because the AI is not yet implemented to bring the creatures to the [[farmer's workshop]]. It would be relatively simple to implement, but is not a priority at this time.
  
Larger creatures are not milkable because the logic to bring the creatures to the [[farmer's workshop]] was not added until version 0.31.01; fortunately, other civilizations can still milk such animals "off screen" for your benefit and bring their milk and cheese as trade goods.
+
Note that while you cannot milk larger animals yourself, civilisations can still milk animals "off screen" for your benefit.
  
 
=== Building a Wooden Weapon... Rack ===
 
=== Building a Wooden Weapon... Rack ===

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)