Fixes digitigrade limbs not being butcherable, adds digi bone limb variants (#94842)

## About The Pull Request

As limbs rely on ``limb_id`` to fetch their meat info, digi limbs would
fail to do so and be unbutcherable since they use a unique digi ID from
a separate spritesheet. I've separated biological limb effects into a
separate var (or rather made one that acts an override for ``limb_id``),
so now they should be butcherable.

Butchered limbs now respect bodytypes of the original, and have unique
sprites to match that (currently this only matters for digi legs, plus
monkey creampie face sprites)

<img width="85" height="122" alt="image"
src="https://github.com/user-attachments/assets/a8766a62-e3f5-4265-964f-c48164f1bf6c"
/>

While at it I've also made some non-species limbs have butcher results -
living meat now drops a chunk of synthmeat, while psyker heads drop
their owner's original species' meat.
This commit is contained in:
SmArtKar
2026-01-14 19:25:19 +00:00
committed by GitHub
parent 26dbd3fb61
commit 84519a3b3f
8 changed files with 43 additions and 10 deletions
+1
View File
@@ -309,6 +309,7 @@
/datum/component/butchering/proc/create_replacement_limb(obj/item/bodypart/target, drop_loc)
var/drop_type = target.butcher_replacement
var/obj/item/bodypart/replacement = new drop_type(drop_loc)
replacement.bodyshape = target.bodyshape
replacement.set_initial_damage(target.brute_dam, target.burn_dam)
if (IS_ORGANIC_LIMB(replacement) && target.owner)
replacement.blood_dna_info = target.owner.get_blood_dna_list()