Dwarf Fortress Bug Tracker - Dwarf Fortress |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0007831 | Dwarf Fortress | Dwarf Mode -- Diplomacy | public | 2014-08-04 02:59 | 2014-08-05 10:46 |
|
Reporter | crossmr | |
Assigned To | Toady One | |
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 0.40.06 | |
Target Version | | Fixed in Version | 0.40.07 | |
|
Summary | 0007831: No elf diplomat comes to fort |
Description | Checking C
there is an elf diplomat listed
My fortress is a Duchy.
It's been 2 years since being elevated to barony.
Elves come every year to trade, but no diplomat.
This is a 40.05 save moved to 40.06, but I was a barony before coming to 40.06 and the diplomat didn't come then either.
|
Steps To Reproduce | |
Additional Information | See these notes for specifics:
0007831:0028348
0007831:0028369
|
Tags | No tags attached. |
Relationships | related to | 0007295 | confirmed | Dwarfu | Site has many barons/baronesses | related to | 0007977 | confirmed | Footkerchief | Justice, Sleep Pretension, and Menial Work Exemption ignored for CIV-level nobles |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
2014-08-04 02:59 | crossmr | New Issue | |
2014-08-04 11:56 | Quietust | Note Added: 0028299 | |
2014-08-04 17:09 | crossmr | Note Added: 0028327 | |
2014-08-04 17:15 | Button | Note Added: 0028329 | |
2014-08-04 17:15 | Button | Note Edited: 0028329 | bug_revision_view_page.php?bugnote_id=0028329#r10752 |
2014-08-04 17:16 | Button | Note Edited: 0028329 | bug_revision_view_page.php?bugnote_id=0028329#r10753 |
2014-08-04 17:22 | crossmr | Note Added: 0028330 | |
2014-08-04 21:20 | Quietust | Note Added: 0028348 | |
2014-08-04 21:21 | Quietust | Note Edited: 0028348 | bug_revision_view_page.php?bugnote_id=0028348#r10764 |
2014-08-04 22:27 | Dwarfu | Note Added: 0028358 | |
2014-08-04 22:27 | Dwarfu | Relationship added | related to 0007295 |
2014-08-04 22:27 | Dwarfu | Assigned To | => Dwarfu |
2014-08-04 22:27 | Dwarfu | Status | new => needs feedback |
2014-08-04 22:27 | Dwarfu | Note Added: 0028359 | |
2014-08-05 04:26 | Quietust | Note Added: 0028369 | |
2014-08-05 06:06 | Quietust | Note Edited: 0028369 | bug_revision_view_page.php?bugnote_id=0028369#r10790 |
2014-08-05 06:30 | crossmr | Note Added: 0028378 | |
2014-08-05 06:30 | crossmr | Status | needs feedback => assigned |
2014-08-05 07:07 | Dwarfu | Additional Information Updated | bug_revision_view_page.php?rev_id=10800#r10800 |
2014-08-05 07:07 | Dwarfu | Status | assigned => confirmed |
2014-08-05 08:28 | 4maskwolf | Issue Monitored: 4maskwolf | |
2014-08-05 10:36 | Toady One | Status | confirmed => resolved |
2014-08-05 10:36 | Toady One | Fixed in Version | => Next Version |
2014-08-05 10:36 | Toady One | Resolution | open => fixed |
2014-08-05 10:36 | Toady One | Assigned To | Dwarfu => Toady One |
2014-08-05 10:46 | 4maskwolf | Issue End Monitor: 4maskwolf | |
2014-08-12 14:14 | Footkerchief | Relationship added | related to 0007977 |
Notes |
|
|
Looking at the relevant code, this ought to be working.
At the very beginning of the year, after it checks that you've satisfied the PROGRESS_TRIGGERs, it summons the caravan, then it checks the TREE_CAP_DIPLOMACY raw flag. If it's set, it then examines every history event to see if the civilization has established first contact with you - if it has, it queues up a normal diplomat visit (within a few weeks of the caravan), otherwise it attempts to initiate first contact by summoning the diplomat immediately (and silently) at the map edge.
The only reason I can see this failing would be if one of the following was true:
1. there was no valid map entry point
2. the Elven civilization didn't have a diplomat (position with MAKE_INTRODUCTIONS) assigned and wasn't able to appoint a new one
3. you didn't have a LAND_HOLDER (i.e. a baron, count, or duke) appointed at your fortress
Could you post your savegame? |
|
|
|
|
|
(0028329)
|
Button
|
2014-08-04 17:15
(edited on: 2014-08-04 17:16) |
|
crossmr, did you get the duke via appointment and subsequent elevation, or did one of your dwarves inherit the title?
|
|
|
|
He was appointed as a baron and then elevated. |
|
|
(0028348)
|
Quietust
|
2014-08-04 21:20
(edited on: 2014-08-04 21:21) |
|
I've just attempted to trace through the first contact code, and it failed at the "find dwarf assigned to land_holder position" check.
Looking more closely, it appears that the first contact code is looking for a land holder specific to your local government (civ 2460), but your duke was apparently assigned to your parent civilization (civ 265) instead; your local government does not have those positions, let alone appointment slots for them.
I don't have a 0.34.11 savegame handy at the moment, so I'll have to find one tomorrow to see how it was assigning land holder positions.
|
|
|
(0028358)
|
Dwarfu
|
2014-08-04 22:27
|
|
That (assigning SITE leadership to the parent civ) makes it sound like it could be the cause of 0007295. |
|
|
(0028359)
|
Dwarfu
|
2014-08-04 22:27
|
|
|
|
(0028369)
|
Quietust
|
2014-08-05 04:26
(edited on: 2014-08-05 06:06) |
|
The root of this bug is that the BARON, COUNT, and DUKE positions were changed from [SITE] positions (with a limit of 1) to global positions (which are appointed AS_NEEDED) - back in version 0.34 (and 0.31), the various land holder positions were all site-specific, so the diplomat fix actually worked correctly.
In a fortress from version 0.34.11:
"He is a citizen of The Watchful Rags. He is a member of The Destined Beards of Laboring. He is the baron of The Destined Beards of Laboring."
In the 0.40 savegame posted above:
"He is a citizen of The Ink of Virtues. He is a member of The Bodice of Direction. He is the duke of The Ink of Virtues."
|
|
|
|
However you want to go about it, the diplomat isn't showing up. Either the diplomat code needs to be changed or the noble code needs changed so the diplomat knows he's there. |
|