diff --git a/code/datums/elements/butchers_humans.dm b/code/datums/elements/butchers_humans.dm index d919fb31425..52907f2d50e 100644 --- a/code/datums/elements/butchers_humans.dm +++ b/code/datums/elements/butchers_humans.dm @@ -29,7 +29,7 @@ var/obj/item/item = source if(human.stat == DEAD && user.a_intent == INTENT_HARM) - var/obj/item/food/meat/human/newmeat = new /obj/item/food/meat/human(get_turf(human)) + var/obj/item/food/meat/human/newmeat = new human.dna.species.meat_type(get_turf(human)) newmeat.name = human.real_name + newmeat.name newmeat.reagents.add_reagent("nutriment", (human.nutrition / 15) / 3) human.reagents.trans_to(newmeat, round((human.reagents.total_volume) / 3, 1)) diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index cee7554ccc3..3659e98195d 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -37,6 +37,12 @@ name = "-meat" tastes = list("salty meat" = 1) +/obj/item/food/meat/human/robot // Does it make sense? No. Is it funny? Very! + desc = "A slab of robotic meat." + icon_state = "robot_meat" + list_reagents = list("iron" = 3, "oil" = 3) + tastes = list("oily meat" = 1) + /obj/item/food/meat/slab/meatproduct name = "meat product" desc = "A slab of reclaimed and chemically processed meat product." diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 35f1bd89078..5ef5db715dd 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -245,25 +245,22 @@ var/slab_name = occupant.name var/slab_count = 6 - var/slab_type = /obj/item/food/meat/human //gibber can only gib humans on paracode, no need to check meat type var/slab_nutrition = occupant.nutrition / 15 slab_nutrition /= slab_count - for(var/i=1 to slab_count) - var/obj/item/food/meat/new_meat = new slab_type(src) - new_meat.name = "[slab_name] [new_meat.name]" - new_meat.reagents.add_reagent("nutriment", slab_nutrition) - - - if(occupant.reagents) - occupant.reagents.trans_to(new_meat, round(occupant.reagents.total_volume/slab_count, 1)) - if(ishuman(occupant)) var/mob/living/carbon/human/H = occupant var/skinned = H.dna.species.skinned_type if(skinned) new skinned(src) + var/slab_type = H.dna.species.meat_type + for(var/i in 1 to slab_count) + var/obj/item/food/meat/new_meat = new slab_type(src) + new_meat.name = "[slab_name] [new_meat.name]" + new_meat.reagents.add_reagent("nutriment", slab_nutrition) + if(occupant.reagents) + occupant.reagents.trans_to(new_meat, round(occupant.reagents.total_volume/slab_count, 1)) new /obj/effect/decal/cleanable/blood/gibs(src) if(!UserOverride) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index fa8feca5c64..d637a3aac41 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -89,7 +89,10 @@ var/clothing_flags = 0 // Underwear and socks. var/exotic_blood var/own_species_blood = FALSE // Can it only use blood from it's species? + /// Type of skin produced when butchered. var/skinned_type + /// Type of meat produced in the gibber/meating. Distinct from `butcher_results`. + var/meat_type = /obj/item/food/meat var/no_equip // bitflags of slots the race can't equip stuff to var/nojumpsuit = 0 // this is sorta... weird. it basically lets you equip stuff that usually needs jumpsuits without one, like belts and pockets and ids var/can_craft = TRUE // Can this mob using crafting or not? diff --git a/code/modules/mob/living/carbon/human/species/abductor_species.dm b/code/modules/mob/living/carbon/human/species/abductor_species.dm index 101204ba00a..3f9862f383d 100644 --- a/code/modules/mob/living/carbon/human/species/abductor_species.dm +++ b/code/modules/mob/living/carbon/human/species/abductor_species.dm @@ -5,6 +5,7 @@ language = "Abductor Mindlink" default_language = "Abductor Mindlink" eyes = "blank_eyes" + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart, "liver" = /obj/item/organ/internal/liver, diff --git a/code/modules/mob/living/carbon/human/species/diona_species.dm b/code/modules/mob/living/carbon/human/species/diona_species.dm index dfb892d88ec..746ba23bc6f 100644 --- a/code/modules/mob/living/carbon/human/species/diona_species.dm +++ b/code/modules/mob/living/carbon/human/species/diona_species.dm @@ -26,7 +26,6 @@ bodyflags = SHAVED dietflags = DIET_HERB //Diona regenerate nutrition in light and water, no diet necessary, but if they must, they eat other plants *scream taste_sensitivity = TASTE_SENSITIVITY_DULL - skinned_type = /obj/item/stack/sheet/wood blood_color = "#004400" flesh_color = "#907E4A" @@ -34,6 +33,8 @@ reagent_tag = PROCESS_ORG + skinned_type = /obj/item/stack/sheet/wood + meat_type = /obj/item/food/meat/human has_organ = list( "liver" = /obj/item/organ/internal/liver/diona, "lungs" = /obj/item/organ/internal/lungs/diona, diff --git a/code/modules/mob/living/carbon/human/species/drask.dm b/code/modules/mob/living/carbon/human/species/drask.dm index e5d3a2562b4..2c71854ec6c 100644 --- a/code/modules/mob/living/carbon/human/species/drask.dm +++ b/code/modules/mob/living/carbon/human/species/drask.dm @@ -52,6 +52,7 @@ blood_color = "#a3d4eb" butt_sprite = "drask" + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/drask, "lungs" = /obj/item/organ/internal/lungs/drask, diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index f68b88dc320..185bf606ef9 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -23,12 +23,13 @@ blood_color = "#515573" flesh_color = "#137E8F" - skinned_type = /obj/item/stack/sheet/metal blacklisted = TRUE // To prevent golem subtypes from overwhelming the odds when random species changes, only the Random Golem type can be chosen dangerous_existence = TRUE vision_organ = null + skinned_type = /obj/item/stack/sheet/metal + meat_type = /obj/item/food/meat/human has_organ = list( "brain" = /obj/item/organ/internal/brain/golem, "adamantine_resonator" = /obj/item/organ/internal/adamantine_resonator diff --git a/code/modules/mob/living/carbon/human/species/grey.dm b/code/modules/mob/living/carbon/human/species/grey.dm index c07a44078a2..c37d46a8277 100644 --- a/code/modules/mob/living/carbon/human/species/grey.dm +++ b/code/modules/mob/living/carbon/human/species/grey.dm @@ -19,6 +19,7 @@ 4 = "Grey Red" ) + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/grey, "lungs" = /obj/item/organ/internal/lungs/grey, diff --git a/code/modules/mob/living/carbon/human/species/human_species.dm b/code/modules/mob/living/carbon/human/species/human_species.dm index c210dfcc9c9..d953f6d3ff8 100644 --- a/code/modules/mob/living/carbon/human/species/human_species.dm +++ b/code/modules/mob/living/carbon/human/species/human_species.dm @@ -5,6 +5,7 @@ language = "Sol Common" species_traits = list(LIPS) skinned_type = /obj/item/stack/sheet/animalhide/human + meat_type = /obj/item/food/meat/human clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS bodyflags = HAS_ICON_SKIN_TONE | HAS_BODY_MARKINGS dietflags = DIET_OMNI diff --git a/code/modules/mob/living/carbon/human/species/kidan.dm b/code/modules/mob/living/carbon/human/species/kidan.dm index 0de8da4dcba..a23480f75eb 100644 --- a/code/modules/mob/living/carbon/human/species/kidan.dm +++ b/code/modules/mob/living/carbon/human/species/kidan.dm @@ -3,6 +3,7 @@ name_plural = "Kidan" icobase = 'icons/mob/human_races/r_kidan.dmi' language = "Chittin" + meat_type = /obj/item/food/meat/human blurb = "The Kidan are ant-like beings possessing a hardened exoskeleton and strict adherence to social castes. \ They originate from the planet Aurum — a barren bombarded world that suffered after the war with the Solar-Central Compact, having lost decisively after the Battle of Argos.

\ @@ -27,6 +28,7 @@ default_headacc = "Normal Antennae" butt_sprite = "kidan" + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/kidan, "lungs" = /obj/item/organ/internal/lungs/kidan, diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm index cac00c35950..016879fc49f 100644 --- a/code/modules/mob/living/carbon/human/species/machine.dm +++ b/code/modules/mob/living/carbon/human/species/machine.dm @@ -12,7 +12,6 @@ language = "Trinary" remains_type = /obj/effect/decal/remains/robot inherent_factions = list("slime") - skinned_type = /obj/item/stack/sheet/metal // Let's grind up IPCs for station resources! eyes = "blank_eyes" tox_mod = 0 @@ -44,6 +43,8 @@ hunger_icon = 'icons/mob/screen_hunger_machine.dmi' + skinned_type = /obj/item/stack/sheet/metal // Let's grind up IPCs for station resources! + meat_type = /obj/item/food/meat/human/robot has_organ = list( "brain" = /obj/item/organ/internal/brain/mmi_holder/posibrain, "cell" = /obj/item/organ/internal/cell, diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm index 8797ec9f547..ffd4970d0e9 100644 --- a/code/modules/mob/living/carbon/human/species/moth.dm +++ b/code/modules/mob/living/carbon/human/species/moth.dm @@ -39,6 +39,7 @@ 4 = "Purple" ) + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/nian, "lungs" = /obj/item/organ/internal/lungs/nian, diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 58799f9a621..46a0b1eddb8 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -14,7 +14,6 @@ inherent_traits = list(TRAIT_RADIMMUNE, TRAIT_NOHUNGER, TRAIT_BURN_WOUND_IMMUNE) inherent_biotypes = MOB_HUMANOID | MOB_MINERAL forced_heartattack = TRUE // Plasmamen have no blood, but they should still get heart-attacks - skinned_type = /obj/item/stack/sheet/mineral/plasma // We're low on plasma, R&D! *eyes plasmaman co-worker intently* dietflags = DIET_OMNI bodyflags = BALD | SHAVED reagent_tag = PROCESS_ORG @@ -36,6 +35,8 @@ "realizes the existential problem of being made out of plasma!", "shows their true colors, which happens to be the color of plasma!") + skinned_type = /obj/item/stack/sheet/mineral/plasma // We're low on plasma, R&D! *eyes plasmaman co-worker intently* + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/plasmaman, "lungs" = /obj/item/organ/internal/lungs/plasmaman, diff --git a/code/modules/mob/living/carbon/human/species/shadow.dm b/code/modules/mob/living/carbon/human/species/shadow.dm index 92f9f48e14c..481d863b316 100644 --- a/code/modules/mob/living/carbon/human/species/shadow.dm +++ b/code/modules/mob/living/carbon/human/species/shadow.dm @@ -10,6 +10,7 @@ blood_color = "#CCCCCC" flesh_color = "#AAAAAA" + meat_type = /obj/item/food/meat/human has_organ = list( "brain" = /obj/item/organ/internal/brain, "eyes" = /obj/item/organ/internal/eyes/night_vision/nightmare //8 darksight. diff --git a/code/modules/mob/living/carbon/human/species/skeleton_species.dm b/code/modules/mob/living/carbon/human/species/skeleton_species.dm index 56df40353e0..fa574ffaa84 100644 --- a/code/modules/mob/living/carbon/human/species/skeleton_species.dm +++ b/code/modules/mob/living/carbon/human/species/skeleton_species.dm @@ -29,6 +29,7 @@ "is twisting their skull off!") vision_organ = null + meat_type = /obj/item/food/meat/human // They've always done this. has_organ = list( "brain" = /obj/item/organ/internal/brain/golem, ) //Has default darksight of 2. diff --git a/code/modules/mob/living/carbon/human/species/skrell.dm b/code/modules/mob/living/carbon/human/species/skrell.dm index ae149336b3b..272ba99e352 100644 --- a/code/modules/mob/living/carbon/human/species/skrell.dm +++ b/code/modules/mob/living/carbon/human/species/skrell.dm @@ -26,6 +26,7 @@ reagent_tag = PROCESS_ORG butt_sprite = "skrell" + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/skrell, "lungs" = /obj/item/organ/internal/lungs/skrell, diff --git a/code/modules/mob/living/carbon/human/species/slimepeople.dm b/code/modules/mob/living/carbon/human/species/slimepeople.dm index c0a1257d33b..ac76f342b9c 100644 --- a/code/modules/mob/living/carbon/human/species/slimepeople.dm +++ b/code/modules/mob/living/carbon/human/species/slimepeople.dm @@ -49,6 +49,7 @@ //Has default darksight of 2. vision_organ = null + meat_type = /obj/item/food/meat/human has_organ = list( "brain" = /obj/item/organ/internal/brain/slime ) diff --git a/code/modules/mob/living/carbon/human/species/tajaran.dm b/code/modules/mob/living/carbon/human/species/tajaran.dm index 5b5330bb54f..a66999c9936 100644 --- a/code/modules/mob/living/carbon/human/species/tajaran.dm +++ b/code/modules/mob/living/carbon/human/species/tajaran.dm @@ -4,7 +4,6 @@ icobase = 'icons/mob/human_races/r_tajaran.dmi' language = "Siik'tajr" tail = "tajtail" - skinned_type = /obj/item/stack/sheet/fur unarmed_type = /datum/unarmed_attack/claws blurb = "Tajaran hail from the mineral-rich arctic moon of Ahdomai. \ @@ -33,6 +32,8 @@ base_color = "#424242" butt_sprite = "tajaran" + meat_type = /obj/item/food/meat/human + skinned_type = /obj/item/stack/sheet/fur has_organ = list( "heart" = /obj/item/organ/internal/heart/tajaran, "lungs" = /obj/item/organ/internal/lungs/tajaran, diff --git a/code/modules/mob/living/carbon/human/species/unathi.dm b/code/modules/mob/living/carbon/human/species/unathi.dm index 4f1537c1705..9adaf02510f 100644 --- a/code/modules/mob/living/carbon/human/species/unathi.dm +++ b/code/modules/mob/living/carbon/human/species/unathi.dm @@ -5,7 +5,6 @@ icobase = 'icons/mob/human_races/r_lizard.dmi' language = "Sinta'unathi" tail = "sogtail" - skinned_type = /obj/item/stack/sheet/animalhide/lizard unarmed_type = /datum/unarmed_attack/claws primitive_form = /datum/species/monkey/unathi @@ -38,6 +37,8 @@ female_scream_sound = 'sound/effects/unathiscream.ogg' butt_sprite = "unathi" + meat_type = /obj/item/food/meat/human + skinned_type = /obj/item/stack/sheet/animalhide/lizard has_organ = list( "heart" = /obj/item/organ/internal/heart/unathi, "lungs" = /obj/item/organ/internal/lungs/unathi, diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm index 2e533ad79e0..52e2d77d563 100644 --- a/code/modules/mob/living/carbon/human/species/vox.dm +++ b/code/modules/mob/living/carbon/human/species/vox.dm @@ -53,6 +53,7 @@ 8 = "Nebula" ) + meat_type = /obj/item/food/meat/human has_organ = list( "heart" = /obj/item/organ/internal/heart/vox, "lungs" = /obj/item/organ/internal/lungs/vox, diff --git a/code/modules/mob/living/carbon/human/species/vulpkanin.dm b/code/modules/mob/living/carbon/human/species/vulpkanin.dm index fff950cae47..03df4a7e5b3 100644 --- a/code/modules/mob/living/carbon/human/species/vulpkanin.dm +++ b/code/modules/mob/living/carbon/human/species/vulpkanin.dm @@ -5,7 +5,6 @@ language = "Canilunzt" primitive_form = /datum/species/monkey/vulpkanin tail = "vulptail" - skinned_type = /obj/item/stack/sheet/fur unarmed_type = /datum/unarmed_attack/claws blurb = "Vulpkanin are bipedal canid-like beings from the Vazzend binary system, having been forced from their homeworld by a cataclysmic event and scattered throughout the Orion Sector. \ @@ -27,6 +26,8 @@ scream_verb = "yelps" + meat_type = /obj/item/food/meat/human + skinned_type = /obj/item/stack/sheet/fur has_organ = list( "heart" = /obj/item/organ/internal/heart/vulpkanin, "lungs" = /obj/item/organ/internal/lungs/vulpkanin, diff --git a/icons/obj/food/meat.dmi b/icons/obj/food/meat.dmi index 7dc1f9b2b05..743da419e62 100644 Binary files a/icons/obj/food/meat.dmi and b/icons/obj/food/meat.dmi differ