Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0006208Dwarf FortressDwarf Mode -- Thoughts and Preferencespublic2012-09-24 12:342014-07-25 15:20
Quietust 
Toady One 
normalminorhave not tried
resolvedfixed 
0.34.11 
0.40.01 
0006208: "Lost grudge to tragedy" happiness penalty is broken
The thought for losing a grudge ("an annoying acquaintance") to tragedy calculates its happiness penalty based on the dwarf's SYMPATHY personality trait; however, there are two rather large bugs in this logic:

1. It's using the trait value as-is (i.e. 0-100 value) instead of translating it to a tier number (i.e. 0-8 value) based on range (as is done with the ALTRUISM trait for giving food/water/rescue), yet it proceeds to treat the value as if it was a tier number.
2. The conversion from tier number to happiness multiplier (of +5 to -5) is completely broken - "if (sympathy > 1) mult = 5; else if (sympathy > 2) mult = 4; else if (sympathy > 3) mult = 3; etc.".

As a result of these two bugs, a completely unsympathetic dwarf will get a very happy thought from the death of a grudge, but any dwarf with even a gain of sympathy (even if it still "would never let an objective judgement be tempered by mercy or pity") will get a strong unhappy thought.

Both of these bugs also affect the logic for displaying the thought text in the unit's Thoughts and Preferences.

These appear to date back to version 0.28.181.40d.
No tags attached.
Issue History
2012-09-24 12:34QuietustNew Issue
2014-07-25 15:20Toady OneNote Added: 0027550
2014-07-25 15:20Toady OneStatusnew => resolved
2014-07-25 15:20Toady OneFixed in Version => 0.40.01
2014-07-25 15:20Toady OneResolutionopen => fixed
2014-07-25 15:20Toady OneAssigned To => Toady One

Notes
(0027550)
Toady One   
2014-07-25 15:20   
Looks like this got cleaned up with 0.40.01 and the new cruelty facet.