Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005835Dwarf FortressDwarf Mode -- Thoughts and Preferencespublic2012-04-24 18:272018-01-21 08:06
Assigned Tolethosor 
PlatformOSOS Version
Product Version0.34.07 
Target VersionFixed in Version 
Summary0005835: Dwarf turns into a werecreature the first time, her age/birthday randomly changes
DescriptionDwarven child aged 7 years got bitten by a werepanda and got the curse. First time she turns into a werepanda and then back to the dwarven form, her age and birthday changes randomly. She still shows up as a children, until it's her birthday. Then she grows into an adult peasant.

I've waited another month to see if she ages again when she turns into a werecreature, but she seems to age only when the change happens the first time.

The weirdest part is this: My old 2,2 GHz 32-bit Linux computer ages her about 10-70 years, while the new 3,7 GHz 64-bit Win 7 rig ages her up to 114 MILLION years.
Steps To Reproduce1. Get a dwarf were-cursed.
2. Wait until the dwarf turns into a werecreature and back.
3. Dwarf has randomly aged.
Additional InformationThe game was started with v0.34.02. The dwarf got bitten and cursed while still on v0.34.02. Found out the aging bug when I had already updated to v0.34.07.
Tags0.43.05, age, binary patch, werecreature, werecreatures
Attached Files

- Relationships
has duplicate 0010593resolvedKnight Otu Citizens transforming into Were-tortoises age rapidly 

-  Notes
uggi (reporter)
2012-04-24 18:35

Saved game here: [^]
smjjames (reporter)
2013-11-26 15:50
edited on: 2013-11-26 16:45

114 million! wtfbbq!?

That what the heck moment aside, I've got a dwarf that aged over 100 years from 111 or so to 230. Version 0.34.11

The werebeast cursed dwarf is Rith Olonthatthil. [^]

Also, I'm surprised that the game can actually display ages in the millions, given the timescales....

Steb (reporter)
2014-05-23 08:37

I nearly died laughing when I first saw this error in my fort. It was a little girl aged between 8 and 11, going off her sibling ages. She is now showing up as having the appearance of somebody 104 million years old and being one of the first of her kind.

The first transformation happened inside a cage, in case that matters. Everything was done in 34.11.
UristDaVinci (reporter)
2014-05-29 22:00

I ran Windbg on the creature's birth_year during a transformation with interesting results.

There is a part of the memory (known to some dfhack modders as unit.enemy.unk_850) that is a vector storing data about the castes/creatures that a unit has transformed into. It appears that when you transform, the game looks up the old_year and old_time, as well as appearance info, for that caste/creature that you previously transformed into. So, if you transform into something on occasion then this data is consistent and not re-randomly generated.

The bug is that if the data does not yet exist, the game runs a function normally reserved for randomly generated migrants. This function looks at race, caste, profession (CHILD and BABY are professions so their ages are set to the appropriate baby or child ages). The bug is that this function sets both the birth_year as well as the old_year of the creature to something race and caste appropriate (as well as birth_time and old_time).

Therefore you are given an age relevant to the caste/creature you are transforming into for the first time, and this data may be undefined in the werecreature's procedural raws.
krenshala (reporter)
2016-08-08 18:22

I've had two dwarves become werebears in my current 0.43.05 game and both of their bithdays have changed in this manner. I haven't done the math yet to see if it was a fixed change or not, but both used to show ages of approximately 70 to 80, and they now show an age of 170-something and 230.

I'm not sure if it matters, but both were "one of the first of their kind".
Uzu Bash (reporter)
2017-08-12 10:35

I've looked for a cause in the data structures and seen that their unit data's birth year and seconds have been set back, but their histfig record keeps the correct ones. I've tried correcting them in unit data, and will see whether it changes again next transformation or next birthday.
hawk (reporter)
2018-01-21 08:06

This still happens in 44.05.

- Issue History
Date Modified Username Field Change
2012-04-24 18:27 uggi New Issue
2012-04-24 18:35 uggi Tag Attached: age
2012-04-24 18:35 uggi Tag Attached: werecreature
2012-04-24 18:35 uggi Tag Attached: werecreatures
2012-04-24 18:35 uggi Note Added: 0022373
2013-11-26 15:50 smjjames Note Added: 0024230
2013-11-26 16:45 smjjames Note Edited: 0024230 View Revisions
2014-05-23 08:37 Steb Note Added: 0024767
2014-05-29 22:00 UristDaVinci Note Added: 0024780
2014-06-04 19:11 Footkerchief Tag Attached: Fixed in 0.34.12?
2014-07-07 22:23 Footkerchief Tag Renamed Fixed in 0.34.12? => Fixed in 0.40.01?
2016-08-08 18:22 krenshala Note Added: 0035771
2016-08-08 18:22 krenshala Issue Monitored: krenshala
2016-08-09 06:10 lethosor Assigned To => lethosor
2016-08-09 06:10 lethosor Status new => confirmed
2016-08-09 06:10 lethosor Tag Attached: binary patch
2016-08-09 06:10 lethosor Tag Detached: Fixed in 0.40.01?
2016-08-09 06:11 lethosor Tag Attached: 0.43.05
2017-08-12 10:35 Uzu Bash Note Added: 0036694
2018-01-21 08:06 hawk Note Added: 0037685
2018-02-26 04:22 Knight Otu Relationship added has duplicate 0010593
2018-04-25 16:35 Huntthetroll Issue Monitored: Huntthetroll

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker