mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-27 06:54:18 +01:00
Surgery trays, material knife shrapnel extraction, ghetto stitches (#6940)
Also adds a framework for custom bandage descriptions.
This commit is contained in:
@@ -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,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user