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.

Difference between revisions of "40d:Memory hacking/v0.27.169.33a"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
 
(43 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
 +
 +
== Addresses ==
 +
Please pardon the redundancy; as this page is dead I am not going to take the time to format nicely.
 +
<pre>pe_header_timestamp              == 4729DA32
 +
map_data_loc                    == 01458568
 +
map_x_count_loc                  == 01458580
 +
map_y_count_loc                  == 01458584
 +
map_z_count_loc                  == 01458588
 +
race_data_vector_loc            == 01459F48
 +
dwarven_race_index_loc          == 01237AD0
 +
main_creature_vector_loc        == 01416A38
 +
another_creature_vector_loc      == 01416A48
 +
yet_another_creature_vector_loc  == 01416A88
 +
whathe_another_creature_vector_loc == 01416A18
 +
number_of_dwarves_loc            == 0078420C
 +
initial_starting_points_loc      == 007833DF
 +
art_defacement_malus_loc        == 0079DC2F
 +
current_unit_focus_loc          == 00C2F548
 +
next_creature_id_loc            == 00C079F4
 +
language_vector_loc              == 0145A068
 +
 +
starting_skills_limit_loc        == 00780174
 +
starting_skills_increment_loc    == 0078008F
 +
starting_skills_decrement_loc    == 00780231
 +
 +
creature.happiness_level        == 00000504</pre>
 +
 
== Addresses ==
 
== Addresses ==
 
{| border="1" cellpadding="2" width="100%"
 
{| border="1" cellpadding="2" width="100%"
Line 13: Line 40:
 
| long
 
| long
 
| normally -1000 (18 FC FF FF)
 
| normally -1000 (18 FC FF FF)
| <code>0079DC2F</code>
+
| <code>0x0079DC2F</code>
 +
 
 +
|-
 +
| Next creature ID
 +
| 4
 +
| long
 +
|
 +
| <code>0x00C079F4</code>
  
 
|-
 
|-
Line 20: Line 54:
 
| long
 
| long
 
| Indexes into the full creature list.
 
| Indexes into the full creature list.
| <code>00C2F548</code>
+
| <code>0x00C2F548</code>
 
   
 
   
 
|-
 
|-
Line 27: Line 61:
 
|  
 
|  
 
|  
 
|  
| <code>00C34378</code>
+
| <code>0x00C34378</code>
  
 
|-
 
|-
Line 34: Line 68:
 
| long
 
| long
 
| The current state of the menu when viewing the map normally in Dwarf Fortress. <code>0x16</code> when in 'View Units' mode, other values unknown.
 
| The current state of the menu when viewing the map normally in Dwarf Fortress. <code>0x16</code> when in 'View Units' mode, other values unknown.
| <code>123B65C</code>
+
| <code>0x0123B65C</code>
  
 
|-
 
|-
Line 41: Line 75:
 
|  
 
|  
 
| As in the race identifier in the [[#Creature Structure|creature structure]].
 
| As in the race identifier in the [[#Creature Structure|creature structure]].
| <code>01237AD0</code> (probably)
+
| <code>0x01237AD0</code> (probably)
 
   
 
   
 +
|-
 +
| Unknown vector
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers
 +
| This could possibly be used for different creature groupings.  It's referenced when looking to see what state to use for creatures that are Friendly, Hostile, Merchants, etc on the unit screen.  The vector itself references the <code>0x1E0</code> data in the creature structure.
 +
| <code>0x014169E8</code>
 +
 +
|-
 +
| Whathe... another creature vector?
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers
 +
| How many more ARE there?
 +
| <code>0x01416A18</code>
 +
 
|-
 
|-
 
| Creature vector
 
| Creature vector
|  
+
| 16
| [[Memory hacking#Vector|vector]]
+
| [[Memory hacking#Vector|vector]] of pointers
 
| There are actually multiple creature vectors, but this has all of them.
 
| There are actually multiple creature vectors, but this has all of them.
| <code>01416A38</code>
+
| <code>0x01416A38</code>
  
 
|-
 
|-
 
| Another creature vector
 
| Another creature vector
|  
+
| 16
| [[Memory hacking#Vector|vector]]
+
| [[Memory hacking#Vector|vector]] of pointers
 
| This is the creature list that 'Current unit focus' indexes into, unlike previously stated.
 
| This is the creature list that 'Current unit focus' indexes into, unlike previously stated.
 +
| <code>0x01416A48</code>
 +
 +
|-
 +
| Yet another creature vector
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers
 +
| This one is used when saving creatures when saving game.
 +
| <code>0x01416A88</code>
  
 
|}
 
|}
  
== Creature Structure ==
+
== Game Structures ==
 +
=== Creature Structures ===
 +
==== Creature Structure ====
 +
Total of <code>0x660</code> bytes for the structure.
 
{| border="1" cellpadding="2" width="100%"
 
{| border="1" cellpadding="2" width="100%"
 
! width="10%" | Offset
 
! width="10%" | Offset
Line 67: Line 126:
  
 
|-
 
|-
| <code>0x0000</code> || 4   || || Vptr || Virtual function table pointer
+
| <code>0x0000</code>
 +
| 28
 +
| [[Memory hacking#String|string]]
 +
| First name
 +
|
 +
 
 +
|-
 +
| <code>0x001C</code>
 +
| 28
 +
| [[Memory hacking#String|string]]
 +
| Nickname
 +
|
 +
 
 +
|-
 +
| <code>0x0038</code>
 +
| 28
 +
|
 +
|
 +
| Not a string, just a coincidence.
 +
 
 +
|-
 +
| <code>0x0054</code>
 +
| 14
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0064</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0068</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x006A</code>
 +
| 1
 +
| byte
 +
|
 +
| Seems to denote whether or not this creature has a custom nickname/profession name? Something like that.
 +
 
 +
|-
 +
| <code>0x006C</code>
 +
| 28
 +
| [[Memory hacking#String|string]]
 +
| Custom profession name
 +
|
 +
 
 +
|-
 +
| <code>0x0088</code>
 +
| 2
 +
| short
 +
| Type ID #1
 +
| rowspan="2" | Dwarf types. 0x88 is the original dwarf type, 0x8a is the current dwarf type (I'm told Toady stores the original dwarf type for legends). The key is in the "Type ID" table, woefully incomplete.
 +
 
 +
|-
 +
| <code>0x008A</code>
 +
| 2
 +
| short
 +
| Type ID #2
 +
 
 +
|-
 +
| <code>0x008C</code>
 +
| 4
 +
| long
 +
| Creature race
 +
| <code>0xA6</code> is the dwarf default (this may be different if the user has a mod installed)
 +
 
 +
|-
 +
| <code>0x0090</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0092</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0094</code>
 +
| 2
 +
| short
 +
| X position
 +
| Current X coordinate of creature (0x00AC is some other X coordinate)
 +
 
 +
|-
 +
| <code>0x0096</code>
 +
| 2
 +
| short
 +
| Y position
 +
| Current Y coordinate of creature
 +
 
 +
|-
 +
| <code>0x0098</code>
 +
| 2
 +
| short
 +
| Z position
 +
| Current Z coordinate of creature
 +
 
 +
|-
 +
| <code>0x009A</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x009C</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x009E</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00A0</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00A4</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00A8</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00AC</code>
 +
| 2
 +
| short
 +
| X coordinate
 +
|
 +
 
 +
|-
 +
| <code>0x00AE</code>
 +
| 2
 +
| short
 +
| Y coordinate
 +
|
 +
 
 +
|-
 +
| <code>0x00B0</code>
 +
| 2
 +
| short
 +
| Z coordinate
 +
|
 +
 
 +
|-
 +
| <code>0x00B2</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00B4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00C4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00D4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00E4</code>
 +
| 4
 +
| ulong
 +
| Flags
 +
| (1 << 1) Unclear. It is set on dead things. Also, when a merchant caravan arrives, merchants and guards are added to the entity list slightly before they are added to the "u" list - during this period, this bit is set.
 +
 
 +
|-
 +
| <code>0x00E8</code>
 +
| 4
 +
| ulong
 +
| Flags
 +
|
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" colspan="2" | Flag
 +
! width="70%" | Description
 +
 
 +
|-
 +
| width="15%" | <code>0x8</code>
 +
| width="15%" | 1 << 3
 +
| Unknown, something to do with <code>0x0324</code>.
 +
 
 +
 
 +
|-
 +
| <code>0x80</code>
 +
| 1 << 7
 +
| Appears to be whether or not the creature is dead.
 +
 
 +
|-
 +
| <code>0x20000</code>
 +
| 1 << 17
 +
| Ready for slaughter.
 +
 
 +
|}
 +
 
 +
|-
 +
| <code>0x00EC</code>
 +
| 1
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00EE</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00F0</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00F2</code>
 +
| 1
 +
| byte
 +
| Gender
 +
|
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 0
 +
| It
 +
 
 +
|-
 +
| 1
 +
| Male
 +
 
 +
|-
 +
| 2
 +
| Female
 +
 
 +
|}
 +
 
 +
|-
 +
| <code>0x00F4</code>
 +
| 4
 +
| long
 +
| Creature ID
 +
| When a new creature is added to the creature vector at <code>0x01416A38</code>, it is assigned the value of the next creature ID and the next creature ID value is then increased by 1. This value most likely does NOT persist between loading games (eg, saving then loading your game and creatures will have different IDs).
 +
 
 +
|-
 +
| <code>0x00F8</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x00FC</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0100</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0104</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0114</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0124</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0134</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0138</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of ...something...
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01C4</code>
 +
| 1
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01C5</code>
 +
| 1
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01C8</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01CC</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01D0</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x01D4</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 
|-
 
|-
| <code>0x0004</code> || 24  || [[Memory hacking#New string format|string]] || First name ||  
+
| <code>0x01D6</code>
 +
| 2
 +
|  
 +
|  
 +
|  
 +
 
 +
|-
 +
| <code>0x01D8</code>
 +
| 2
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x0020</code> || 24  || [[Memory hacking#New string format|string]] || Nickname ||  
+
| <code>0x01DC</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x0070</code> || 24  || [[Memory hacking#New string format|string]]  || Custom profession name ||  
+
| <code>0x01E0</code>
 +
| 2 + 2 + 2 + 4 + 4
 +
|  
 +
|  
 +
| Unknown structure.
 +
 
 
|-
 
|-
| <code>0x0088</code> || || || Type ID #1 || rowspan="2"| Dwarf types. 0x88 is the original dwarf type, 0x8a is the current dwarf type (I'm told Toady stores the original dwarf type for legends). The key is in the "Type ID" table, woefully incomplete.
+
| <code>0x01F0</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x008A</code> || || || Type ID #2
+
| <code>0x01F4</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x008C</code> || || || Creature Race || A6 is the dwarf default (this may be different if the user has a mod installed)
+
| <code>0x01F8</code>
 +
| 2
 +
| short
 +
| Strange mood
 +
| 0xFFFF means no mood
 +
 
 
|-
 
|-
| <code>0x00AC</code> || 2   || || X Coordinate || Cells east of the west side
+
| <code>0x01FA</code>
 +
| 2
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x00AE</code> || || || Y Coordinate || Cells south of the north side
+
| <code>0x01FC</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x00B0</code> || || || Z Coordinate || Levels up from the bottom level
+
| <code>0x0200</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x00E4</code> || 4   || || Flags || (1 << 1) Unclear. It is set on dead things. Also, when a merchant caravan arrives, merchants and guards are added to the entity list slightly before they are added to the "u" list - during this period, this bit is set.
+
| <code>0x0204</code>
 +
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x00E8</code> || 4   || || Flags || (1 << 7) Appears to be whether or not the creature is dead.
+
| <code>0x0208</code>
(1 << 17) if creature is ready for slaughter
+
| 4
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x01F8</code> || || || Strange mood || 0xFFFF means no mood
+
| <code>0x0210</code>
 +
| 36
 +
|  
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x041C</code> || 4   || || Strength ||
+
| <code>0x0234</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0236</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0238</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#238 Structure|238 struct]]
 +
|
 +
| Possibly inventory?
 +
 
 +
|-
 +
| <code>0x0248</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
| Owned objects
 +
| Each long is an index into the item vector.
 +
 
 +
|-
 +
| <code>0x0288</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0298</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x029C</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02A0</code>
 +
| 4
 +
| pointer
 +
|
 +
| Appears to be a pointer to another creature.
 +
 
 +
|-
 +
| <code>0x02A4</code>
 +
| 4
 +
| pointer
 +
|
 +
| It's a pointer to something, don't know what yet.
 +
 
 +
|-
 +
| <code>0x02A8</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02AA</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02AC</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02AE</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02B0</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02B4</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02B8</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02C8</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02D8</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02E8</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02F8</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x02FC</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0300</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0304</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of shorts
 +
| Bodypart Health
 +
| A list to body part health, the list of ushorts, values range 0 to 15 from what i've seen. 15 being white, 0 being red.
 +
 
 +
|-
 +
| <code>0x0314</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
| Bodypart related.
 +
 
 +
|-
 +
| <code>0x0328</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x032C</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0330</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0334</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0338</code>
 +
| 4
 +
| long
 +
| Bleeding level
 +
|
 +
 
 +
|-
 +
| <code>0x033C</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0340</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0344</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0348</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x034C</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x034E</code>
 +
| 2
 +
| short
 +
| Nauseousness
 +
|
 +
 
 +
|-
 +
| <code>0x0350</code>
 +
| 2
 +
| short
 +
| Drowning
 +
|
 +
 
 +
|-
 +
| <code>0x0352</code>
 +
| 2
 +
| short
 +
| Stunned
 +
|
 +
 
 +
|-
 +
| <code>0x0354</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0356</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0358</code>
 +
| 2
 +
| short
 +
| Webbed
 +
| How much a creature is webbed
 +
 
 +
|-
 +
| <code>0x035A</code>
 +
| 2
 +
| short
 +
| Paralysis
 +
|
 +
 
 +
|-
 +
| <code>0x035C</code>
 +
| 12
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0368</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x036A</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x036C</code>
 +
| 4
 +
| long
 +
| Pain level
 +
|
 +
 
 +
|-
 +
| <code>0x0370</code>
 +
| 4
 +
| long
 +
| Exhaustion
 +
|
 +
 
 +
|-
 +
| <code>0x0374</code>
 +
| 4
 +
| long
 +
| Hunger
 +
|
 +
 
 +
|-
 +
| <code>0x0378</code>
 +
| 4
 +
| long
 +
| Thirst
 +
|
 +
 
 +
|-
 +
| <code>0x037C</code>
 +
| 4
 +
| long
 +
| Drowsiness
 +
|
 +
 
 +
|-
 +
| <code>0x0380</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0384</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#384 Structure|384 struct]]
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0394</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#394 Structure|394 struct]]
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x03A4</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x03A8</code>
 +
| 4
 +
|
 +
|  
 +
|  
 +
 
 +
|-
 +
| <code>0x03AC</code>
 +
| 1
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x041C</code>
 +
| 4
 +
|
 +
| Strength
 +
|  
 
{| border="1" cellpadding="2" width="50%"
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="20%" | Value
 
! width="80%" | Name
 
! width="80%" | Name
 
 
|-
 
|-
 
| 0 || Nothing
 
| 0 || Nothing
 
 
|-
 
|-
 
| 1 || Strong
 
| 1 || Strong
 
 
|-
 
|-
 
| 2 || Very Strong
 
| 2 || Very Strong
 
 
|-
 
|-
 
| 3 || Extremely Strong
 
| 3 || Extremely Strong
 
 
|-
 
|-
 
| 4 || Mighty
 
| 4 || Mighty
 
 
|-
 
|-
 
| 5 || Ultra-Mighty
 
| 5 || Ultra-Mighty
 
 
|}
 
|}
  
 
|-
 
|-
| <code>0x0420</code> || 4   || || Agility ||
+
| <code>0x0420</code>
 +
| 4
 +
|
 +
| Agility
 +
|
 
{| border="1" cellpadding="2" width="50%"
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="20%" | Value
 
! width="80%" | Name
 
! width="80%" | Name
 
 
|-
 
|-
 
| 0 || Nothing
 
| 0 || Nothing
 
 
|-
 
|-
 
| 1 || Agile
 
| 1 || Agile
 
 
|-
 
|-
 
| 2 || Very Agile
 
| 2 || Very Agile
 
 
|-
 
|-
 
| 3 || Extremely Agile
 
| 3 || Extremely Agile
 
 
|-
 
|-
 
| 4 || Unbelievably Agile
 
| 4 || Unbelievably Agile
 
 
|-
 
|-
 
| 5 || Perfectly Agile
 
| 5 || Perfectly Agile
 
 
|}
 
|}
  
 
|-
 
|-
| <code>0x0424</code> || 4   || || Toughness ||
+
| <code>0x0424</code>
 +
| 4
 +
|
 +
| Toughness
 +
|
 
{| border="1" cellpadding="2" width="50%"
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="20%" | Value
 
! width="80%" | Name
 
! width="80%" | Name
 +
|-
 +
| 0 || Nothing
 +
|-
 +
| 1 || Tough
 +
|-
 +
| 2 || Very Tough
 +
|-
 +
| 3 || Extremely Tough
 +
|-
 +
| 4 || Unbelievably Tough
 +
|-
 +
| 5 || Superdwarvenly Tough
 +
|}
 +
 +
|-
 +
| <code>0x0428</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#Skill Structure|skill struct]]
 +
| Skills
 +
|
 +
 +
|-
 +
| <code>0x0438</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#Like Structure|like struct]]
 +
| Likes
 +
|
 +
 +
|-
 +
| <code>0x0448</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#448 Structure|448 struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0458</code>
 +
| 102
 +
| bytes
 +
| Labor preferences
 +
| 102 1 byte values, corresponding to the profession list. Mostly bools, with notable exceptions of shieldtype,armortype, and weaponnum. "Weaponnum" may be the number of weapons wielded (i.e. 2 for a dual-wielding character.)
 +
 +
|-
 +
| <code>0x04C0</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x04C4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#4C4 Structure|4C4 struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x04D4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
|
 +
 +
|-
 +
| <code>0x04E4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#4E4 Structure|4E4 struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x04F4</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#4F4 Structure|4F4 struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0504</code>
 +
| 4
 +
|
 +
| Happiness level
 +
| 0 = miserable, >149 = ecstatic
 +
 +
|-
 +
| <code>0x0508</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x050C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#50C Structure|50C struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x051C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#51C Structure|51C struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x052C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#52C Structure|52C struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x053C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#53C Structure|53C struct]]
 +
|
 +
|
 +
 +
|-
 +
| <code>0x054C</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0550</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0554</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0558</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x055C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
|
 +
 +
|-
 +
| <code>0x056C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
|
 +
 +
|-
 +
| <code>0x057C</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of longs
 +
|
 +
|
 +
 +
|-
 +
| <code>0x058C</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0590</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0592</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0594</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0596</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0598</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x059A</code>
 +
| 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x059C</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x05A0</code>
 +
| 16
 +
| [[Memory hacking#Vector|vector]] of pointers to [[#5A0 Structure|5A0 struct]]
 +
|
 +
| Bodypart related.
 +
 +
|-
 +
| <code>0x05B0</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x05B4</code>
 +
| 60
 +
| [[#Trait Structure|trait struct]]
 +
| Traits
 +
|
 +
 +
|-
 +
| <code>0x05F0</code>
 +
| 4
 +
|
 +
|
 +
|
 +
 +
|-
 +
| <code>0x05F4</code>
 +
| 1
 +
|
 +
|
 +
|
 +
 +
|}
 +
 +
==== Skill Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
| Skill type
 +
|
 +
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
| Skill rating
 +
| The upper word is the actual rating (0:Dabbling to 15:Legendary).  The lower word is likely the experience in that skill, akin to how you see it in Adventure Mode whereby a level 10 skill requires 1000 points of experience to advance.
 +
 +
|-
 +
| <code>0x0008</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 +
|}
 +
 +
==== Like Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0004</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0006</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 +
|-
 +
| <code>0x0008</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 +
|-
 +
| <code>0x000A</code>
 +
| 1
 +
| byte
 +
| 'When possible'
 +
|
 +
 +
|-
 +
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 +
|}
 +
 +
==== Trait Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
| Nervousness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is a nervous wreck.
 +
 +
|-
 +
| 76 - 90
 +
| Is always tense and jittery.
 +
 +
|-
 +
| 61 - 75
 +
| Is often nervous.
 +
 +
|-
 +
| 25 - 60
 +
| Has a calm demeanor.
 +
 +
|-
 +
| 10 - 24
 +
| Has a very calm demeanor.
 +
 +
|-
 +
| 0 - 9
 +
| Has an incredibly calm demeanor.
 +
 +
|}
 +
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
| Rage
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is in a constant state of internal rage.
 +
 +
|-
 +
| 76 - 90
 +
| Is very quick to anger.
 +
 +
|-
 +
| 61 - 75
 +
| Is quick to anger.
 +
 +
|-
 +
| 25 - 60
 +
| Is slow to anger.
 +
 +
|-
 +
| 10 - 24
 +
| Is very slow to anger.
 +
 +
|-
 +
| 0 - 9
 +
| Never becomes angry.
 +
 +
|}
 +
 +
|-
 +
| <code>0x0004</code>
 +
| 2
 +
| short
 +
| Depression
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is frequently depressed.
 +
 +
|-
 +
| 76 - 90
 +
| Is often sad and dejected.
 +
 +
|-
 +
| 61 - 75
 +
| Often feels discouraged.
 +
 +
|-
 +
| 25 - 60
 +
| Rarely feels discouraged.
 +
 +
|-
 +
| 10 - 24
 +
| Almost never feels discouraged.
 +
 +
|-
 +
| 0 - 9
 +
| Never feels discouraged.
 +
|}
 +
 +
|-
 +
| <code>0x0006</code>
 +
| 2
 +
| short
 +
| Self-consciousness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is socially crippled by thoughts that everyone is watching and judging it/him/her.
 +
 +
|-
 +
| 76 - 90
 +
| Is concerned about rejection and ridicule.
 +
 +
|-
 +
| 61 - 75
 +
| Is self-conscious.
 +
 +
|-
 +
| 25 - 60
 +
| Is comfortable in social situations.
 +
 +
|-
 +
| 10 - 24
 +
| Is very comfortable in social situations.
 +
 +
|-
 +
| 0 - 9
 +
| Is absolutely unfazed by the opinions of others.
 +
|}
 +
 +
|-
 +
| <code>0x0008</code>
 +
| 2
 +
| short
 +
| Urge
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is ruled by irresistible cravings and urges.
 +
 +
|-
 +
| 76 - 90
 +
| Feels strong urges and seeks short-term rewards.
 +
 +
|-
 +
| 61 - 75
 +
| Occassionally overindulges.
 +
 +
|-
 +
| 25 - 60
 +
| Doesn't often experience strong cravings or urges.
 +
 +
|-
 +
| 10 - 24
 +
| Only rarely feels strong cravings or urges.
 +
 +
|-
 +
| 0 - 9
 +
| Never feels tempted to overindulge in anything.
 +
|}
 +
 +
|-
 +
| <code>0x000A</code>
 +
| 2
 +
| short
 +
| Stress
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Becomes completely helpless in stressful situations.
 +
 +
|-
 +
| 76 - 90
 +
| Cracks easily under pressure.
 +
 +
|-
 +
| 61 - 75
 +
| Doesn't handle stress well.
 +
 +
|-
 +
| 25 - 60
 +
| Can handle stress.
 +
 +
|-
 +
| 10 - 24
 +
| Is confident under pressure.
 +
 +
|-
 +
| 0 - 9
 +
| Is impervious to the effects of stress.
 +
|}
 +
 +
|-
 +
| <code>0x000C</code>
 +
| 2
 +
| short
 +
| Friendly
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Genuinely likes others and openly expresses positive feelings toward them.
 +
 +
|-
 +
| 76 - 90
 +
| Makes friends quickly.
 +
 +
|-
 +
| 61 - 75
 +
| Is very friendly.
 +
 +
|-
 +
| 25 - 60
 +
| Is somewhat reserved.
 +
 +
|-
 +
| 10 - 24
 +
| Is very distant and reserved.
 +
 +
|-
 +
| 0 - 9
 +
| Does not actively seek friendships and is incredibly distant and reserved.
 +
|}
 +
 +
|-
 +
| <code>0x000E</code>
 +
| 2
 +
| short
 +
| Company
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Truly treasures the company of others.
 +
 +
|-
 +
| 76 - 90
 +
| Enjoys being in crowds.
 +
 +
|-
 +
| 61 - 75
 +
| Enjoys the company of others.
 +
 +
|-
 +
| 25 - 60
 +
| Tends to avoid crowds.
 +
 +
|-
 +
| 10 - 24
 +
| Prefers to be alone.
 +
 +
|-
 +
| 0 - 9
 +
| Considers spending time alone much more important than associating with others.
 +
|}
 +
 +
|-
 +
| <code>0x0010</code>
 +
| 2
 +
| short
 +
| Leadership
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Loves to take charge and direct activities.
 +
 +
|-
 +
| 76 - 90
 +
| Is very assertive.
 +
 +
|-
 +
| 61 - 75
 +
| Is assertive.
 +
 +
|-
 +
| 25 - 60
 +
| Is unassertive.
 +
 +
|-
 +
| 10 - 24
 +
| Prefers that others handle the leadership roles.
 +
 +
|-
 +
| 0 - 9
 +
| Never speaks out or attempts to direct activities.
 +
|}
 +
 +
|-
 +
| <code>0x0012</code>
 +
| 2
 +
| short
 +
| Activeness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is constantly active and energetic.
 +
 +
|-
 +
| 76 - 90
 +
| Is very energetic and active.
 +
 +
|-
 +
| 61 - 75
 +
| Is very active.
 +
 +
|-
 +
| 25 - 60
 +
| Is relaxed.
 +
 +
|-
 +
| 10 - 24
 +
| Lives life at a leisurely pace.
 +
 +
|-
 +
| 0 - 9
 +
| Can't be bothered with frantic, fast-paced living.
 +
|}
 +
 +
|-
 +
| <code>0x0014</code>
 +
| 2
 +
| short
 +
| Thrillseeking
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Lives for risk and excitement.
 +
 +
|-
 +
| 76 - 90
 +
| Is a risk-taker and a thrill-seeker.
 +
 +
|-
 +
| 61 - 75
 +
| Loves a good thrill.
 +
 +
|-
 +
| 25 - 60
 +
| Is not a risk-taker.
 +
 +
|-
 +
| 10 - 24
 +
| Doesn't need thrills or risks in life.
 +
 +
|-
 +
| 0 - 9
 +
| Is entirely adverse to risk and excitement.
 +
|}
 +
 +
|-
 +
| <code>0x0016</code>
 +
| 2
 +
| short
 +
| Optimism
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Often feels filled with joy.
 +
 +
|-
 +
| 76 - 90
 +
| Can be very happy and optimistic.
 +
 +
|-
 +
| 61 - 75
 +
| Is often cheerful.
 +
 +
|-
 +
| 25 - 60
 +
| Is rarely happy or enthusiastic.
 +
 +
|-
 +
| 10 - 24
 +
| Is a pessimist.
 +
 +
|-
 +
| 0 - 9
 +
| Is never optimistic or enthusiastic about anything.
 +
|}
 +
 +
|-
 +
| <code>0x0018</code>
 +
| 2
 +
| short
 +
| Imagination
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is bored by reality and has a wonderful imagination.
 +
 +
|-
 +
| 76 - 90
 +
| Is incredibly creative.
 +
 +
|-
 +
| 61 - 75
 +
| Has a fertile imagination.
 +
 +
|-
 +
| 25 - 60
 +
| Isn't given to flights of fancy.
 +
 +
|-
 +
| 10 - 24
 +
| Is grounded in reality.
 +
 +
|-
 +
| 0 - 9
 +
| Is interested only in facts and the real world.
 +
|}
 +
 +
|-
 +
| <code>0x001A</code>
 +
| 2
 +
| short
 +
| Artistic?
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Can easily become absorbed in art and the beauty of the natural world.
 +
 +
|-
 +
| 76 - 90
 +
| Greatly appreciates art and natural beauty.
 +
 +
|-
 +
| 61 - 75
 +
| Appreciates art and natural beauty.
 +
 +
|-
 +
| 25 - 60
 +
| Does not have a great aesthetic sensitivity.
 +
 +
|-
 +
| 10 - 24
 +
| Is not interested in art.
 +
 +
|-
 +
| 0 - 9
 +
| Is completely uninterested in art.
 +
|}
 +
 +
|-
 +
| <code>0x001C</code>
 +
| 2
 +
| short
 +
| Emotion
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Has a profound understanding of its/his/her own emotions.
 +
 +
|-
 +
| 76 - 90
 +
| Has a great awareness of its/his/her own emotions.
 +
 +
|-
 +
| 61 - 75
 +
| Has a good awareness of its/his/her own emotions.
 +
 +
|-
 +
| 25 - 60
 +
| Tends not to openly express emotions.
 +
 +
|-
 +
| 10 - 24
 +
| Is mostly unaware of its/his/her own emotions and rarely expresses them.
 +
 +
|-
 +
| 0 - 9
 +
| Does not display its/his/her own emotions and has no awareness of them.
 +
|}
 +
 +
|-
 +
| <code>0x001E</code>
 +
| 2
 +
| short
 +
| Adventure
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is highly adventurous and loves fresh experiences.
 +
 +
|-
 +
| 76 - 90
 +
| Is eager for new experiences.
 +
 +
|-
 +
| 61 - 75
 +
| Likes to try new things.
 +
 +
|-
 +
| 25 - 60
 +
| Prefers familiar routines.
 +
 +
|-
 +
| 10 - 24
 +
| Is uncomfortable with change.
 +
 +
|-
 +
| 0 - 9
 +
| Is resistant to change.
 +
|}
 +
 +
|-
 +
| <code>0x0020</code>
 +
| 2
 +
| short
 +
| Thinking
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is entranced by riddles and puzzles and loves to debate issues and ideas.
 +
 +
|-
 +
| 76 - 90
 +
| Loves new and fresh ideas.
 +
 +
|-
 +
| 61 - 75
 +
| Is open-minded to new ideas.
 +
 +
|-
 +
| 25 - 60
 +
| Dislikes intellectual discussions.
 +
 +
|-
 +
| 10 - 24
 +
| Regards intellectual exercises as a waste of energy.
 +
 +
|-
 +
| 0 - 9
 +
| Is completely uninterested in ideas and debates over intellectual issues.
 +
|}
 +
 +
|-
 +
| <code>0x0022</code>
 +
| 2
 +
| short
 +
| Rebelliousness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Revels in chaos and disorder.
 +
 +
|-
 +
| 76 - 90
 +
| Loves to defy convention.
 +
 +
|-
 +
| 61 - 75
 +
| Is put off by authority and tradition.
 +
 +
|-
 +
| 25 - 60
 +
| Admires tradition.
 +
 +
|-
 +
| 10 - 24
 +
| Prefers stability and security to ambiguity and disorder.
 +
 +
|-
 +
| 0 - 9
 +
| Is an ardent believer in convention and traditional society.
 +
|}
 +
 +
|-
 +
| <code>0x0024</code>
 +
| 2
 +
| short
 +
| Trusting
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 +
|-
 +
| 91 - 100
 +
| Is naturally trustful of everybody.
 +
 +
|-
 +
| 76 - 90
 +
| Is very trusting.
 +
 +
|-
 +
| 61 - 75
 +
| Is trusting.
 +
 +
|-
 +
| 25 - 60
 +
| Is slow to trust others.
 +
 +
|-
 +
| 10 - 24
 +
| Does not trust others.
  
 
|-
 
|-
| 0 || Nothing
+
| 0 - 9
 +
| Sees others as selfish and conniving.
 +
|}
 +
 
 +
|-
 +
| <code>0x0026</code>
 +
| 2
 +
| short
 +
| Liar
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Is incredibly frank and candid in dealings with others.
 +
 
 +
|-
 +
| 76 - 90
 +
| Is very straightforward with others.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is candid and sincere in dealings with others.
 +
 
 +
|-
 +
| 25 - 60
 +
| Is guarded in relationships with others.
 +
 
 +
|-
 +
| 10 - 24
 +
| Is not straightforward when dealing with others.
 +
 
 +
|-
 +
| 0 - 9
 +
| Believes that some deception is necessary in relationships with others.
 +
|}
 +
 
 +
|-
 +
| <code>0x0028</code>
 +
| 2
 +
| short
 +
| Helpfulness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Is truly fulfilled by assisting those in need.
 +
 
 +
|-
 +
| 76 - 90
 +
| Finds helping others very rewarding.
 +
 
 +
|-
 +
| 61 - 75
 +
| Finds helping others rewarding.
 +
 
 +
|-
 +
| 25 - 60
 +
| Does not go out of its/his/her way to help others.
 +
 
 +
|-
 +
| 10 - 24
 +
| Dislikes helping others.
 +
 
 +
|-
 +
| 0 - 9
 +
| Views helping others as an imposition on  own needs to get along with others.
 +
|}
 +
 
 +
|-
 +
| <code>0x002A</code>
 +
| 2
 +
| short
 +
| Compromising
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Sacrifices its/his/her own needs to get along with others.
 +
 
 +
|-
 +
| 76 - 90
 +
| Dislikes confrontations.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is willing to compromise with others.
 +
 
 +
|-
 +
| 25 - 60
 +
| Doesn't like to compromise with others.
 +
 
 +
|-
 +
| 10 - 24
 +
| Would rather intimidate others than compromise with them.
 +
 
 +
|-
 +
| 0 - 9
 +
| Would never deny its/his/her own needs just to compromise with somebody else.
 +
|}
 +
 
 +
|-
 +
| <code>0x002C</code>
 +
| 2
 +
| short
 +
| Modesty
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Would never claim to be better than somebody else.
 +
 
 +
|-
 +
| 76 - 90
 +
| Finds immodesty distasteful.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is modest.
 +
 
 +
|-
 +
| 25 - 60
 +
| Is immodest.
 +
 
 +
|-
 +
| 10 - 24
 +
| Is very willing to compare itself/himself/herself favorably with others.
 +
 
 +
|-
 +
| 0 - 9
 +
| Would never shy away from an opportunity to say it/he/she is better than somebody else.
 +
|}
 +
 
 +
|-
 +
| <code>0x002E</code>
 +
| 2
 +
| short
 +
| Compassion
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Is incredibly compassionate and feels the pain of others.
 +
 
 +
|-
 +
| 76 - 90
 +
| Is easily moved to pity.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is compassionate.
 +
 
 +
|-
 +
| 25 - 60
 +
| Is not easily moved to pity.
 +
 
 +
|-
 +
| 10 - 24
 +
| Is not affected by the suffering of others.
 +
 
 +
|-
 +
| 0 - 9
 +
| Would never let an objective judgement be tempered by mercy or pity.
 +
|}
 +
 
 +
|-
 +
| <code>0x0030</code>
 +
| 2
 +
| short
 +
| Confidence
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| is incredibly confident
 +
 
 +
|-
 +
| 76 - 90
 +
| is very confident
 +
 
 +
|-
 +
| 61 - 75
 +
| is confident
 +
 
 +
|-
 +
| 25 - 60
 +
| lacks confidence
 +
 
 +
|-
 +
| 10 - 24
 +
| does not feel effective in life
 +
 
 +
|-
 +
| 0 - 9
 +
| always feels as if it/he/she is not in control of its/his/her life
 +
|}
 +
 
 +
|-
 +
| <code>0x0032</code>
 +
| 2
 +
| short
 +
| Organization
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Loves to make lists and keep schedules.
 +
 
 +
|-
 +
| 76 - 90
 +
| Tries to live a well-organized life.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is organized.
 +
 
 +
|-
 +
| 25 - 60
 +
| Is disorganized.
 +
 
 +
|-
 +
| 10 - 24
 +
| Is very disorganized.
 +
 
 +
|-
 +
| 0 - 9
 +
| Is completely disorganized.
 +
|}
 +
 
 +
|-
 +
| <code>0x0034</code>
 +
| 2
 +
| short
 +
| Lawfulness?
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Has a profound sense of duty and obligation.
 +
 
 +
|-
 +
| 76 - 90
 +
| Has a strong sense of duty.
 +
 
 +
|-
 +
| 61 - 75
 +
| Has a sense of duty.
 +
 
 +
|-
 +
| 25 - 60
 +
| Finds rules confining.
 +
 
 +
|-
 +
| 10 - 24
 +
| Dislikes contracts and regulations.
 +
 
 +
|-
 +
| 0 - 9
 +
| Hates rules, contracts and other confining elements in its/his/her life.
 +
|}
 +
 
 +
|-
 +
| <code>0x0036</code>
 +
| 2
 +
| short
 +
| Excellence
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Constantly strives for perfection.
 +
 
 +
|-
 +
| 76 - 90
 +
| Thinks it is incredibly important to strive for excellence.
 +
 
 +
|-
 +
| 61 - 75
 +
| Strives for excellence.
 +
 
 +
|-
 +
| 25 - 60
 +
| Doesn't go out of its/his/her way to do more work than necessary.
 +
 
 +
|-
 +
| 10 - 24
 +
| Very rarely does more work than necessary.
 +
 
 +
|-
 +
| 0 - 9
 +
| Does the bare minimum necessary to accomplish the task at hand.
 +
|}
 +
 
 +
|-
 +
| <code>0x0038</code>
 +
| 2
 +
| short
 +
| Willpower
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| Will persist in the face of any difficulty until the task is complete.
 +
 
 +
|-
 +
| 76 - 90
 +
| Possesses great willpower.
 +
 
 +
|-
 +
| 61 - 75
 +
| Is self-disciplined.
 +
 
 +
|-
 +
| 25 - 60
 +
| Is occasionally given to procrastination.
 +
 
 +
|-
 +
| 10 - 24
 +
| Has very little self-discipline.
 +
 
 +
|-
 +
| 0 - 9
 +
| Rarely completes tasks and is often overcome by distractions.
 +
|}
 +
 
 +
|-
 +
| <code>0x003A</code>
 +
| 2
 +
| short
 +
| Cautiousness
 +
| Out of 100?
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="30%" | Value
 +
! width="70%" | Description
 +
 
 +
|-
 +
| 91 - 100
 +
| thinks through every alternatives and their consequences before acting
 +
 
 +
|-
 +
| 76 - 90
 +
| is extremely cautious
 +
 
 +
|-
 +
| 61 - 75
 +
| takes time when making decisions
 +
 
 +
|-
 +
| 25 - 60
 +
| often does the first thing that comes to mind
 +
 
 +
|-
 +
| 10 - 24
 +
| acts impulsively
 +
 
 +
|-
 +
| 0 - 9
 +
| always acts without considering alternatives or thinking through possibilities
 +
|}
 +
 
 +
|}
 +
 
 +
==== 238 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0006</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 384 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000C</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000E</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 394 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
| ID
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
| Value
 +
|
 +
 
 +
|}
 +
 
 +
==== 448 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0006</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000A</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0010</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 4C4 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0010</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0014</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0018</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x001C</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0020</code>
 +
| 1
 +
| byte
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 4E4 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 4F4 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0008</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 50C Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 51C Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 +
|-
 +
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|-
 +
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|
 +
|  
  
 
|-
 
|-
| 1 || Tough
+
| <code>0x0004</code>
 +
| 2
 +
| short
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 52C Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
  
 
|-
 
|-
| 2 || Very Tough
+
| <code>0x0000</code>
 +
| 4
 +
| long
 +
|
 +
|  
  
 
|-
 
|-
| 3 || Extremely Tough
+
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|  
  
 
|-
 
|-
| 4 || Unbelievably Tough
+
| <code>0x0008</code>
 +
| 4
 +
| long
 +
|  
 +
|  
  
 
|-
 
|-
| 5 || Superdwarvenly Tough
+
| <code>0x000C</code>
 +
| 4
 +
| long
 +
|
 +
|  
  
 
|}
 
|}
 +
 +
==== 53C Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
  
 
|-
 
|-
| <code>0x042C</code> || 4   || || Skill Start Ptr || Start of skill list
+
| <code>0x0000</code>
 +
| 4
 +
| long
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x0430</code> || || || Skill End Ptr || End of skill list
+
| <code>0x0004</code>
 +
| 4
 +
| long
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
==== 5A0 Structure ====
 +
{| border="1" cellpadding="2" width="100%"
 +
! width="10%" | Offset
 +
! width="5%" | Size
 +
! width="10%" | Type
 +
! width="20%" | Name
 +
! width="55%" | Notes
 +
 
 
|-
 
|-
| <code>0x0458</code> || 102 || || Labor preferences || 102 1 byte values, corresponding to the profession list. Mostly bools, with notable exceptions of shieldtype,armortype, and weaponnum. I have No idea what the last one means.
+
| <code>0x0000</code>
 +
| 2
 +
| short
 +
|  
 +
|  
 +
 
 
|-
 
|-
| <code>0x0504</code> || || || Happiness level || 0 = miserable, >149 = ecstatic
+
| <code>0x0002</code>
 +
| 2
 +
| short
 +
|  
 +
|  
 +
 
 
|}
 
|}
 +
[[Category:Hacking]]

Latest revision as of 21:56, 14 December 2011

Addresses[edit]

Please pardon the redundancy; as this page is dead I am not going to take the time to format nicely.

pe_header_timestamp              == 4729DA32
map_data_loc                     == 01458568
map_x_count_loc                  == 01458580
map_y_count_loc                  == 01458584
map_z_count_loc                  == 01458588
race_data_vector_loc             == 01459F48
dwarven_race_index_loc           == 01237AD0
main_creature_vector_loc         == 01416A38
another_creature_vector_loc      == 01416A48
yet_another_creature_vector_loc  == 01416A88
whathe_another_creature_vector_loc == 01416A18
number_of_dwarves_loc            == 0078420C
initial_starting_points_loc      == 007833DF
art_defacement_malus_loc         == 0079DC2F
current_unit_focus_loc           == 00C2F548
next_creature_id_loc             == 00C079F4
language_vector_loc              == 0145A068

starting_skills_limit_loc        == 00780174
starting_skills_increment_loc    == 0078008F
starting_skills_decrement_loc    == 00780231

creature.happiness_level         == 00000504

Addresses[edit]

Name Size Type Notes Offset
Art defacement malus 4 long normally -1000 (18 FC FF FF) 0x0079DC2F
Next creature ID 4 long 0x00C079F4
Current unit focus 4 long Indexes into the full creature list. 0x00C2F548
Current year 0x00C34378
Map menu state 4 long The current state of the menu when viewing the map normally in Dwarf Fortress. 0x16 when in 'View Units' mode, other values unknown. 0x0123B65C
Dwarf race ID As in the race identifier in the creature structure. 0x01237AD0 (probably)
Unknown vector 16 vector of pointers This could possibly be used for different creature groupings. It's referenced when looking to see what state to use for creatures that are Friendly, Hostile, Merchants, etc on the unit screen. The vector itself references the 0x1E0 data in the creature structure. 0x014169E8
Whathe... another creature vector? 16 vector of pointers How many more ARE there? 0x01416A18
Creature vector 16 vector of pointers There are actually multiple creature vectors, but this has all of them. 0x01416A38
Another creature vector 16 vector of pointers This is the creature list that 'Current unit focus' indexes into, unlike previously stated. 0x01416A48
Yet another creature vector 16 vector of pointers This one is used when saving creatures when saving game. 0x01416A88

Game Structures[edit]

Creature Structures[edit]

Creature Structure[edit]

Total of 0x660 bytes for the structure.

Offset Size Type Name Notes
0x0000 28 string First name
0x001C 28 string Nickname
0x0038 28 Not a string, just a coincidence.
0x0054 14
0x0064 4
0x0068 2
0x006A 1 byte Seems to denote whether or not this creature has a custom nickname/profession name? Something like that.
0x006C 28 string Custom profession name
0x0088 2 short Type ID #1 Dwarf types. 0x88 is the original dwarf type, 0x8a is the current dwarf type (I'm told Toady stores the original dwarf type for legends). The key is in the "Type ID" table, woefully incomplete.
0x008A 2 short Type ID #2
0x008C 4 long Creature race 0xA6 is the dwarf default (this may be different if the user has a mod installed)
0x0090 2
0x0092 2
0x0094 2 short X position Current X coordinate of creature (0x00AC is some other X coordinate)
0x0096 2 short Y position Current Y coordinate of creature
0x0098 2 short Z position Current Z coordinate of creature
0x009A 2
0x009C 2
0x009E 2
0x00A0 4
0x00A4 2
0x00A8 4
0x00AC 2 short X coordinate
0x00AE 2 short Y coordinate
0x00B0 2 short Z coordinate
0x00B2 2
0x00B4 16 vector of shorts
0x00C4 16 vector of shorts
0x00D4 16 vector of shorts
0x00E4 4 ulong Flags (1 << 1) Unclear. It is set on dead things. Also, when a merchant caravan arrives, merchants and guards are added to the entity list slightly before they are added to the "u" list - during this period, this bit is set.
0x00E8 4 ulong Flags
Flag Description
0x8 1 << 3 Unknown, something to do with 0x0324.


0x80 1 << 7 Appears to be whether or not the creature is dead.
0x20000 1 << 17 Ready for slaughter.
0x00EC 1
0x00EE 2
0x00F0 2
0x00F2 1 byte Gender
Value Description
0 It
1 Male
2 Female
0x00F4 4 long Creature ID When a new creature is added to the creature vector at 0x01416A38, it is assigned the value of the next creature ID and the next creature ID value is then increased by 1. This value most likely does NOT persist between loading games (eg, saving then loading your game and creatures will have different IDs).
0x00F8 2
0x00FC 4
0x0100 4
0x0104 16 vector of shorts
0x0114 16 vector of shorts
0x0124 16 vector of shorts
0x0134 4
0x0138 16 vector of ...something...
0x01C4 1
0x01C5 1
0x01C8 4
0x01CC 4
0x01D0 4
0x01D4 2
0x01D6 2
0x01D8 2
0x01DC 4
0x01E0 2 + 2 + 2 + 4 + 4 Unknown structure.
0x01F0 4
0x01F4 4
0x01F8 2 short Strange mood 0xFFFF means no mood
0x01FA 2
0x01FC 4
0x0200 4
0x0204 4
0x0208 4
0x0210 36
0x0234 2
0x0236 2
0x0238 16 vector of pointers to 238 struct Possibly inventory?
0x0248 16 vector of longs Owned objects Each long is an index into the item vector.
0x0288 16 vector of longs
0x0298 4
0x029C 4
0x02A0 4 pointer Appears to be a pointer to another creature.
0x02A4 4 pointer It's a pointer to something, don't know what yet.
0x02A8 2
0x02AA 2
0x02AC 2
0x02AE 2
0x02B0 2
0x02B4 4
0x02B8 16 vector of shorts
0x02C8 16 vector of shorts
0x02D8 16 vector of shorts
0x02E8 16 vector of shorts
0x02F8 2
0x02FC 4
0x0300 4
0x0304 16 vector of shorts Bodypart Health A list to body part health, the list of ushorts, values range 0 to 15 from what i've seen. 15 being white, 0 being red.
0x0314 16 vector of longs Bodypart related.
0x0328 2
0x032C 4
0x0330 4
0x0334 4
0x0338 4 long Bleeding level
0x033C 4
0x0340 4
0x0344 4
0x0348 4
0x034C 2
0x034E 2 short Nauseousness
0x0350 2 short Drowning
0x0352 2 short Stunned
0x0354 2
0x0356 2
0x0358 2 short Webbed How much a creature is webbed
0x035A 2 short Paralysis
0x035C 12
0x0368 2
0x036A 2
0x036C 4 long Pain level
0x0370 4 long Exhaustion
0x0374 4 long Hunger
0x0378 4 long Thirst
0x037C 4 long Drowsiness
0x0380 4
0x0384 16 vector of pointers to 384 struct
0x0394 16 vector of pointers to 394 struct
0x03A4 4
0x03A8 4
0x03AC 1
0x041C 4 Strength
Value Name
0 Nothing
1 Strong
2 Very Strong
3 Extremely Strong
4 Mighty
5 Ultra-Mighty
0x0420 4 Agility
Value Name
0 Nothing
1 Agile
2 Very Agile
3 Extremely Agile
4 Unbelievably Agile
5 Perfectly Agile
0x0424 4 Toughness
Value Name
0 Nothing
1 Tough
2 Very Tough
3 Extremely Tough
4 Unbelievably Tough
5 Superdwarvenly Tough
0x0428 16 vector of pointers to skill struct Skills
0x0438 16 vector of pointers to like struct Likes
0x0448 16 vector of pointers to 448 struct
0x0458 102 bytes Labor preferences 102 1 byte values, corresponding to the profession list. Mostly bools, with notable exceptions of shieldtype,armortype, and weaponnum. "Weaponnum" may be the number of weapons wielded (i.e. 2 for a dual-wielding character.)
0x04C0 4
0x04C4 16 vector of pointers to 4C4 struct
0x04D4 16 vector of longs
0x04E4 16 vector of pointers to 4E4 struct
0x04F4 16 vector of pointers to 4F4 struct
0x0504 4 Happiness level 0 = miserable, >149 = ecstatic
0x0508 2
0x050C 16 vector of pointers to 50C struct
0x051C 16 vector of pointers to 51C struct
0x052C 16 vector of pointers to 52C struct
0x053C 16 vector of pointers to 53C struct
0x054C 2
0x0550 4
0x0554 4
0x0558 4
0x055C 16 vector of longs
0x056C 16 vector of longs
0x057C 16 vector of longs
0x058C 4
0x0590 2
0x0592 2
0x0594 2
0x0596 2
0x0598 2
0x059A 2
0x059C 4
0x05A0 16 vector of pointers to 5A0 struct Bodypart related.
0x05B0 4
0x05B4 60 trait struct Traits
0x05F0 4
0x05F4 1

Skill Structure[edit]

Offset Size Type Name Notes
0x0000 2 short Skill type
0x0004 4 long Skill rating The upper word is the actual rating (0:Dabbling to 15:Legendary). The lower word is likely the experience in that skill, akin to how you see it in Adventure Mode whereby a level 10 skill requires 1000 points of experience to advance.
0x0008 4 long

Like Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short
0x0004 2 short
0x0006 2 short
0x0008 2 short
0x000A 1 byte 'When possible'
0x000C 4 long

Trait Structure[edit]

Offset Size Type Name Notes
0x0000 2 short Nervousness Out of 100?
Value Description
91 - 100 Is a nervous wreck.
76 - 90 Is always tense and jittery.
61 - 75 Is often nervous.
25 - 60 Has a calm demeanor.
10 - 24 Has a very calm demeanor.
0 - 9 Has an incredibly calm demeanor.
0x0002 2 short Rage Out of 100?
Value Description
91 - 100 Is in a constant state of internal rage.
76 - 90 Is very quick to anger.
61 - 75 Is quick to anger.
25 - 60 Is slow to anger.
10 - 24 Is very slow to anger.
0 - 9 Never becomes angry.
0x0004 2 short Depression Out of 100?
Value Description
91 - 100 Is frequently depressed.
76 - 90 Is often sad and dejected.
61 - 75 Often feels discouraged.
25 - 60 Rarely feels discouraged.
10 - 24 Almost never feels discouraged.
0 - 9 Never feels discouraged.
0x0006 2 short Self-consciousness Out of 100?
Value Description
91 - 100 Is socially crippled by thoughts that everyone is watching and judging it/him/her.
76 - 90 Is concerned about rejection and ridicule.
61 - 75 Is self-conscious.
25 - 60 Is comfortable in social situations.
10 - 24 Is very comfortable in social situations.
0 - 9 Is absolutely unfazed by the opinions of others.
0x0008 2 short Urge Out of 100?
Value Description
91 - 100 Is ruled by irresistible cravings and urges.
76 - 90 Feels strong urges and seeks short-term rewards.
61 - 75 Occassionally overindulges.
25 - 60 Doesn't often experience strong cravings or urges.
10 - 24 Only rarely feels strong cravings or urges.
0 - 9 Never feels tempted to overindulge in anything.
0x000A 2 short Stress Out of 100?
Value Description
91 - 100 Becomes completely helpless in stressful situations.
76 - 90 Cracks easily under pressure.
61 - 75 Doesn't handle stress well.
25 - 60 Can handle stress.
10 - 24 Is confident under pressure.
0 - 9 Is impervious to the effects of stress.
0x000C 2 short Friendly Out of 100?
Value Description
91 - 100 Genuinely likes others and openly expresses positive feelings toward them.
76 - 90 Makes friends quickly.
61 - 75 Is very friendly.
25 - 60 Is somewhat reserved.
10 - 24 Is very distant and reserved.
0 - 9 Does not actively seek friendships and is incredibly distant and reserved.
0x000E 2 short Company Out of 100?
Value Description
91 - 100 Truly treasures the company of others.
76 - 90 Enjoys being in crowds.
61 - 75 Enjoys the company of others.
25 - 60 Tends to avoid crowds.
10 - 24 Prefers to be alone.
0 - 9 Considers spending time alone much more important than associating with others.
0x0010 2 short Leadership Out of 100?
Value Description
91 - 100 Loves to take charge and direct activities.
76 - 90 Is very assertive.
61 - 75 Is assertive.
25 - 60 Is unassertive.
10 - 24 Prefers that others handle the leadership roles.
0 - 9 Never speaks out or attempts to direct activities.
0x0012 2 short Activeness Out of 100?
Value Description
91 - 100 Is constantly active and energetic.
76 - 90 Is very energetic and active.
61 - 75 Is very active.
25 - 60 Is relaxed.
10 - 24 Lives life at a leisurely pace.
0 - 9 Can't be bothered with frantic, fast-paced living.
0x0014 2 short Thrillseeking Out of 100?
Value Description
91 - 100 Lives for risk and excitement.
76 - 90 Is a risk-taker and a thrill-seeker.
61 - 75 Loves a good thrill.
25 - 60 Is not a risk-taker.
10 - 24 Doesn't need thrills or risks in life.
0 - 9 Is entirely adverse to risk and excitement.
0x0016 2 short Optimism Out of 100?
Value Description
91 - 100 Often feels filled with joy.
76 - 90 Can be very happy and optimistic.
61 - 75 Is often cheerful.
25 - 60 Is rarely happy or enthusiastic.
10 - 24 Is a pessimist.
0 - 9 Is never optimistic or enthusiastic about anything.
0x0018 2 short Imagination Out of 100?
Value Description
91 - 100 Is bored by reality and has a wonderful imagination.
76 - 90 Is incredibly creative.
61 - 75 Has a fertile imagination.
25 - 60 Isn't given to flights of fancy.
10 - 24 Is grounded in reality.
0 - 9 Is interested only in facts and the real world.
0x001A 2 short Artistic? Out of 100?
Value Description
91 - 100 Can easily become absorbed in art and the beauty of the natural world.
76 - 90 Greatly appreciates art and natural beauty.
61 - 75 Appreciates art and natural beauty.
25 - 60 Does not have a great aesthetic sensitivity.
10 - 24 Is not interested in art.
0 - 9 Is completely uninterested in art.
0x001C 2 short Emotion Out of 100?
Value Description
91 - 100 Has a profound understanding of its/his/her own emotions.
76 - 90 Has a great awareness of its/his/her own emotions.
61 - 75 Has a good awareness of its/his/her own emotions.
25 - 60 Tends not to openly express emotions.
10 - 24 Is mostly unaware of its/his/her own emotions and rarely expresses them.
0 - 9 Does not display its/his/her own emotions and has no awareness of them.
0x001E 2 short Adventure Out of 100?
Value Description
91 - 100 Is highly adventurous and loves fresh experiences.
76 - 90 Is eager for new experiences.
61 - 75 Likes to try new things.
25 - 60 Prefers familiar routines.
10 - 24 Is uncomfortable with change.
0 - 9 Is resistant to change.
0x0020 2 short Thinking Out of 100?
Value Description
91 - 100 Is entranced by riddles and puzzles and loves to debate issues and ideas.
76 - 90 Loves new and fresh ideas.
61 - 75 Is open-minded to new ideas.
25 - 60 Dislikes intellectual discussions.
10 - 24 Regards intellectual exercises as a waste of energy.
0 - 9 Is completely uninterested in ideas and debates over intellectual issues.
0x0022 2 short Rebelliousness Out of 100?
Value Description
91 - 100 Revels in chaos and disorder.
76 - 90 Loves to defy convention.
61 - 75 Is put off by authority and tradition.
25 - 60 Admires tradition.
10 - 24 Prefers stability and security to ambiguity and disorder.
0 - 9 Is an ardent believer in convention and traditional society.
0x0024 2 short Trusting Out of 100?
Value Description
91 - 100 Is naturally trustful of everybody.
76 - 90 Is very trusting.
61 - 75 Is trusting.
25 - 60 Is slow to trust others.
10 - 24 Does not trust others.
0 - 9 Sees others as selfish and conniving.
0x0026 2 short Liar Out of 100?
Value Description
91 - 100 Is incredibly frank and candid in dealings with others.
76 - 90 Is very straightforward with others.
61 - 75 Is candid and sincere in dealings with others.
25 - 60 Is guarded in relationships with others.
10 - 24 Is not straightforward when dealing with others.
0 - 9 Believes that some deception is necessary in relationships with others.
0x0028 2 short Helpfulness Out of 100?
Value Description
91 - 100 Is truly fulfilled by assisting those in need.
76 - 90 Finds helping others very rewarding.
61 - 75 Finds helping others rewarding.
25 - 60 Does not go out of its/his/her way to help others.
10 - 24 Dislikes helping others.
0 - 9 Views helping others as an imposition on own needs to get along with others.
0x002A 2 short Compromising Out of 100?
Value Description
91 - 100 Sacrifices its/his/her own needs to get along with others.
76 - 90 Dislikes confrontations.
61 - 75 Is willing to compromise with others.
25 - 60 Doesn't like to compromise with others.
10 - 24 Would rather intimidate others than compromise with them.
0 - 9 Would never deny its/his/her own needs just to compromise with somebody else.
0x002C 2 short Modesty Out of 100?
Value Description
91 - 100 Would never claim to be better than somebody else.
76 - 90 Finds immodesty distasteful.
61 - 75 Is modest.
25 - 60 Is immodest.
10 - 24 Is very willing to compare itself/himself/herself favorably with others.
0 - 9 Would never shy away from an opportunity to say it/he/she is better than somebody else.
0x002E 2 short Compassion Out of 100?
Value Description
91 - 100 Is incredibly compassionate and feels the pain of others.
76 - 90 Is easily moved to pity.
61 - 75 Is compassionate.
25 - 60 Is not easily moved to pity.
10 - 24 Is not affected by the suffering of others.
0 - 9 Would never let an objective judgement be tempered by mercy or pity.
0x0030 2 short Confidence Out of 100?
Value Description
91 - 100 is incredibly confident
76 - 90 is very confident
61 - 75 is confident
25 - 60 lacks confidence
10 - 24 does not feel effective in life
0 - 9 always feels as if it/he/she is not in control of its/his/her life
0x0032 2 short Organization Out of 100?
Value Description
91 - 100 Loves to make lists and keep schedules.
76 - 90 Tries to live a well-organized life.
61 - 75 Is organized.
25 - 60 Is disorganized.
10 - 24 Is very disorganized.
0 - 9 Is completely disorganized.
0x0034 2 short Lawfulness? Out of 100?
Value Description
91 - 100 Has a profound sense of duty and obligation.
76 - 90 Has a strong sense of duty.
61 - 75 Has a sense of duty.
25 - 60 Finds rules confining.
10 - 24 Dislikes contracts and regulations.
0 - 9 Hates rules, contracts and other confining elements in its/his/her life.
0x0036 2 short Excellence Out of 100?
Value Description
91 - 100 Constantly strives for perfection.
76 - 90 Thinks it is incredibly important to strive for excellence.
61 - 75 Strives for excellence.
25 - 60 Doesn't go out of its/his/her way to do more work than necessary.
10 - 24 Very rarely does more work than necessary.
0 - 9 Does the bare minimum necessary to accomplish the task at hand.
0x0038 2 short Willpower Out of 100?
Value Description
91 - 100 Will persist in the face of any difficulty until the task is complete.
76 - 90 Possesses great willpower.
61 - 75 Is self-disciplined.
25 - 60 Is occasionally given to procrastination.
10 - 24 Has very little self-discipline.
0 - 9 Rarely completes tasks and is often overcome by distractions.
0x003A 2 short Cautiousness Out of 100?
Value Description
91 - 100 thinks through every alternatives and their consequences before acting
76 - 90 is extremely cautious
61 - 75 takes time when making decisions
25 - 60 often does the first thing that comes to mind
10 - 24 acts impulsively
0 - 9 always acts without considering alternatives or thinking through possibilities

238 Structure[edit]

Offset Size Type Name Notes
0x0000 4 long
0x0004 2 short
0x0006 2 short
0x0008 4 long

384 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short
0x0004 2 short
0x0008 4 long
0x000C 2 short
0x000E 2 short

394 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short ID
0x0004 4 long Value

448 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short
0x0004 2 short
0x0006 2 short
0x0008 2 short
0x000A 2 short
0x000C 4 long
0x0010 4 long

4C4 Structure[edit]

Offset Size Type Name Notes
0x0000 4 long
0x0004 4 long
0x0008 4 long
0x000C 4 long
0x0010 4 long
0x0014 4 long
0x0018 4 long
0x001C 2 short
0x0020 1 byte

4E4 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0004 4 long
0x0008 2 short
0x000C 4 long

4F4 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0004 4 long
0x0008 2 short
0x000C 4 long

50C Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short
0x0004 4 long

51C Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short
0x0004 2 short

52C Structure[edit]

Offset Size Type Name Notes
0x0000 4 long
0x0004 4 long
0x0008 4 long
0x000C 4 long

53C Structure[edit]

Offset Size Type Name Notes
0x0000 4 long
0x0004 4 long

5A0 Structure[edit]

Offset Size Type Name Notes
0x0000 2 short
0x0002 2 short