View Issue Details

IDProjectCategoryView StatusLast Update
0006208Dwarf FortressDwarf Mode -- Thoughts and Preferencespublic2014-07-25 15:20
ReporterQuietust Assigned ToToady One  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version0.34.11 
Fixed in Version0.40.01 
Summary0006208: "Lost grudge to tragedy" happiness penalty is broken
DescriptionThe 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.
TagsNo tags attached.

Activities

Toady One

2014-07-25 15:20

administrator   ~0027550

Looks like this got cleaned up with 0.40.01 and the new cruelty facet.

Issue History

Date Modified Username Field Change
2012-09-24 12:34 Quietust New Issue
2014-07-25 15:20 Toady One Note Added: 0027550
2014-07-25 15:20 Toady One Status new => resolved
2014-07-25 15:20 Toady One Fixed in Version => 0.40.01
2014-07-25 15:20 Toady One Resolution open => fixed
2014-07-25 15:20 Toady One Assigned To => Toady One