(minor spoilers ahead)After killing Ecafe Growledobscure Leru and Onul left elves' capital. Onul noticed that Leru was somehow different. He killed so many things that he didn't really care about anything, but for some reason the story of Glazedhollow affected him. They wandered aimlessly for quite some time. Leru cleared few lairs with Fikodugosh's corpse in his right hand and Onuusmok, "Rubbedfire", his steel pickaxe in his left hand. Most of those lairs The Titan cleared by himself, leaving Onul waiting outside. Always returning covered in blood, coldly stating that another night creature or dangerous animal is dead. Onul started to worry about him, he became so detached from the world that it seemed that he didn't care about his life. She often tried to talk to him, but he wasn't talkative.
Few month passed. While traveling they stumbled across some weird shrine. There was a great thermite with a knobby trunk and it was covered in patchy orange feathers. Leru knew about this hill titan. People called it Bog Mintspray the Hairy Larks. According to legends Bog also breathed fire. But not this time. As soon as hill titan opened his mouth, he got hit with Glazedhollow's corpse in the head, mashing his brain into a fine paste. And suddenly a bunch of bluejay people came out of nowhere and began to dance around the corpse. Turned out this titan terrorized them for quite some time. They were so thankful that five of them decided to join Leru and Onul. From this point everything changed. Bluejay people were loud, they liked to sing and dance and also they really loved Leru's stories. They reminded Leru why he started all of this, he did it to help others. And with this rediscovered purpose his adventures became much brighter.
With different feelings and motivation The Titan got back to killing things again. In their adventures they made a couple of new friends: two dingo people, two eagle people and two crow people in addition to bluejay people. Once, when they stopped for the night and Leru was retelling story of Glazedhollow, Darkwing, the crow man, mentioned that if somebody can bring Glazedhollow to life, it's the Gods themselves, and there are places where Gods created some sort of gates that connect their realms with real world. This thought stuck in Leru's mind, and anytime they got in town or hamlet, he asked a lot of questions about surroundings, hoping to find some mentions of those gates.
In one town one guy said something about some weird structure to the north-west. After searching for some time they found a tall round tower made out of black incredibly smooth stone. Leru commanded everybody to stay outside and entered dark opening at the bottom of the tower. In the symbols on the walls Leru recognized attributes of dwarven goddess Kidet. Farther in the corner there was a strange humanoid creature the size of an adult human, and it wasn't happy to see Leru.
The Titan lost the sense of time. It seemed that he was fighting all of those guardians for eternity. One of them managed to hit him in the foot, injuring his ankle. He also found a huge steam monster, who died in one hit releasing clouds of hot steam. And in final room was a single slab with some engraving on it. It said that some demon was released from Underworld, and those who would call him in his real name can ask him anything.
After some time Leru cleared three such vaults And got three slabs. There was no way to communicate with gods who made those vaults, but next plan was to find those demons. If they escaped hell they should know the way to bring Glazedhollow back.
After crossing a bunch of tranches Leru got into a wide buiding. He killed a dozen of trolls to get to the top floor. And there he met their master:
Sadly this demon didn't know how to bring back Glazedhollow, but Leru still decided to keep him as a slave. Later other two demons joined them, but none of them could help Leru with his goal. Those demons were quite scary, one of them excreted dust, which got onto Leru's skin. His whole body got covered in blisters, which still there to this day. All of the demons were not happy to serve some human, but they had no choice.
There was nothing Leru could do to resurrect 'Turkey' and Glazedhollow. Also he got homesick, so they headed to Kingauthor. He also took a lot of twisting metal and blazing metal armor and weapon with him. For some reason Onul decided not to go with them.
Ona, the duchess of Kingauthor and Leru's wife was a little bit bored at home. Nothing really happened while Leru was away. She even demanded a bed in her throne room because there wasn't much to do as a duchess.
But one morning she heard loud distant stomping, she even thought that finally they got some enemies. She ran outside and there were three huge figures above the trees approaching from the east. She, Zefon 'Moonface' and three cave swallow people got ready for a battle. But in the next moment from the edge of the forest showed up Leru, and later a group of bird people. Ona didn't recognize him at first: his whole body was covered in blisters, his lower front teeth were missing and he got a couple of new scars. Leru shortly told them about his quests and promised to explain more later in the tavern. He also told not to be afraid of those demons. Everybody was kind of okay with presence of them, only Ona for some reason disliked Alisa, the gila monster demon:
Bird people and dingo people joined Kingauthor. Leru trimmed the wings of all of the birds, and Zefon 'Moonface', the main architect of Kingauthor started working on the project. Alisa, the gila monster monster, Eti, the green brute and Oggez, the warthog brute also joined fortress and were not hostile, at least as long as Leru is there.
Almost everybody was involved in the project, some were working on production of clear glass, some were shaping stone into useful blocks and some were making golden statues. Food and clothing industries were also running to support the needs of the fortress. In the meantime Likot Rockpools made a discovery:
And later even wrote a manual about sundial:
Ona gave birth to another son:
Even though he is human, he was born with a long beard in a dwarven fashion.
Bluejay people really liked local tavern, and often danced and sang there. Green brute Eti enjoys their singing.
And for about one and a half years they were building. And it's finally done! Glazedhollow's and 'Turkey's Tombs:
Main base made in clear glass, statues made out of gabbro, schist, microcline, marble and cinnabar blocks.
In each tomb there are golden statues in a circle surrounding platinum sarcophagus and microcline memorial slab.
In a platinum coffin rests Glazedhollow, who wasn't just a brave turkey when he was alive, but also a deadly weapon after death:
And some more pictures of their glorious statues:
Rest in peace Glazedhollow and 'Turkey', at least now you are forever together.
I also got some metals:
My plan is to outfit everyone in the military with twisting and blazing metal. I also want to use two of the demons in my military (one with deadly dust is going to be really annoying as a soldier). With dfhack I can even make some armor for them.
For those who interested in technical details of certain things and how it was done:
All of Leru's companions were added using a script, I don't recommend using it on non historical figures, while it makes them historical,
I didn't include nemesis record and it may cause problems. It also wouldn't work for hostile creatures (It will make them controllable, but they remain hostile). For historical figures it works fine as far as I know. Demons were not hostile when I unretired. There were some known bugs on unretirement. Including shit ton of merchants, their animals and guards. I made a script to remove them, but it's not really straightforward in usage, you basicly have to manually choose who should be removed (while merchants can be differentiated by merchant profession, there is no way that I am aware of to differentiate dwarven caravan guards from long term residents). But if anyone needs such script I can post it with some explanation. Onul was left outside of the fortress, because she was hostile after unretirement (probably because she killed 3 of my fly companions when I was cutting their wings). I didn't want her to die, and she is not hostile in adventure mode, so she just will be waiting off the map. To make tombs resting places specifically for Glazedhollow and 'Turkey' I had to add new units, make it the same historical figure as Glazedhollow, add corpse item to corpse_parts, add nemesis, make them join fortress, change race to dwarf, assign tomb, then change race to turkey and add 'dead' flag. Now there are two dead turkey listed in dead/missing screen, and corpses automatically hauled to coffins. For corpses dead_dwarf flag also should be set to true. There was one bug with legends mode: for some reason turkeys died twice. First time they were killed, then they died from old age, when Leru came to Goldencut. Because of that I edited engravings on slabs. As you can see I'm okay with cheating as long as it's justified or makes a better story. I think this story is finished here. I will play this fort more, but probably wouldn't focus on Glazedhollow and 'Turkey' story anymore.
Script for making creatures controllable in fortress mode:
local utils = require 'gui'
function addcitizen()
local citizen
citizen=dfhack.gui.getSelectedUnit()
if citizen==nil then
qerror("No unit selected")
end
if citizen.hist_figure_id==-1 then
makeHistoricalFigure(citizen)
print("Unit is not a historical figure. Creating new historical figure with id: "..citizen.hist_figure_id)
end
local civId=df.global.ui.civ_id
local govId=df.global.ui.group_id
citizen.flags1.merchant=false
citizen.flags1.forest=false
citizen.flags1.diplomat=false
citizen.flags2.visitor=false
citizen.flags2.resident=false
citizen.flags3.unk31=false
citizen.civ_id=civId
local histfig=df.historical_figure.find(citizen.hist_figure_id)
local isCiv
local isGov
for i=#histfig.entity_links - 1, 0, -1 do
if histfig.entity_links[i].entity_id==civId then
histfig.entity_links[i].link_strength=100
print("Civ entity link is already exist")
isCiv=true
end
if histfig.entity_links[i].entity_id==govId then
histfig.entity_links[i].link_strength=100
print("Gov entity link is already exist")
isGov=true
end
end
local hf_event_id
if isCiv==nil then
histfig.entity_links:insert("#",{new=df.histfig_entity_link_memberst,entity_id=civId,link_strength=100})
print("Civ entity link added. Joining historical event added.")
hf_event_id=df.global.hist_event_next_id
df.global.hist_event_next_id=df.global.hist_event_next_id+1
df.global.world.history.events:insert("#", {new=df.history_event_add_hf_entity_linkst,year=citizen.birth_year,
seconds=citizen.birth_time,id=hf_event_id,civ=civId,histfig=histfig.id,link_type=0})
end
if isGov==nil then
histfig.entity_links:insert("#",{new=df.histfig_entity_link_memberst,entity_id=govId,link_strength=100})
print("Gov entity link added. Joining historical event added.")
hf_event_id=df.global.hist_event_next_id
df.global.hist_event_next_id=df.global.hist_event_next_id+1
df.global.world.history.events:insert("#", {new=df.history_event_add_hf_entity_linkst,year=citizen.birth_year,
seconds=citizen.birth_time,id=hf_event_id,civ=govId,histfig=histfig.id,link_type=0})
end
local is_hfid=false
local is_hf=false
for i=0, #df.historical_entity.find(civId).histfig_ids-1 do
if df.historical_entity.find(civId).histfig_ids[i]==histfig.id then
print("Already in the civ list of histfig_ids")
is_hfid=true
end
if df.historical_entity.find(civId).hist_figures[i]==histfig then
print("Already in the civ list of hist_figures")
is_hf=true
end
end
if is_hfid==false then
df.historical_entity.find(civId).histfig_ids:insert("#", histfig.id)
print("Added to civ list histfig_ids")
end
if is_hf==false then
df.historical_entity.find(civId).hist_figures:insert("#", histfig)
print("Added to civ list hist_figures")
end
is_hfid=false
is_hf=false
for i=0, #df.historical_entity.find(govId).histfig_ids-1 do
if df.historical_entity.find(govId).histfig_ids[i]==histfig.id then
print("Already in the gov list of histfig_ids")
is_hfid=true
end
if df.historical_entity.find(govId).hist_figures[i]==histfig then
print("Already in the gov list of hist_figures")
is_hf=true
end
end
if is_hfid==false then
df.historical_entity.find(govId).histfig_ids:insert("#", histfig.id)
print("Added to gov list histfig_ids")
end
if is_hf==false then
df.historical_entity.find(govId).hist_figures:insert("#", histfig)
print("Added to gov list hist_figures")
end
histfig.civ_id=civId
local color=_G["COLOR_YELLOW"]
dfhack.gui.showAnnouncement(dfhack.TranslateName(dfhack.units.getVisibleName(citizen)).." joined your fortress.", color)
end
--copied from create-unit
function makeHistoricalFigure(unit)
local hf=df.historical_figure:new()
hf.id=df.global.hist_figure_next_id
hf.race=unit.race
hf.caste=unit.caste
hf.profession = unit.profession
hf.sex = unit.sex
hf.orientation_flags:assign(unit.status.current_soul.orientation_flags)
df.global.hist_figure_next_id=df.global.hist_figure_next_id+1
hf.appeared_year = df.global.cur_year
hf.born_year = unit.birth_year
hf.born_seconds = unit.birth_time
hf.curse_year = unit.curse_year
hf.curse_seconds = unit.curse_time
hf.birth_year_bias = unit.birth_year_bias
hf.birth_time_bias = unit.birth_time_bias
hf.old_year = unit.old_year
hf.old_seconds = unit.old_time
hf.died_year = -1
hf.died_seconds = -1
hf.name:assign(unit.name)
hf.civ_id = unit.civ_id
hf.population_id = unit.population_id
hf.breed_id = -1
hf.unit_id = unit.id
df.global.world.history.figures:insert("#",hf)
hf.info = df.historical_figure_info:new()
hf.info.unk_14 = df.historical_figure_info.T_unk_14:new()
hf.info.unk_14.unk_18 = -1; hf.info.unk_14.unk_1c = -1
hf.info.skills = {new=true}
unit.flags1.important_historical_figure = true
unit.flags2.important_historical_figure = true
unit.hist_figure_id = hf.id
unit.hist_figure_id2 = hf.id
end
addcitizen()