Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0006941Dwarf FortressWorld Generation -- Generalpublic2014-07-10 04:012020-03-01 20:30
indigofenix 
Toady One 
normalcrashalways
resolvedfixed 
0.40.01 
0.47.05 
0006941: DEFAULT_TYPE:DARK_FORTRESS incompatible with some POSITION tokens (modding)
If any civ has both DEFAULT_TYPE:DARK_FORTRESS and any POSITION in its entity definition, worldgen crashes immediately after placing civs.
Mod any civ to have both DEFAULT_TYPE:DARK_FORTRESS and a POSITION. Making dwarves build dark fortresses, for instance.
The position tokens identified to cause the crash are CHAT_WORTHY on any position other than the leader, and civ-wide RESPONSIBILITY:LAW_MAKING on any position other than the leader (SITE positions can have the responsibility without causing the crash).
0.40.24, 0.43.05, Intentional/Expected?
has duplicate 0008365resolved Knight Otu Chat worthy nobles defined in a Dark Fortress Civilization crashes the game on World Gen 
has duplicate 0010328resolved Loci DEFAULT_TYPE:DARK_FORTRESS causes worldgen crashes when any position has CHAT_WORTHY 
Issue History
2014-07-10 04:01indigofenixNew Issue
2014-07-10 07:04FootkerchiefTag Attached: Intentional/Expected?
2014-07-14 14:21indigofenixNote Added: 0026363
2014-08-17 02:38Knight OtuNote Added: 0029163
2014-08-17 02:48Knight OtuSummaryDEFAULT_TYPE:DARK_FORTRESS incompatible with any POSITIONs (modding) => DEFAULT_TYPE:DARK_FORTRESS incompatible with some POSITION tokens (modding)
2014-08-17 02:48Knight OtuAdditional Information Updatedbug_revision_view_page.php?rev_id=11189#r11189
2014-09-27 15:28Knight OtuRelationship addedhas duplicate 0008365
2014-09-27 15:28Knight OtuAssigned To => Knight Otu
2014-09-27 15:28Knight OtuStatusnew => confirmed
2015-08-19 18:28KingMurdocTag Attached: 0.40.24
2015-08-19 18:30KingMurdocNote Added: 0032972
2017-11-16 03:58MachinaMandalaNote Added: 0036878
2017-11-16 03:59MachinaMandalaTag Attached: 0.43.05
2017-11-16 05:38FantasticDorfNote Added: 0036879
2017-11-16 13:32LociRelationship addedhas duplicate 0010328
2020-03-01 20:30Toady OneStatusconfirmed => resolved
2020-03-01 20:30Toady OneFixed in Version => Next Version
2020-03-01 20:30Toady OneResolutionopen => fixed
2020-03-01 20:30Toady OneAssigned ToKnight Otu => Toady One

Notes
(0026363)
indigofenix   
2014-07-14 14:21   
Clarified further: it is actually the [CHAT_WORTHY] token. If any position aside from the main law-giver is CHAT_WORTHY in a dark fortress civ, the game crashes immediately in worldgen. Presumably there is some kind of conflict with the demon system, but I don't know how CHAT_WORTHY affects worldgen so I couldn't say how.
(0029163)
Knight Otu   
2014-08-17 02:38   
There's more to the crash - having multiple civ-level positions with RESPONSIBILITY:LAW_MAKING also causes the crash. There might be more, but I kind of doubt it.
(0032972)
KingMurdoc   
2015-08-19 18:30   
This bug is still very much present in 40.24; Dwarf Fortress segfaults and dies after rejecting 0-2 worlds during/immediately after civ placement (the crash has the same timing.)
(0036878)
MachinaMandala   
2017-11-16 03:58   
Still exists in 0.43.05, but only for [CHAT_WORTHY] positions. The creation of other positions doesn't cause the crash.

Testing was done thusly:

(CRASH) Added in noble positions from dwarves.
(CRASH) When removed the landholder positions, but leaving in some CHAT_WORTHY ones.
(WORKS) When removed all chat worthy positions completely.
(WORKS) When all nobles are removed from goblins and VARIABLE_POSITIONS etc is added to dwarves (ensuring that it is not a matter of this causing the crash).
(WORKS) When dwarven nobles are added to goblins with CHAT_WORTHY removed but variable positions are still on.
(WORKS) When the variable positions are completely removed from goblins from 5 above.

This tells me that the CHAT_WORTHY is definitely causing the crash, not the inclusion of other positions. However, CHAT_WORTHY is the only thing that causes the position to be tracked in world gen, meaning that any positions without it are only created at the end of worldgen.

However, what is to be noted is that even after variable positions are removed, the demons still create their own positions when they rule the goblin civ. It's a hard coded behaviour so I doubt it's solveable through modding.
(0036879)
FantasticDorf   
2017-11-16 05:38   
From my own experience modding dark tower sites i can back up the claim that chat_worthy particularly causes crashes when assigned to trying to replace /supplant the goblin general with a static position possibly taken from dwarven RAW's since they are pretty much the same.

Demons (or the prefixed position they fill as a citizen/goblin can fill it in later) are a prefixed [MONARCH] *specifically named* position, which can be seen by causing new site only custom goblin positions to be appointed by the [MONARCH].

However when [CHAT_WORTHY] is added to a new modded subordinate to a variable position via [APPOINTED_BY:GENERAL] (also the same hardcoded name via variable positions) like a lieutenant it does not cause a crash.