From 32e868621f8ec6ba45828fe7f6247b353d824fb4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 24 Apr 2015 08:01:07 -0400 Subject: [PATCH] More Gore from Gibbing --- code/modules/mob/living/carbon/human/death.dm | 5 ++++ code/modules/organs/organ.dm | 25 +++++++++++++++++++ .../reagent_containers/food/snacks.dm | 13 ++++++++++ 3 files changed, 43 insertions(+) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 5c5f877ef74..078af523c0f 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -13,6 +13,11 @@ playsound(src.loc, 'sound/effects/gib.ogg', 100, 1, 10) + for(var/obj/item/organ/I in internal_organs) + if(istype(loc,/turf)) + I.removed(src) + I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),5) + for(var/obj/item/organ/external/E in src.organs) if(istype(E, /obj/item/organ/external/chest)) continue diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 74dfff272a4..6b0a26b2520 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -22,6 +22,13 @@ var/list/organ_cache = list() // links chemical IDs to number of ticks for which they'll stay in the blood germ_level = 0 +/obj/item/organ/attack_self(mob/user as mob) + + // Convert it to an edible form, yum yum. + if(!robotic && user.a_intent == "harm") + bitten(user) + return + /obj/item/organ/proc/update_health() return @@ -256,3 +263,21 @@ var/list/organ_cache = list() target.update_eyes() ..() +/obj/item/organ/proc/bitten(mob/user) + + if(robotic) + return + + user << "\blue You take a bite out of \the [src]." + + user.unEquip(src) + var/obj/item/weapon/reagent_containers/food/snacks/organ/O = new(get_turf(src)) + O.name = name + O.icon_state = dead_icon ? dead_icon : icon_state + + if(fingerprints) O.fingerprints = fingerprints.Copy() + if(fingerprintshidden) O.fingerprintshidden = fingerprintshidden.Copy() + if(fingerprintslast) O.fingerprintslast = fingerprintslast + + user.put_in_active_hand(O) + del(src) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3c33b2836cf..8ffb4c7b0fd 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -625,6 +625,19 @@ ..() reagents.add_reagent("nutriment", 1) +/obj/item/weapon/reagent_containers/food/snacks/organ + + name = "organ" + desc = "It's good for you." + icon = 'icons/obj/surgery.dmi' + icon_state = "appendix" + filling_color = "#E00D34" + + New() + ..() + reagents.add_reagent("nutriment", 4) + src.bitesize = 3 + /obj/item/weapon/reagent_containers/food/snacks/appendix //yes, this is the same as meat. I might do something different in future name = "appendix"