mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-19 19:18:50 +01:00
## About The Pull Request replaces all instances of surgical duffels with surgery trays, and all coroner duffels with morgue surgical trays. they contain about the same items, with surgical trays/carts also having bone gel and tape, since their list of holdable items is much more limited. the surgery tray is a diagetic storage unit that displays any surgery tool it's holding in a small, almost world-state esque form on top of it. it can be carried around by dragging it on to yourself, but it will slow you down like an unzipped duffel would. it can also be deployed by activating it, and pulled around, but it will roll noisily in the process. currently, all tool tiers are supported - from alien, to advanced, to cruel, to normal.  here you can see just a few of the possible combinations of tools - default, default morgue, advanced, and alien. but any combination of these tools should work together somewhat cleanly, as you can see here:  also adds a medical razor variant, because otherwise they wouldn't fit with the look of the other tools on the tray, before and after here:  ## Why It's Good For The Game having constantly visible tool storage like this means you don't have to worry about the one tool you need from the bag being stolen - if it is, you can see it before an operation starts, and plan around that! it also gives a little flexibility to mappers - if they'd like a more mobile cart for their medbay, or if they'd like the somewhat stationary tray. it also plain looks cool, and isn't quite as clunky as a duffelbag would be. ## Changelog 🆑 add: adds medical carts and surgery trays image: gives the surgery razor a unique sprite /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com>
130 lines
4.6 KiB
Plaintext
130 lines
4.6 KiB
Plaintext
/obj/item/stack/sticky_tape
|
|
name = "sticky tape"
|
|
singular_name = "sticky tape"
|
|
desc = "Used for sticking to things for sticking said things to people."
|
|
icon = 'icons/obj/tapes.dmi'
|
|
icon_state = "tape"
|
|
var/prefix = "sticky"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
full_w_class = WEIGHT_CLASS_TINY
|
|
item_flags = NOBLUDGEON
|
|
amount = 5
|
|
max_amount = 5
|
|
resistance_flags = FLAMMABLE
|
|
grind_results = list(/datum/reagent/cellulose = 5)
|
|
splint_factor = 0.65
|
|
merge_type = /obj/item/stack/sticky_tape
|
|
var/list/conferred_embed = EMBED_HARMLESS
|
|
///The tape type you get when ripping off a piece of tape.
|
|
var/obj/tape_gag = /obj/item/clothing/mask/muzzle/tape
|
|
greyscale_config = /datum/greyscale_config/tape
|
|
greyscale_colors = "#B2B2B2#BD6A62"
|
|
|
|
/obj/item/stack/sticky_tape/attack_hand(mob/user, list/modifiers)
|
|
if(user.get_inactive_held_item() == src)
|
|
if(is_zero_amount(delete_if_zero = TRUE))
|
|
return
|
|
playsound(user, 'sound/items/duct_tape_rip.ogg', 50, TRUE)
|
|
if(!do_after(user, 1 SECONDS))
|
|
return
|
|
var/new_tape_gag = new tape_gag(src)
|
|
user.put_in_hands(new_tape_gag)
|
|
use(1)
|
|
to_chat(user, span_notice("You rip off a piece of tape."))
|
|
playsound(user, 'sound/items/duct_tape_snap.ogg', 50, TRUE)
|
|
return TRUE
|
|
return ..()
|
|
|
|
/obj/item/stack/sticky_tape/examine(mob/user)
|
|
. = ..()
|
|
. += "[span_notice("You could rip a piece off by using an empty hand.")]"
|
|
|
|
/obj/item/stack/sticky_tape/afterattack(obj/item/target, mob/living/user, proximity)
|
|
if(!proximity)
|
|
return
|
|
|
|
if(!istype(target))
|
|
return
|
|
|
|
. |= AFTERATTACK_PROCESSED_ITEM
|
|
|
|
if(target.embedding && target.embedding == conferred_embed)
|
|
to_chat(user, span_warning("[target] is already coated in [src]!"))
|
|
return .
|
|
|
|
user.visible_message(span_notice("[user] begins wrapping [target] with [src]."), span_notice("You begin wrapping [target] with [src]."))
|
|
playsound(user, 'sound/items/duct_tape_rip.ogg', 50, TRUE)
|
|
|
|
if(do_after(user, 3 SECONDS, target=target))
|
|
playsound(user, 'sound/items/duct_tape_snap.ogg', 50, TRUE)
|
|
use(1)
|
|
if(istype(target, /obj/item/clothing/gloves/fingerless))
|
|
var/obj/item/clothing/gloves/tackler/offbrand/O = new /obj/item/clothing/gloves/tackler/offbrand
|
|
to_chat(user, span_notice("You turn [target] into [O] with [src]."))
|
|
QDEL_NULL(target)
|
|
user.put_in_hands(O)
|
|
return .
|
|
|
|
if(target.embedding && target.embedding == conferred_embed)
|
|
to_chat(user, span_warning("[target] is already coated in [src]!"))
|
|
return .
|
|
|
|
target.embedding = conferred_embed
|
|
target.updateEmbedding()
|
|
to_chat(user, span_notice("You finish wrapping [target] with [src]."))
|
|
target.name = "[prefix] [target.name]"
|
|
|
|
if(isgrenade(target))
|
|
var/obj/item/grenade/sticky_bomb = target
|
|
sticky_bomb.sticky = TRUE
|
|
|
|
return .
|
|
|
|
/obj/item/stack/sticky_tape/super
|
|
name = "super sticky tape"
|
|
singular_name = "super sticky tape"
|
|
desc = "Quite possibly the most mischevious substance in the galaxy. Use with extreme lack of caution."
|
|
prefix = "super sticky"
|
|
conferred_embed = EMBED_HARMLESS_SUPERIOR
|
|
splint_factor = 0.4
|
|
merge_type = /obj/item/stack/sticky_tape/super
|
|
greyscale_colors = "#4D4D4D#75433F"
|
|
tape_gag = /obj/item/clothing/mask/muzzle/tape/super
|
|
|
|
/obj/item/stack/sticky_tape/pointy
|
|
name = "pointy tape"
|
|
singular_name = "pointy tape"
|
|
desc = "Used for sticking to things for sticking said things inside people."
|
|
icon_state = "tape_spikes"
|
|
prefix = "pointy"
|
|
conferred_embed = EMBED_POINTY
|
|
merge_type = /obj/item/stack/sticky_tape/pointy
|
|
greyscale_config = /datum/greyscale_config/tape/spikes
|
|
greyscale_colors = "#E64539#808080#AD2F45"
|
|
tape_gag = /obj/item/clothing/mask/muzzle/tape/pointy
|
|
|
|
/obj/item/stack/sticky_tape/pointy/super
|
|
name = "super pointy tape"
|
|
singular_name = "super pointy tape"
|
|
desc = "You didn't know tape could look so sinister. Welcome to Space Station 13."
|
|
prefix = "super pointy"
|
|
conferred_embed = EMBED_POINTY_SUPERIOR
|
|
merge_type = /obj/item/stack/sticky_tape/pointy/super
|
|
greyscale_colors = "#8C0A00#4F4F4F#300008"
|
|
tape_gag = /obj/item/clothing/mask/muzzle/tape/pointy/super
|
|
|
|
/obj/item/stack/sticky_tape/surgical
|
|
name = "surgical tape"
|
|
singular_name = "surgical tape"
|
|
desc = "Made for patching broken bones back together alongside bone gel, not for playing pranks."
|
|
prefix = "surgical"
|
|
conferred_embed = list("embed_chance" = 30, "pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE)
|
|
splint_factor = 0.5
|
|
custom_price = PAYCHECK_CREW
|
|
merge_type = /obj/item/stack/sticky_tape/surgical
|
|
greyscale_colors = "#70BAE7#BD6A62"
|
|
tape_gag = /obj/item/clothing/mask/muzzle/tape/surgical
|
|
|
|
/obj/item/stack/sticky_tape/surgical/get_surgery_tool_overlay(tray_extended)
|
|
return "tape" + (tray_extended ? "" : "_out")
|