diff --git a/code/modules/surgery/nutcracker.dm b/code/modules/surgery/nutcracker.dm new file mode 100644 index 0000000000..6b7b6ee261 --- /dev/null +++ b/code/modules/surgery/nutcracker.dm @@ -0,0 +1,29 @@ +/obj/item/nutcracker + name = "nutcracker" + desc = "It seems oversized... quite much... you could fit a head in it." + icon = 'icons/obj/surgery.dmi' + icon_state = "nutcracker" + force = 10 + flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_NORMAL + attack_verb = list("smashed", "beaten", "crushed") + +/obj/item/nutcracker/attack(mob/living/carbon/M, mob/user) + if(!istype(M)) + return + if(user && imp) + if(M != user) + M.visible_message("[user] is attempting to implant [M].") + + var/turf/T = get_turf(M) + if(T && (M == user || do_mob(user, M, 50))) + if(src && imp) + if(imp.implant(M, user)) + if (M == user) + to_chat(user, "You implant yourself.") + else + M.visible_message("[user] has implanted [M].", "[user] implants you.") + imp = null + update_icon() + else + to_chat(user, "[src] fails to implant [M].") diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 4ab614cf83..1a3b344566 100755 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 12a91dfaa9..f6f46bb72b 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2666,6 +2666,7 @@ #include "code\modules\surgery\limb_augmentation.dm" #include "code\modules\surgery\lipoplasty.dm" #include "code\modules\surgery\mechanic_steps.dm" +#include "code\modules\surgery\nutcracker.dm" #include "code\modules\surgery\organ_manipulation.dm" #include "code\modules\surgery\organic_steps.dm" #include "code\modules\surgery\plastic_surgery.dm"