<?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=Forsaken1111</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=Forsaken1111"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/Forsaken1111"/>
	<updated>2026-07-17T15:59:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33330</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33330"/>
		<updated>2009-05-27T06:10:32Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Easy Python/PyGTK installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
:Or maybe destroy that burning fire imp fat... [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
:Please sign your additions to the discussion page. [[User:Forsaken1111|Forsaken1111]] 06:09, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33329</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33329"/>
		<updated>2009-05-27T06:09:56Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Easy Python/PyGTK installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
:Or maybe destroy that burning fire imp fat... [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
:Please sign your additions to the discussion page. [[User:Forsaken1111|Forsaken1111]] 06:09, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
:Please sign your additions to the discussion page. [[User:Forsaken1111|Forsaken1111]] 06:09, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33328</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33328"/>
		<updated>2009-05-27T06:09:34Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Dwarf Companion - Cheating Fun in Adventure Mode! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
:Or maybe destroy that burning fire imp fat... [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
:Please sign your additions to the discussion page. [[User:Forsaken1111|Forsaken1111]] 06:09, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33327</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33327"/>
		<updated>2009-05-27T06:08:56Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Feature requests! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
:Or maybe destroy that burning fire imp fat... [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33326</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33326"/>
		<updated>2009-05-27T06:08:15Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33325</id>
		<title>Utility Talk:Dwarf Companion</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Dwarf_Companion&amp;diff=33325"/>
		<updated>2009-05-27T06:07:38Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* A quick question */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I did some cleaning (actually I just removed most of it).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
There are a few known bugs :&lt;br /&gt;
* exhaustion is sometimes maxed out when you edit a creature&lt;br /&gt;
* bleeding seems not to be stoppable in most case : just turn the creature undead&lt;br /&gt;
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature requests! ==&lt;br /&gt;
&lt;br /&gt;
What would be the chances of dwarf item manipulation?  I'd love to be able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dwarf Companion - Cheating Fun in Adventure Mode! ==&lt;br /&gt;
&lt;br /&gt;
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. &amp;quot;What if you could do stuff with this program in Adventure mode?&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Well, it turns out that you can. By turning on the program and hitting the &amp;quot;All Creatures&amp;quot; box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.&lt;br /&gt;
&lt;br /&gt;
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a&lt;br /&gt;
&lt;br /&gt;
I hope this strikes as interesting / useful for the future!&lt;br /&gt;
&lt;br /&gt;
== Easy Python/PyGTK installer ==&lt;br /&gt;
&lt;br /&gt;
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DwarfCompanion Linux HOWTO ==&lt;br /&gt;
&lt;br /&gt;
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:&lt;br /&gt;
&lt;br /&gt;
* at least when started with &amp;quot;wine dwarfort.exe&amp;quot;, dwarf-companion&lt;br /&gt;
** cannot find the path to the executable when searching for the offsets&lt;br /&gt;
** and has problems finding the process with &amp;quot;endswith()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dwarfdbg.py	2008-09-07 22:04:12.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dwarfdbg.py	2008-09-07 22:07:11.000000000 +0000&lt;br /&gt;
 @@ -100,9 +100,9 @@&lt;br /&gt;
  		self.dbg = pydbg()&lt;br /&gt;
  		self.metals = None&lt;br /&gt;
  		for (pid, proc) in self.dbg.enumerate_processes():&lt;br /&gt;
 -			if proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +			if &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  				break&lt;br /&gt;
 -		if not proc.lower().endswith(&amp;quot;dwarfort.exe&amp;quot;):&lt;br /&gt;
 +		if not &amp;quot;dwarfort.exe&amp;quot; in proc.lower():&lt;br /&gt;
  			print &amp;quot;Dwarf Fortress is not running, or could not be found&amp;quot;&lt;br /&gt;
  			sys.exit(-1)&lt;br /&gt;
  		self.image = proc&lt;br /&gt;
 @@ -864,7 +865,7 @@&lt;br /&gt;
  &lt;br /&gt;
  	def getOs(self):&lt;br /&gt;
  		if self.ofs == None:&lt;br /&gt;
 -			self.ofs = offsetsearch.offsetsearch(self.image)&lt;br /&gt;
 +			self.ofs = offsetsearch.offsetsearch(&amp;quot;../dwarfort.exe&amp;quot;)&lt;br /&gt;
  		return self.ofs&lt;br /&gt;
  &lt;br /&gt;
  	def instaMood(self):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything&lt;br /&gt;
&lt;br /&gt;
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the &amp;quot;print status&amp;quot; statement):&lt;br /&gt;
&lt;br /&gt;
 --- companion/dflinux.py	2008-01-09 10:50:00.000000000 +0000&lt;br /&gt;
 +++ ~/dwarf_fortress/companion/dflinux.py	2008-09-07 21:29:50.000000000 +0000&lt;br /&gt;
 @@ -33,6 +33,9 @@&lt;br /&gt;
  		pid = int(spid)&lt;br /&gt;
  		self.pid = pid&lt;br /&gt;
  		self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach&lt;br /&gt;
 +		status = 0&lt;br /&gt;
 +		self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +		print status&lt;br /&gt;
  	&lt;br /&gt;
  	def read(self, addr, size):&lt;br /&gt;
  		out = ''&lt;br /&gt;
 @@ -60,4 +63,7 @@&lt;br /&gt;
  	def detach(self):&lt;br /&gt;
  		if self.pid&amp;gt;0:&lt;br /&gt;
  			self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach&lt;br /&gt;
 +			status = 0&lt;br /&gt;
 +			self.libc.waitpid(self.pid, status, 0)&lt;br /&gt;
 +			print status&lt;br /&gt;
  			self.pid = 0&lt;br /&gt;
&lt;br /&gt;
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...&lt;br /&gt;
&lt;br /&gt;
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Happydorf.py ==&lt;br /&gt;
&lt;br /&gt;
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
from dwarfdbg import *&lt;br /&gt;
from eventname import jobName&lt;br /&gt;
import sys&lt;br /&gt;
dbg = dwarfdbg() #init dbg&lt;br /&gt;
cl = dbg.getCreatures(0) #get the whole creature list (slow)&lt;br /&gt;
for id in cl:&lt;br /&gt;
     if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)&lt;br /&gt;
          continue&lt;br /&gt;
     c = cl[id][13] # creature structure&lt;br /&gt;
     if c.fe4&amp;amp;2:&lt;br /&gt;
          continue&lt;br /&gt;
     c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)&lt;br /&gt;
     dbg.saveCreature(c) #save&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz&lt;br /&gt;
&lt;br /&gt;
== Compatibility ==&lt;br /&gt;
&lt;br /&gt;
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date.&lt;br /&gt;
&lt;br /&gt;
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name.  [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::[[Dwarf Fortress Wiki:Community Portal#B|&amp;quot;B&amp;quot;]] is for Bold.  You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unknown flags ==&lt;br /&gt;
&lt;br /&gt;
0x1.6b seems to be 'caught in web'&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Clothing_industry&amp;diff=45742</id>
		<title>40d Talk:Clothing industry</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Clothing_industry&amp;diff=45742"/>
		<updated>2008-11-12T04:04:50Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Page name==&lt;br /&gt;
This page should be called &amp;quot;Clothing industry,&amp;quot; not &amp;quot;the clothing industry.&amp;quot; I'd fix it myself, but don't know how to. --[[User:RomeoFalling|RomeoFalling]] 19:49, 5 November 2008 (EST)&lt;br /&gt;
:You press the &amp;quot;move&amp;quot; button next to the &amp;quot;edit&amp;quot; button. --[[User:Juckto|Juckto]] 22:48, 5 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:: *shaves his beard in shame* --[[User:RomeoFalling|RomeoFalling]] 23:12, 5 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dye both the thread and the cloth?==&lt;br /&gt;
&lt;br /&gt;
It has been reported on the forums that you cannot do this. By this, I mean dying thread and then weaving it into cloth and dying the cloth to make it higher value. Can anyone verify this? If this can no longer be done, we should remove that sentence as its misleading and has confused some people. --[[User:Forsaken1111|Forsaken1111]] 23:04, 11 November 2008 (EST)&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38222</id>
		<title>40d Talk:Fire imp</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38222"/>
		<updated>2008-11-03T03:11:43Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* crush? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wrestling? ==&lt;br /&gt;
&lt;br /&gt;
I just had a mechanic get attacked by one. He moved into its tile (I assume to wrestle) and instantly died of heat. Should this be noted?--[[User:Shadow archmagi|Shadow archmagi]] 19:59, 28 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:That is the imp using his fireball attack on a stupid dwarf, so I guess it's already in the article --[[User:MagicGuigz|MagicGuigz]] 20:27, 3 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Just to verify, its very possible to wrestle imps and magmamen to death. I had to do this after embarking, I didn't realize the lava tube would be right next to my wagon and immediately fire imps attacked. I drafted all of my dwarves and wrestled all 3 of them to death, as well as the magma man who came out later. The only dwarf I lost (my woodcutter) was due to a stray fireball. [[User:Forsaken1111|Forsaken1111]] 22:43, 16 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Defensive Uses ==&lt;br /&gt;
&lt;br /&gt;
I'm currently exploring the defensive uses of fire imps after bagging a few in cage traps. They don't seem too keen on fireballing goblin attackers, which was my original plan (had them confined behind some fortifications, but they wouldn't fire on the goblins). Further experiments required, or can someone confirm that they won't attack anyone but my dwarves? --[[User:TangoThree|TangoThree]] 16:35, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::is it possible to tame fire imps with the dungeon master? [[User:Hoborobo|Hoborobo]] 14:12, 12 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::There is no PET_EXOTIC tag, so no.[[User:StrawberryBunny|StrawberryBunny]] 09:35, 8 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Is there a safe way to move fire imp fat? If so, you could put it above your fortress entrance and drop it on invaders since it always burns. I really wish armor made from fire imp hide would protect from burning. [[User:Forsaken1111|Forsaken1111]] 22:45, 16 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Your fortress is probably long gone by now but for anybody else looking for an answer to the question, one solution would be to chain some pets behind doors connected to levers. If you open the doors, the fire imps will (probably) fire at the pets. Purportedly, this works with giant cave spiders, though some hold that the gcs needs to be able to path to its victim. [[User:CptFastbreak|CptFastbreak]] 11:57, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Ok, now I did some experimenting. First, seven tiles is too short for a fire imp with the pressure plate right in front of the bridge, the bridge likely needs to be 10-12 tiles wide. But I also seriously doubt the feasibility of fire imps in defense. For one, it seems that fire imps will not shoot through fortifications, regardless if they can path beyond it. Using a moat made the imp fire a single shot, after that he sat quiet for maybe 2-3 game days, and only then he proceeded to attack the delicious puppy I had chained for him. Overall, I reckon the fire imp is too unreliable to be used in a defense situation. [[User:CptFastbreak|CptFastbreak]] 16:42, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== A vast understatement! ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fire imps are nasty little creatures that live in magma vents.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nasty little creatures doesn't cut it.  Every time I settle on top of a volcano, an imp will surface, get pissed at anything, be it an immigrating dwarf or a muskox, and cause a wildfire!  The worst part is that there is no message for &amp;quot;The world is burning!&amp;quot; so I end up losing a dwarf or two before I notice it!&lt;br /&gt;
&lt;br /&gt;
I think the worst was I lost both of my initial miners because they decided to take a break in the path of the fire.  They got the hint when I gave the order &amp;quot;everyone inside&amp;quot; but it was too late, they burned up before they could make it back inside.&lt;br /&gt;
&lt;br /&gt;
That being said, I find some vertical nickel bars do wonders in securing my magma forges from imp tampering.  They're a definite &amp;quot;must bring&amp;quot; on any volcanic expedition.--[[User:Alkyon|Alkyon]] 23:02, 23 October 2008 (EDT)&lt;br /&gt;
(I didn't know to sign my posts when I wrote this, sorry.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Actually I thought that the world burning problem (glitch?) is pretty awesome, except when it burns up your entire booze stock in one go--[[User:Jackrabbit|Jackrabbit]] 22:21, 23 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::I do think the forest fires are cool too, but it would be nice if it had a warning, perhaps triggered by maybe an external growing past a certain size.  It's just the imps cause them every time I've turned my back on them.  Also, hunters and imps don't mix.--[[User:Alkyon|Alkyon]] 23:02, 23 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== crush? ==&lt;br /&gt;
''WARNING: Fire imp fat never stops burning. It's also immune to fire damage. Therefore you must crush fire imp fat to stop it from burning.'' - How do you crush it? [[User:Random832|Random832]] 09:31, 24 October 2008 (EDT)&lt;br /&gt;
:Probably with a [[cave-in]].  You can manufacture these by building an up ramp and a support, with some floor constructions above it.  Link the support to a lever and throw the lever to cause the floor constructions to collapse.  You'll definitely want to set a restricted area in the 3x3 zone around the imp fat, plus maybe suspended wall sections (which keep dwarves from standing there when they try to build) to keep some idiot from accidentally setting himself ablaze, though. --[[User:ThunderClaw|ThunderClaw]] 10:53, 24 October 2008 (EDT)&lt;br /&gt;
:: Why not simply build a bridge? --[[User:MagicGuigz|MagicGuigz]] 11:28, 24 October 2008 (EDT)&lt;br /&gt;
:::Forces you to get closer to the fat itself, so it's more hazardous work.  You also can't apply multiple dwarves to the project, and it uses a similar amount of material. Definitely would work, though.  --[[User:ThunderClaw|ThunderClaw]] 11:34, 24 October 2008 (EDT)&lt;br /&gt;
::::A bridge wouldn't work - you can't build a bridge that's raised by default, so the dwarves have to move the fat out of the way, and thus are set on fire. Also the butcher's shop gets in the way too. --[[User:GreyMario|GreyMaria]] 14:30, 24 October 2008 (EDT)&lt;br /&gt;
:::::What happens if you flood the area with water? Just get a lot of steam? Maybe if you could find a way to move it, you could use fire imp fat to set up a steam bath for dwarves. --[[User:Forsaken1111|Forsaken1111]] 22:11, 2 November 2008 (EST)~&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Bridge&amp;diff=12735</id>
		<title>40d:Bridge</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Bridge&amp;diff=12735"/>
		<updated>2008-10-17T09:09:45Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''bridge''' is a building (not a construction) that spans multiple tiles allowing [[dwarves]] to go across [[water]], [[magma]], and other obstructions.  Bridges are built from the {{k|b}}uild menu, under brid{{k|g}}e.&lt;br /&gt;
&lt;br /&gt;
A bridge defaults to a single tile in size. You'll need to change the size to suit your needs; the bridge's dimensions can be set anywhere up to a square 10 tile on a side. A bridge will require both [[architecture]] and [[masonry]] (or [[carpentry]] or [[metalsmithing]] if [[wood]] or [[metal]] is used) to complete. The material required for a bridge is less than the material required for building an equivalent area of [[floor]] tiles, and when a bridge is deconstructed the materials are deposited on the ground next to where the bridge stood rather than falling down into the open space it spanned.&lt;br /&gt;
&lt;br /&gt;
Unlike raising bridges, which require an area of solid ground, retractable bridges can be built using existing bridges as their sole means of support.&lt;br /&gt;
&lt;br /&gt;
== Drawbridges and retracting bridges ==&lt;br /&gt;
&lt;br /&gt;
A bridge can be connected to a [[lever]] or [[pressure plate]] to become a drawbridge or retracting bridge.  When the lever is pulled, they will raise or retract in a direction specified at construction.  The direction that a bridge raises can be slightly confusing: if a drawbridge raises to the left, then it forms a wall on the left side when raised. A drawbridge that raises requires a [[floor]] underneath the side towards which it will raise (on the tiles where the &amp;quot;[[wall]]&amp;quot; will form when raised); remember to take this into account when digging.&lt;br /&gt;
&lt;br /&gt;
Anything under a drawbridge when it is lowered will be utterly killed/destroyed, including all equipment. That's why drawbridge is called ''the [[Dwarven_Atom_Smasher|dwarven atom-smasher]]''.  Any objects or [[creatures]] on a drawbridge when it is raised will be flung several tiles and stunned or injured.  Some players may consider the crushing ability of a drawbridge to be an [[exploit]] if deliberately used.&lt;br /&gt;
&lt;br /&gt;
A retracting bridge is less vicious; when retracted, any object or creature on the bridge will plummet if there is a pit beneath.  When extended, the bridge causes no harm to anyone in its path.&lt;br /&gt;
&lt;br /&gt;
The delay between the time a [[lever]] is pulled and the time a connected bridge changes state is 100 steps.&lt;br /&gt;
&lt;br /&gt;
[[Category:Constructions]]&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Magma_man&amp;diff=43846</id>
		<title>40d Talk:Magma man</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Magma_man&amp;diff=43846"/>
		<updated>2008-10-17T02:54:59Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;is wrestling them a really bad idea? &amp;lt;small&amp;gt;&amp;amp;ndash; [[template:unsigned|unsigned]] comment by [[User:Eerr|Eerr]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:With a [FIXED_TEMP:12000] entry, I'd have to say yes. In addition, they have no_breathe and no_exert, making them rather tough opponents even without the heat. Expect numerous losses if a wrestling squad is sent at it. Even Champions will likely fall to it. --[[User:N9103|Edward]] 20:29, 28 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Tested this quite by accident when I embarked 2 squares away from a magma tube. I had to draft my original 7 to defend the wagon from some imps and a magma man almost immediatly... the result? 3 dead imps, a piece of obsidian, and a forest fire that consumed the entire map. I don't know if my dwarves died from the fire or the magma man, but everyone died. [[User:Forsaken1111|Forsaken1111]] 22:54, 16 October 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Magma_man&amp;diff=43845</id>
		<title>40d Talk:Magma man</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Magma_man&amp;diff=43845"/>
		<updated>2008-10-17T02:54:30Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;is wrestling them a really bad idea? &amp;lt;small&amp;gt;&amp;amp;ndash; [[template:unsigned|unsigned]] comment by [[User:Eerr|Eerr]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:With a [FIXED_TEMP:12000] entry, I'd have to say yes. In addition, they have no_breathe and no_exert, making them rather tough opponents even without the heat. Expect numerous losses if a wrestling squad is sent at it. Even Champions will likely fall to it. --[[User:N9103|Edward]] 20:29, 28 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Tested this quite by accident when I embarked 2 squares away from a magma tube. I had to draft my original 7 to defend the wagon from some imps and a magma man almost immediatly... the result? 3 dead imps, a piece of obsidian, and a forest fire that consumed the entire map. I don't know if my dwarves died from the fire or the magma man, but everyone died.&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38211</id>
		<title>40d Talk:Fire imp</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38211"/>
		<updated>2008-10-17T02:45:50Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Defensive Uses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wrestling? ==&lt;br /&gt;
&lt;br /&gt;
I just had a mechanic get attacked by one. He moved into its tile (I assume to wrestle) and instantly died of heat. Should this be noted?--[[User:Shadow archmagi|Shadow archmagi]] 19:59, 28 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:That is the imp using his fireball attack on a stupid dwarf, so I guess it's already in the article --[[User:MagicGuigz|MagicGuigz]] 20:27, 3 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Just to verify, its very possible to wrestle imps and magmamen to death. I had to do this after embarking, I didn't realize the lava tube would be right next to my wagon and immediately fire imps attacked. I drafted all of my dwarves and wrestled all 3 of them to death, as well as the magma man who came out later. The only dwarf I lost (my woodcutter) was due to a stray fireball. [[User:Forsaken1111|Forsaken1111]] 22:43, 16 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Defensive Uses ==&lt;br /&gt;
&lt;br /&gt;
I'm currently exploring the defensive uses of fire imps after bagging a few in cage traps. They don't seem too keen on fireballing goblin attackers, which was my original plan (had them confined behind some fortifications, but they wouldn't fire on the goblins). Further experiments required, or can someone confirm that they won't attack anyone but my dwarves? --[[User:TangoThree|TangoThree]] 16:35, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::is it possible to tame fire imps with the dungeon master? [[User:Hoborobo|Hoborobo]] 14:12, 12 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::There is no PET_EXOTIC tag, so no.[[User:StrawberryBunny|StrawberryBunny]] 09:35, 8 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Is there a safe way to move fire imp fat? If so, you could put it above your fortress entrance and drop it on invaders since it always burns. I really wish armor made from fire imp hide would protect from burning. [[User:Forsaken1111|Forsaken1111]] 22:45, 16 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== A vast understatement! ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fire imps are nasty little creatures that live in magma vents.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nasty little creatures doesn't cut it.  Every time I settle on top of a volcano, an imp will surface, get pissed at anything, be it an immigrating dwarf or a muskox, and cause a wildfire!  The worst part is that there is no message for &amp;quot;The world is burning!&amp;quot; so I end up losing a dwarf or two before I notice it!&lt;br /&gt;
&lt;br /&gt;
I think the worst was I lost both of my initial miners because they decided to take a break in the path of the fire.  They got the hint when I gave the order &amp;quot;everyone inside&amp;quot; but it was too late, they burned up before they could make it back inside.&lt;br /&gt;
&lt;br /&gt;
That being said, I find some vertical nickel bars do wonders in securing my magma forges from imp tampering.  They're a definite &amp;quot;must bring&amp;quot; on any volcanic expedition.&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38210</id>
		<title>40d Talk:Fire imp</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Fire_imp&amp;diff=38210"/>
		<updated>2008-10-17T02:43:51Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: /* Wrestling? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wrestling? ==&lt;br /&gt;
&lt;br /&gt;
I just had a mechanic get attacked by one. He moved into its tile (I assume to wrestle) and instantly died of heat. Should this be noted?--[[User:Shadow archmagi|Shadow archmagi]] 19:59, 28 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:That is the imp using his fireball attack on a stupid dwarf, so I guess it's already in the article --[[User:MagicGuigz|MagicGuigz]] 20:27, 3 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Just to verify, its very possible to wrestle imps and magmamen to death. I had to do this after embarking, I didn't realize the lava tube would be right next to my wagon and immediately fire imps attacked. I drafted all of my dwarves and wrestled all 3 of them to death, as well as the magma man who came out later. The only dwarf I lost (my woodcutter) was due to a stray fireball. [[User:Forsaken1111|Forsaken1111]] 22:43, 16 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Defensive Uses ==&lt;br /&gt;
&lt;br /&gt;
I'm currently exploring the defensive uses of fire imps after bagging a few in cage traps. They don't seem too keen on fireballing goblin attackers, which was my original plan (had them confined behind some fortifications, but they wouldn't fire on the goblins). Further experiments required, or can someone confirm that they won't attack anyone but my dwarves? --[[User:TangoThree|TangoThree]] 16:35, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::is it possible to tame fire imps with the dungeon master? [[User:Hoborobo|Hoborobo]] 14:12, 12 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::There is no PET_EXOTIC tag, so no.[[User:StrawberryBunny|StrawberryBunny]] 09:35, 8 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== A vast understatement! ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fire imps are nasty little creatures that live in magma vents.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nasty little creatures doesn't cut it.  Every time I settle on top of a volcano, an imp will surface, get pissed at anything, be it an immigrating dwarf or a muskox, and cause a wildfire!  The worst part is that there is no message for &amp;quot;The world is burning!&amp;quot; so I end up losing a dwarf or two before I notice it!&lt;br /&gt;
&lt;br /&gt;
I think the worst was I lost both of my initial miners because they decided to take a break in the path of the fire.  They got the hint when I gave the order &amp;quot;everyone inside&amp;quot; but it was too late, they burned up before they could make it back inside.&lt;br /&gt;
&lt;br /&gt;
That being said, I find some vertical nickel bars do wonders in securing my magma forges from imp tampering.  They're a definite &amp;quot;must bring&amp;quot; on any volcanic expedition.&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d_Talk:Murky_pool&amp;diff=37268</id>
		<title>40d Talk:Murky pool</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d_Talk:Murky_pool&amp;diff=37268"/>
		<updated>2008-10-17T02:16:31Z</updated>

		<summary type="html">&lt;p&gt;Forsaken1111: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Drinking from a murky pool will give dwarves an unhappy thought.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But drinking from a well that is fed by a murky pool via a channel is okay?&lt;br /&gt;
&lt;br /&gt;
Yes it works exactly like that.  [[User:Bouchart|Bouchart]] 17:13, 12 February 2008 (EST)&lt;br /&gt;
:Water will still be stagnant. Dunno if this does something. --[[User:Someone-else|Someone-else]] 21:19, 4 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Murky pool can (will?) completely drain in summer.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This detail needs clarification. According to my experience, it varies by the temperature of the region; I believe spading is in order. [[User:Eurytus|Eurytus]] 9:58, 2 April 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Can a murky pool be re-designated? ==&lt;br /&gt;
&lt;br /&gt;
I accidentally dug into the bottom of an outdoor pool (darn diagonals) and the pool drained into my silt/loam farming rooms. After the water dried out (adding a muddy element to my farms) I was left with the murky pool. Can't build a farm plot on it. Before removing it, I was wondering if I covered it by adding floor above it, could it be used somehow when it changes from outdoor to inside?--[[User:Dwarven Gemologist|Gemmy]] 15:06, 2 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Seems it would be quite possible. Feel free to try it and report your results. --[[User:N9103|Edward]] 21:51, 3 May 2008 (EDT)&lt;br /&gt;
::Just farm aboveground plants. Many of them are better than underground ones in many ways. --[[User:Someone-else|Someone-else]] 21:21, 4 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
The information here may be outdated. With an unmodified version of v0.28.181.40d I was able to channel out the tiles in a murky pool after draining it. Can anyone else try this and confirm? [[User:Forsaken1111|Forsaken1111]] 22:16, 16 October 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Forsaken1111</name></author>
	</entry>
</feed>