Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Death by " Leather"  (Read 3106 times)

Innominate

  • Bay Watcher
    • View Profile
Death by " Leather"
« on: October 08, 2009, 11:55:06 pm »

I've figured out what's killing my dwarves. It isn't the many troglodytes coming from the open-to-surface chasm. It isn't the troll, or the dark gnomes. It's " Leather". What "" is I'm not exactly sure, but it turns out to populate my world as a domestic animal, as migrants keep spawning while wearing it. The problem is that it has an undefined boiling point, which defaults to 0. This means that, upon entering my area (where temperature is in effect), they spontaneously freeze to death in a puff of " Leather" vapour, leaving behind their other clothes and a little heap of dwarf bones.

As amusing as this is, I'm wondering if there's any way to identify "" and remove it from my game. That or harness it for murderous effect. I haven't added any domestic creatures to the game, by the way.
Logged

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile
Re: Death by " Leather"
« Reply #1 on: October 09, 2009, 12:41:05 am »

 Generally these generic materials are a result of modding problems. Either everything is shifted a space up or down thus bumping one material into undefined, a civilization reaction has them take leather from a group they are not supposed to access or just plain creature shenanigans.

 If no modifications have been done then we will need a save file. This could be a problem.
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

Derakon

  • Bay Watcher
    • View Profile
Re: Death by " Leather"
« Reply #2 on: October 09, 2009, 12:47:26 am »

Creatures don't have to be domestic for dwarves to wear their skin. After all, you see dwarves and goblins wearing GCS silk all the time. You should check any mods you've installed (or made) to make certain that all of the creatures have appropriate settings.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Neruz

  • Bay Watcher
  • I see you...
    • View Profile
Re: Death by " Leather"
« Reply #3 on: October 09, 2009, 06:16:53 am »

You've got a duplicate entry somewhere that's causing it to try and use leather that doesn't exist, it defaults that to the defeat leather material, which as it so happens has a boiling point of 0. As boiling is considered the highest possible temperature for something it immediately reduces the temperature of anything it touches to it's boiling temperature and poof, dwarfsicle.

DeathOfRats

  • Bay Watcher
    • View Profile
Re: Death by " Leather"
« Reply #4 on: October 09, 2009, 07:00:25 am »

Creatures don't have to be domestic for dwarves to wear their skin. After all, you see dwarves and goblins wearing GCS silk all the time. You should check any mods you've installed (or made) to make certain that all of the creatures have appropriate settings.

You're right, of course (hunting exists!), but silk != leather.
Logged

The Navigator

  • Bay Watcher
  • [LURKER]
    • View Profile
Re: Death by " Leather"
« Reply #5 on: October 09, 2009, 08:39:28 am »

As amusing as this is, I'm wondering if there's any way to identify "" and remove it from my game. That or harness it for murderous effect. I haven't added any domestic creatures to the game, by the way.

If you don't mind the natural selection on immigrant fashion sense and caravans, there's probably a number of things you could do with it. Otherwise, you might have to turn temp off if you want to keep playing that world. There's no way to remove it without regening.
Logged

Innominate

  • Bay Watcher
    • View Profile
Re: Death by " Leather"
« Reply #6 on: October 10, 2009, 03:08:54 am »

I have indeed modified some aspects of the game. I posted the raw details here. I think the problem is the superfluous body gloss tokens in the body_default file. I forgot I had those in there as I ended up using non-standard parts (antennae and a mouth on the upper body). You'll notice if you look carefully that the body gloss token and the body part for the rostrum (mouth) are both called ROSTRUM. I'll have to regen it seems, which is a pity. Thanks for the help.
Logged

Innominate

  • Bay Watcher
    • View Profile
Re: Death by " Leather"
« Reply #7 on: October 12, 2009, 04:41:51 am »

The " Leather" bug persisted after my attempted fix, but I have finally determined what is causing the problem.

It's the name of my modded creature. Not the name token specifically, but the name in the [CREATURE:name] token. After deleting all tokens from the definition (which compiles fine, by the way), the " Leather" would still appear on the embark list after restarting the game and genning a new world.

When I regenned after deleting the remaining [CREATURE:GIANT_CRAB_MAN] token, the " Leather" persistently failed to appear. Adding the token back and regenning brought it back. So I tried changing the token to [CREATURE:ABC]. No bugged items. Tried [CREATURE:GIANT_CRAB_MAN] again, bug was back. Finally, changed it to [CREATURE:GIANT_CRAB_MON] and the bug disappeared once again.

And that was when it hit me. I'd initially created new files for my modded stuff, but later merged them into the originals. I hadn't changed the creature name despite this. I already knew Dwarf Fortress did a 'compile' of the raws, output to the data/objects folder. I hadn't realised that, while it updates these files between restarts, it does not delete ones that disappear. So it was my phantom files which were causing the problem. I simply deleted all the files in the data/objects folder and the problem went away.

tl;dr: " leather" is caused by duplicate creature entries. Check your raw files and, if the problem isn't there, clear out the data/objects folder and regen.
Logged