Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: How to make civs stuck on dying truly extinct?  (Read 4230 times)

Jundavr

  • Bay Watcher
    • View Profile
How to make civs stuck on dying truly extinct?
« on: October 25, 2019, 10:22:49 pm »

How do I use dfhack (or anything else, really) to make a civ truly extinct rather than stuck on "dying"?
This bug report (http://www.bay12games.com/dwarves/mantisbt/view.php?id=9503) contains some info I tried to use while fiddling with dfhack but I've had no luck finding out how to edit said variable that contains the civ population.

Some backstory for flavor:
Spoiler (click to show/hide)
Logged
I was out in the rain. So exasperating!

PatrikLundell

  • Bay Watcher
    • View Profile
Re: How to make civs stuck on dying truly extinct?
« Reply #1 on: October 26, 2019, 04:04:09 am »

According to my investigations a while back (listed in the bug report), the key is to ensure the entity population is set to zero BEFORE world gen finalizes the result: changing it afterwards has no effect.

I've made a couple of scripts to push civs over the brink and to allow you to select them for your starting civ respectively. The utilities thread with the script can be found here: http://www.bay12forums.com/smf/index.php?topic=165084.msg7526484#msg7526484.

You can achieve the same think manually by pausing world gen, modifying the relevant fields, and then allowing the world gen to continue, but it requires some timing on your part.

Also note that DF is bugged when regarding raiding as a dead civ. You can send parties out, but they never reach their destination, nor return, presumably because army movement is a civ task, and if the civ is dead, there is no need to perform any civ level tasks...
Logged

Jundavr

  • Bay Watcher
    • View Profile
Re: How to make civs stuck on dying truly extinct?
« Reply #2 on: October 26, 2019, 01:38:43 pm »

It didn't work...
I ran slabciv then started world generation, then got this at DFhack console:
Code: [Select]
...DFPACK~1\Dwarf Fortress 0.44.12/hack/scripts/slabciv.lua:159: Cannot read field vector<historical_entity*>.entity_raw: not found.
stack traceback:
        [C]: in metamethod '__index'
        ...DFPACK~1\Dwarf Fortress 0.44.12/hack/scripts/slabciv.lua:159: in function <...DFPACK~1\Dwarf Fortress 0.44.12/hack/scripts/slabciv.lua:45>

I can't pause world generation as it seems to affect the script functionality, but the error seems to occur when trying to execute the actual slabbing, 100 years after no population exists.

It happened several times. I ran various 1000 year history worlds where civs died early and the script reported no slabbing, only this error. No idea what's happening. As expected, the civ isn't truly dead and caravans still arrive at autumn. I'm starting to wonder if it's even possible for the "no immigrants beyond first two waves and no caravans" scenario to exist in 44.12, because several people have reported trying this and being unsuccesful.

EDIT: Pressing 'c' to view the world map and 'c' again to view civilizations still show the parent civ. I generated 11 worlds, all of them running slabciv before generation and getting this error, none of them with a truly dead civ.
« Last Edit: October 26, 2019, 02:57:12 pm by Jundavr »
Logged
I was out in the rain. So exasperating!

PatrikLundell

  • Bay Watcher
    • View Profile
Re: How to make civs stuck on dying truly extinct?
« Reply #3 on: October 26, 2019, 03:14:34 pm »

You're right, the script was broken. For some reason line 159 missed "" after ". ". I've corrected the script on in the thread (after correcting and testing it on my PC).
Logged

Jundavr

  • Bay Watcher
    • View Profile
Re: How to make civs stuck on dying truly extinct?
« Reply #4 on: October 28, 2019, 01:21:06 am »

Worked perfectly this time around. Wonderful! Thank you!
Logged
I was out in the rain. So exasperating!

Jundavr

  • Bay Watcher
    • View Profile
Re: How to make civs stuck on dying truly extinct?
« Reply #5 on: September 27, 2022, 12:56:40 pm »

This is a short thread so I'm gonna necro it for context instead of creating a new one. Also, if someone else runs into this while trying to play a dead civ, this post might clear things up.

47.xx seems to have fixed the behavior that allows civs that died during worldgen to stay dead after a player creates a settlement in their name.

First time playing 47.05, I run slabciv as usual and keep generating new pocket worlds until I get one with a slabbed dwarf civ. After that, I embark wherever I please and set up a fort fit to sustain some ~20 dwarves (accounting for the two hardcoded migrant waves). After that it's usually a matter of making them marry, then raising absolute population cap so they have a few children, then waiting for the children to grow, then making the second generation marry, and so on, until I have some 80 or 90 inbred dorfs to do silly shenanigans with.

However, this time around one of my dwarves claimed the title of king "after a friendly discussion with some rivals" as soon as the second year started. Not only that, but a third migration wave arrived.

Just to test things out, without using slabciv I created a pocket world with tons of megabeasts and let it run until all settlements were destroyed, then embarked. First week someone claimed the title of king, as usual from a civ that didn't truly die and still had abstracted population stuck in a limbo.

So it seems that every start of year, the game now performs some sort of check that can revive a civilization if it was previously dead.
Logged
I was out in the rain. So exasperating!