Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Butchering and Skin  (Read 1144 times)

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Butchering and Skin
« on: October 05, 2011, 11:41:35 pm »

As any novice butcher will tell you, an animal will only produce 1 skin and thus 1 leather upon butchering.  This is because skin has no butcher return specified and thus only gives 1.  Whales and cats both give 1 leather.  Even when a creature is sufficiently large, and killed violently to produce numerous body parts each large enough to have a skin butcher of their own, these body parts still do not produce leather, lending to the "1 corpse 1 leather" rule.

I had a miner kill a badger sow, and the lower body sailed off in an arc.  The butchers and tanners got 2 leather from this.  It's on a fresh embark, I'm certain there's no contamination.  Is it possible that the UPPER/LOWER_BODY is needed to get a skin butcher?

BackgroundGuy

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #1 on: October 05, 2011, 11:47:15 pm »

"Even when a creature is sufficiently large, and killed violently to produce numerous body parts each large enough to have a skin butcher of their own, these body parts still do not produce leather, lending to the "1 corpse 1 leather" rule."
Nope.  the issue is that you made this assumption.  Try it in arena mode, gibbed bits of animals will generally give their own piece of leather.
Logged

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Butchering and Skin
« Reply #2 on: October 05, 2011, 11:50:20 pm »

Really?  This isn't assumption, I could swear that I'd heard Sphalerite say these don't give returns.  But I've been wrong before...

Wannazzaki

  • Bay Watcher
  • [PRONE_TO_RAGE:9001][TOO_HAIRY][ADAMANTINE BEARD]
    • View Profile
Re: Butchering and Skin
« Reply #3 on: October 05, 2011, 11:55:07 pm »

This feels to me like a glaring oversight. Unless of course when ordering one leather object to be made and you get a whale skin, you can get multiple leather objects from said single skin. I don't understand the logistics of the coding so it may be a hard thing to do...but anyway. Yeah. Glaring oversight that enrages this tea drinking khornite! Potentially. Well not really.
Logged
Son of Slaanesh, full of desire, He does cocaine and his head's on fire! DOOOOOOOOOOOOOM Rider! Doom rider! Na na, na na!

CriticallyAshamed

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #4 on: October 06, 2011, 01:06:43 am »

It's the coding. One whale = one whale thong and the rest of the leather discarded I suppose.
Logged

morgoththegreat

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #5 on: October 06, 2011, 01:44:37 am »

I routinely drop my elephants off large towers to get lots of elephant skin on butchering their countless body parts.

Even when a creature is sufficiently large, and killed violently to produce numerous body parts each large enough to have a skin butcher of their own, these body parts still do not produce leather

So basically, this assumption is a bad one.
Logged

astianax

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #6 on: October 06, 2011, 01:52:13 am »

yup, each goblin, troll, or elf nets me a number of related leathers once they're butchered the second time, after the axelords are done with them. and it *does* seem a bit silly that it works that way. maybe things are being updated with the necromancy coming out? it almost sounds like a good time to make those changes
Logged

Ubiq

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #7 on: October 06, 2011, 02:32:34 am »

Really?  This isn't assumption, I could swear that I'd heard Sphalerite say these don't give returns.  But I've been wrong before...

Butchering body parts of animals large enough to give multiple meat and bones will always give skin as well. For instance, a wolf leg will yield a single meat, fat, skin, and bone while a paw might give you a meat and skin.

An intact corpse will never yield more than one skin (even a size 180,000,000 blue whale results in the same amount of skin as a size 30,000 badger), but that's not the same thing. Skin is the only thing that works that way; the other results increase along with size though at different rates for different items. A size 400,000 giant clam (ten meat or so) has four to five shell while a size 1,500,000 glyptodon (about eighty all told) gives you six or seven.
Logged

astianax

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #8 on: October 06, 2011, 04:24:23 am »

interestingly, creatures with exoskeletons work differently, at least for display purposes. when they're butchered or left to rot, they'll give stacks of chitin, similarly to the bones left behind by endoskeletal types. i haven't really done any thorough testing on those stacks being turned into tanned chitins (you need a mod to do this, currently). sometimes it seems that each individual segment is taken out and tanned, sometimes it looks like the whole stack is turned into one tanned chitin. either way, it's something that may be worth looking into. and i totally forgot about this until butchered a few giant ants just a few minutes ago, so figured i'd bring it up here
Logged

Wannazzaki

  • Bay Watcher
  • [PRONE_TO_RAGE:9001][TOO_HAIRY][ADAMANTINE BEARD]
    • View Profile
Re: Butchering and Skin
« Reply #9 on: October 06, 2011, 04:30:42 am »

The idea of some brightly coloured pearlescent FB chitin armour making your dorfs look like little hairy Elton Johns pleases me imensely
Logged
Son of Slaanesh, full of desire, He does cocaine and his head's on fire! DOOOOOOOOOOOOOM Rider! Doom rider! Na na, na na!

Sphalerite

  • Bay Watcher
    • View Profile
    • Drew's Robots and stuff
Re: Butchering and Skin
« Reply #10 on: October 06, 2011, 07:46:38 am »

How it works:

When a creature (or part thereof) is butchered, the game divides the creature into each of its component parts, then looks at the size of each part (determined by taking the creature's total body size and then dividing it up with each body part's relsize determining its share).  Each part with a weight of less than (approximately) 185 is discarded.  Parts which have a size of more than (approximately) 185 give butchering returns.

For each part that gives butchering returns, DF examines the tissue layers of that part and looks at the materials those tissues are made from.  Materials which have the BUTCHER_SPECIAL tag yield stacks of items, with each body part giving one or more item that is added to the stack.  Bones, teeth and shells also generate stacks, despite not having the BUTCHER_SPECIAL tag.  Materials which don't have BUTCHER_SPECIAL, such as skin, chitin, scale, nervous tissue, cartilage, hair, etc, yield one item per butchering job, no matter how many body parts are being processed.  Body parts with the TOTEMABLE tag, such as skulls, are handled differently, and always drop a totem item no matter how small or large the creature was.

When you butcher a corpse, you'll get at most one of each non-meat/fat/bone material in the corpse per butchering job.  If you manage to slice a creature into multiple parts, each one of those can give you a skin or chitin or whatever, provided the parts you're butchering are large enough to give anything at all.  So cutting a buzzard into many pieces isn't going to give you much more than the intact animal would, but splattering an elephant into individual limbs can be very worthwhile for generating elephant leather.

It is possible to mod the material files to cause skin and chitin to drop in stacks like any other meat, but it's not very useful.  The tannery reactions don't respect stack size - an entire stack of raw skin will be processed into a single piece of leather.
Logged
Any intelligent fool can make things bigger and more complex... It takes a touch of genius --- and a lot of courage to move in the opposite direction.

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Butchering and Skin
« Reply #11 on: October 06, 2011, 01:07:43 pm »

hmm-HMM!  Alright then, I'm not up to date with my modding but can a custom reaction recognize a stack size?  A custom tanning reaction could be made to take a stack of BUTCHER_SPECIAL skins, and produce a multiple tanned leathers?

Kweri

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #12 on: October 06, 2011, 01:39:29 pm »

If you have a stack of 10 skins and your reaction requires one skin and produces one tanned hide, you will end up with 10 tanned hides, in my experience. If your reaction requires 9 skins, you only get one tanned hide and the leftover 1 skin is discarded.
Logged

Sphalerite

  • Bay Watcher
    • View Profile
    • Drew's Robots and stuff
Re: Butchering and Skin
« Reply #13 on: October 06, 2011, 01:56:27 pm »

Reactions don't work well with stacked objects.  You'll either end up with a reaction that turns all of the skins into leathers in one go, or (more likely) a reaction that consumes the entire stack and makes only 1 piece of leather.

The weird thing is, the fat to tallow reaction does respect stacks.  Both the tanning reaction and the fat to tallow reaction are defined in reaction_other.  Looking at the reactions, I'm not sure what makes one reaction respect stack sizes and the other not.  Someone should do some !!science!! on this.
« Last Edit: October 06, 2011, 01:58:35 pm by Sphalerite »
Logged
Any intelligent fool can make things bigger and more complex... It takes a touch of genius --- and a lot of courage to move in the opposite direction.

Nidokoenig

  • Bay Watcher
    • View Profile
Re: Butchering and Skin
« Reply #14 on: October 06, 2011, 02:26:13 pm »

With the fat rendering reaction, I think the factor has been identified as the glob modifier. Therefore, it might theoretically be possible to make raw hides into skin globs as an intermediate, then tan those globs. This would need a new material with the tags [STOCKPILE_GLOB_PASTE] and [DO_NOT_CLEAN_GLOB] and a reaction that specified the product as globs.

Logged