Surgery trays, material knife shrapnel extraction, ghetto stitches (#6940)

Also adds a framework for custom bandage descriptions.
This commit is contained in:
Matt Atlas
2019-09-07 14:42:36 +03:00
committed by Erki
parent 27437a423a
commit cf0fc45ab2
8 changed files with 309 additions and 176 deletions
@@ -25,6 +25,35 @@
M = user
return eyestab(M,user)
/obj/item/weapon/material/knife/verb/extract_shrapnel(var/mob/living/carbon/human/H as mob in view(1))
set name = "Extract Shrapnel"
set category = "Object"
set src in usr
if(use_check_and_message(usr))
return
if(!istype(H))
return
for(var/obj/item/weapon/material/shard/shrapnel/S in H.contents)
visible_message("<span class='notice'>[usr] starts carefully digging out some of the shrapnel in [H == usr ? "themselves" : H]...</span>")
to_chat(H, "<font size=3><span class='danger'>It burns!</span></font>")
if(do_mob(usr, H, 100))
S.forceMove(H.loc)
log_and_message_admins("has extracted shrapnel out of [key_name(H)]")
else
break
H.apply_damage(30, HALLOSS)
if(prob(25))
var/obj/item/organ/external/affecting = H.get_organ(H.zone_sel.selecting)
if(affecting)
to_chat(H, "<span class='danger'><font size=2>You feel something rip open in your [affecting.name]!</span></font>")
var/datum/wound/internal_bleeding/I = new(15)
affecting.wounds += I
if(H.can_feel_pain())
H.emote("scream")
/obj/item/weapon/material/knife/ritual
name = "ritual knife"
desc = "The unearthly energies that once powered this blade are now dormant."
@@ -116,4 +145,4 @@
else
to_chat(user, "<span class='notice'>\The [src] can now be concealed.</span>")
update_force()
add_fingerprint(user)
add_fingerprint(user)
@@ -6,6 +6,7 @@
* Surgical Drill
* Scalpel
* Circular Saw
* Tray
*/
/*
@@ -174,3 +175,38 @@
w_class = 2.0
attack_verb = list("attacked", "hit", "bludgeoned")
drop_sound = 'sound/items/drop/scrap.ogg'
/obj/item/weapon/storage/box/tray
name = "surgery tray"
icon = 'icons/obj/storage.dmi'
icon_state = "surgerytray"
force = 2
w_class = 5.0
max_storage_space = 30
attack_verb = list("slammed")
can_hold = list(
/obj/item/weapon/bonesetter,
/obj/item/weapon/cautery,
/obj/item/weapon/circular_saw,
/obj/item/weapon/hemostat,
/obj/item/weapon/retractor,
/obj/item/weapon/scalpel,
/obj/item/weapon/surgicaldrill,
/obj/item/weapon/bonegel,
/obj/item/weapon/FixOVein,
/obj/item/stack/medical/advanced/bruise_pack,
/obj/item/stack/nanopaste
)
starts_with = list(
/obj/item/weapon/bonesetter = 1,
/obj/item/weapon/cautery = 1,
/obj/item/weapon/circular_saw = 1,
/obj/item/weapon/hemostat = 1,
/obj/item/weapon/retractor = 1,
/obj/item/weapon/scalpel = 1,
/obj/item/weapon/surgicaldrill = 1,
/obj/item/weapon/bonegel = 1,
/obj/item/weapon/FixOVein = 1,
/obj/item/stack/medical/advanced/bruise_pack = 1,
)