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

Editing 40d:Memory hacking/v0.27.169.33c

Jump to navigation Jump to search

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

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

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

Latest revision Your text
Line 1: Line 1:
__TOC__
 
 
== Addresses ==
 
Feel free to format nicely:
 
 
 
<pre>
 
<pre>
pe_header_timestamp              == 47480E76
 
 
map_data_loc                    == 0145F560
 
map_data_loc                    == 0145F560
 
map_x_count_loc                  == 0145F578
 
map_x_count_loc                  == 0145F578
 
map_y_count_loc                  == 0145F57C
 
map_y_count_loc                  == 0145F57C
 
map_z_count_loc                  == 0145F580
 
map_z_count_loc                  == 0145F580
race_data_vector_loc            == 01460F40
 
 
dwarven_race_index_loc          == 0123EAC8
 
dwarven_race_index_loc          == 0123EAC8
 
main_creature_vector_loc        == 0141DA30
 
main_creature_vector_loc        == 0141DA30
Line 16: Line 9:
 
yet_another_creature_vector_loc  == 0141DA80
 
yet_another_creature_vector_loc  == 0141DA80
 
whathe_another_creature_vector_loc == 0141DA10
 
whathe_another_creature_vector_loc == 0141DA10
number_of_dwarves_loc            == 00789315
 
initial_starting_points_loc      == 007884CA
 
art_defacement_malus_loc        == 007A301F
 
 
current_unit_focus_loc          == 00C36540
 
current_unit_focus_loc          == 00C36540
 
next_creature_id_loc            == 00C0E9EC
 
next_creature_id_loc            == 00C0E9EC
language_vector_loc              == 01461060
+
art_defacement_malus_loc        == 007A301F
starting_skills_limit_loc        == 00785314
 
starting_skills_increment_loc    == 0078522F
 
starting_skills_decrement_loc    == 007853D1
 
 
</pre>
 
</pre>
 
Be advised that creature.happiness_level is now at offset 0x508, implying that a new dword field has been added to the object.
 
 
creature.professionlist is now at 0x45c
 
 
== Game Structures ==
 
=== Creature Structures ===
 
Be warned that this information is out of date while Rick updates it.
 
Some updates by bartavelle
 
==== Creature Structure ====
 
Total of <code>0x664</code> bytes for the 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>
 
| 28
 
| [[Memory hacking#String|string]]
 
| First name
 
|
 
 
|-
 
| <code>0x001C</code>
 
| 28
 
| [[Memory hacking#String|string]]
 
| Nickname
 
|
 
 
|-
 
| <code>0x0038</code>
 
| 28
 
|
 
| Name of the dwarf, list of indexes to the language table, ends with 0xffffffff
 
| The language tables are in vector 0x1462060, index = 0 is dwarfish, points to a vector of strings
 
 
|-
 
| <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.
 
 
(Sphr: I actually found that in 33b, 0x88 is the current type while 0x8a is the original type.  Needs to be double verified by somebody else.)
 
|-
 
| <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
 
|
 
{| border="1" cellpadding="2" width="100%"
 
! width="30%" colspan="2" | Flag
 
! width="70%" | Description
 
 
|-
 
| width="15%" | <code>0x2</code>
 
| width="15%" | 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>0x4</code>
 
|
 
| berserk/melancholy/crazy
 
 
 
|-
 
| <code>0x8</code>
 
|
 
| creator of some artifact
 
 
|-
 
| <code>0x40</code>
 
|
 
| diplomat or merchant or something?
 
 
|-
 
| <code>0x800</code>
 
|
 
| diplomat or merchant or something?
 
 
|-
 
| <code>0x1000</code>
 
|
 
| Zombie
 
 
 
|-
 
| <code>0x2000</code>
 
|
 
| Skeleton (skeleton or zombie counts as undead)
 
 
|-
 
| <code>0x20000 / 0x80000 / 0xc0000</code>
 
|
 
| Invader
 
 
 
|-
 
| <code>0x4000000</code>
 
|
 
| Tame
 
 
|-
 
| <code>0x10000000</code>
 
|
 
| Royal Guard
 
 
|-
 
| <code>0x10000000</code>
 
|
 
| Fortress Guard
 
 
|}
 
 
|-
 
| <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>0x8000</code>
 
|
 
| On the ground
 
|-
 
| <code>0x10000</code>
 
|
 
| Flying
 
 
 
|-
 
| <code>0x20000</code>
 
| 1 << 17
 
| Ready for slaughter.
 
 
|-
 
| <code>0x40000</code>
 
|
 
| From the underworld
 
 
|}
 
 
|-
 
| <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
 
| Long
 
| Civilization
 
|
 
 
|-
 
| <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>0x01D6</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x01D8</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x01DC</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x01E0</code>
 
| 2 + 2 + 2 + 4 + 4
 
|
 
|
 
| Unknown structure.
 
 
|-
 
| <code>0x01F0</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x01F4</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x01F8</code>
 
| 2
 
| short
 
| Strange mood
 
| 0xFFFF means no mood
 
 
|-
 
| <code>0x01FA</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x01FC</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0200</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0204</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0208</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x020C</code>
 
| 4
 
| ptr
 
| Pointer to the owner's creature struct
 
| Work animal related
 
 
|-
 
| <code>0x0210</code>
 
| 4
 
| Long
 
| Set to 0 for assigned war creatures
 
| Work animal related
 
 
|-
 
| <code>0x0214</code>
 
| 2
 
| Short
 
| Id of the owner
 
| Work animal related
 
 
|-
 
| <code>0x0238</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x023A</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x023C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#238 Structure|238 struct]]
 
|
 
| Possibly inventory?
 
 
|-
 
| <code>0x024C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
| Owned objects
 
| Each long is an index into the item vector.
 
 
|-
 
| <code>0x028C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
|
 
 
|-
 
| <code>0x029C</code>
 
| 4
 
| Signed Long
 
| Money
 
| Bank account
 
 
|-
 
| <code>0x02A0</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x02A4</code>
 
| 4
 
| pointer
 
|
 
| Appears to be a pointer to another creature.
 
 
|-
 
| <code>0x02A8</code>
 
| 4
 
| pointer
 
|
 
| It's a pointer to something, don't know what yet.
 
 
|-
 
| <code>0x02AC</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x02AE</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x02B0</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x02B2</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x02B4</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x02B8</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x02BC</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of shorts
 
|
 
|
 
 
|-
 
| <code>0x02CC</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of shorts
 
|
 
|
 
 
|-
 
| <code>0x02DC</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of shorts
 
|
 
|
 
 
|-
 
| <code>0x02EC</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of shorts
 
|
 
|
 
 
|-
 
| <code>0x02FC</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0300</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0304</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0308</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>0x0318</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
| Bodypart related.
 
 
|-
 
| <code>0x032C</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0330</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0334</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0338</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x033C</code>
 
| 4
 
| long
 
| Bleeding level
 
|
 
 
|-
 
| <code>0x0340</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0344</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0348</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x034C</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0350</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0352</code>
 
| 2
 
| short
 
| Nauseousness
 
|
 
 
|-
 
| <code>0x0354</code>
 
| 2
 
| short
 
| Drowning
 
|
 
 
|-
 
| <code>0x0356</code>
 
| 2
 
| short
 
| Stunned
 
|
 
 
|-
 
| <code>0x0358</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x035A</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x035C</code>
 
| 2
 
| short
 
| Webbed
 
| How much a creature is webbed
 
 
|-
 
| <code>0x035E</code>
 
| 2
 
| short
 
| Paralysis
 
|
 
 
|-
 
| <code>0x0360</code>
 
| 12
 
|
 
|
 
|
 
 
|-
 
| <code>0x036C</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x036E</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0370</code>
 
| 4
 
| long
 
| Pain level
 
|
 
 
|-
 
| <code>0x0374</code>
 
| 4
 
| long
 
| Exhaustion
 
|
 
 
|-
 
| <code>0x0378</code>
 
| 4
 
| long
 
| Hunger
 
|
 
 
|-
 
| <code>0x037C</code>
 
| 4
 
| long
 
| Thirst
 
|
 
 
|-
 
| <code>0x0380</code>
 
| 4
 
| long
 
| Drowsiness
 
|
 
 
|-
 
| <code>0x0384</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0388</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#384 Structure|384 struct]]
 
|
 
|
 
 
|-
 
| <code>0x0398</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#394 Structure|394 struct]]
 
|
 
|
 
 
|-
 
| <code>0x03A8</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x03AC</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x03B0</code>
 
| 1
 
|
 
|
 
|
 
 
|-
 
| <code>0x0420</code>
 
| 4
 
|
 
| Strength
 
|
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="80%" | Name
 
|-
 
| 0 || Nothing
 
|-
 
| 1 || Strong
 
|-
 
| 2 || Very Strong
 
|-
 
| 3 || Extremely Strong
 
|-
 
| 4 || Mighty
 
|-
 
| 5 || Ultra-Mighty
 
|}
 
 
|-
 
| <code>0x0424</code>
 
| 4
 
|
 
| Agility
 
|
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="80%" | Name
 
|-
 
| 0 || Nothing
 
|-
 
| 1 || Agile
 
|-
 
| 2 || Very Agile
 
|-
 
| 3 || Extremely Agile
 
|-
 
| 4 || Unbelievably Agile
 
|-
 
| 5 || Perfectly Agile
 
|}
 
 
|-
 
| <code>0x0428</code>
 
| 4
 
|
 
| Toughness
 
|
 
{| border="1" cellpadding="2" width="50%"
 
! width="20%" | Value
 
! width="80%" | Name
 
|-
 
| 0 || Nothing
 
|-
 
| 1 || Tough
 
|-
 
| 2 || Very Tough
 
|-
 
| 3 || Extremely Tough
 
|-
 
| 4 || Unbelievably Tough
 
|-
 
| 5 || Superdwarvenly Tough
 
|}
 
 
|-
 
| <code>0x042C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#Skill Structure|skill struct]]
 
| Skills
 
|
 
 
|-
 
| <code>0x043C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#Like Structure|like struct]]
 
| Likes
 
|
 
 
|-
 
| <code>0x044C</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#448 Structure|448 struct]]
 
|
 
|
 
 
|-
 
| <code>0x045C</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>0x04C4</code>
 
| 4
 
| Total XP
 
|
 
|
 
 
|-
 
| <code>0x04C8</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#4C4 Structure|4C4 struct]]
 
|
 
|
 
 
|-
 
| <code>0x04D8</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
|
 
 
|-
 
| <code>0x04E8</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#4E4 Structure|4E4 struct]]
 
| Recent events
 
|
 
 
|-
 
| <code>0x04F8</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#4F4 Structure|4F4 struct]]
 
|
 
|
 
 
|-
 
| <code>0x0508</code>
 
| 4
 
|
 
| Happiness level
 
| 0 = miserable, >149 = ecstatic
 
 
|-
 
| <code>0x050C</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0510</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#50C Structure|50C struct]]
 
|
 
|
 
 
|-
 
| <code>0x0520</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#51C Structure|51C struct]]
 
|
 
|
 
 
|-
 
| <code>0x0530</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#52C Structure|52C struct]]
 
|
 
|
 
 
|-
 
| <code>0x0540</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#53C Structure|53C struct]]
 
|
 
|
 
 
|-
 
| <code>0x0550</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0554</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0558</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x055C</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x0560</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
|
 
 
|-
 
| <code>0x0570</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
|
 
 
|-
 
| <code>0x0580</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of longs
 
|
 
|
 
 
|-
 
| <code>0x0590</code>
 
| 4
 
| CreatureID
 
| Probable internal ID used by 0x41CD60 in v0.27.169.33d
 
|
 
 
|-
 
| <code>0x0594</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0596</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x0598</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x059A</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x05A0</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x059E</code>
 
| 2
 
|
 
|
 
|
 
 
|-
 
| <code>0x05A0</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x05A4</code>
 
| 16
 
| [[Memory hacking#Vector|vector]] of pointers to [[#5A0 Structure|5A0 struct]]
 
|
 
| Bodypart related.
 
 
|-
 
| <code>0x05B4</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x05B8</code>
 
| 60
 
| [[#Trait Structure|trait struct]]
 
| Traits
 
|
 
 
|-
 
| <code>0x05F4</code>
 
| 4
 
|
 
|
 
|
 
 
|-
 
| <code>0x05F8</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 does not seem to fluctuate.
 
 
|-
 
| <code>0x0008</code>
 
| 4
 
| long
 
| XP
 
| Actual XP in that skill
 
 
|}
 
 
==== 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
 
| Object type?
 
| 0=wood, 1=rocks, ...
 
 
|-
 
| <code>0x0008</code>
 
| 2
 
| short
 
| Material?
 
| when stuff at 0x4 is 1, this controls the rock type
 
 
|-
 
| <code>0x000A</code>
 
| 1
 
| byte
 
| 'When possible'
 
|
 
 
|-
 
| <code>0x000C</code>
 
| 4
 
| long
 
| Padding
 
| Not used
 
 
|}
 
 
==== 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 - 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
 
| ID11=last drink time
 
 
|-
 
| <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 (recent events) ====
 
{| 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
 
| Event type
 
| details @ 7D1AF0
 
 
|-
 
| <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
 
|
 
|
 
 
|-
 
| <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
 
 
|-
 
| <code>0x0000</code>
 
| 4
 
| long
 
|
 
|
 
 
|-
 
| <code>0x0004</code>
 
| 4
 
| long
 
|
 
|
 
 
|-
 
| <code>0x0008</code>
 
| 4
 
| long
 
|
 
|
 
 
|-
 
| <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>0x0000</code>
 
| 4
 
| long
 
|
 
|
 
 
|-
 
| <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>0x0000</code>
 
| 2
 
| short
 
|
 
|
 
 
|-
 
| <code>0x0002</code>
 
| 2
 
| short
 
|
 
|
 
 
|}
 
[[Category:Hacking]]
 

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

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

Cancel Editing help (opens in new window)