Adds rare chance for surgery trays to become medical toolboxes (#88276)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.


![image](https://github.com/user-attachments/assets/a6f6182b-5840-4494-8326-ea88f76e195b)

They work basically the same, just that they can't be rolled around and
don't slow you down when walking around.

Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.

Added a 1 in 1.000.000 chance for a toolbox to have four latches.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

> Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
> They work basically the same, just that they can't be rolled around
and don't slow you down when walking around.

The idea of going to the surgery room and finding a _medical toolbox_
instead of a surgery tray is inexplicably amusing to me.

> Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.

Healers and hurters!

> Added a 1 in 1.000.000 chance for a toolbox to have four latches.

peak absurdity is reached

~~next pr will include brown toolboxes, which clip to your belt~~

credit 2 @SmArtKar for sprites

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
carlarc, smartkar
add: Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
add: Added a 1 in 1.000.000 chance for a toolbox to have four latches.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
This commit is contained in:
carlarctg
2024-12-06 23:56:52 +01:00
committed by GitHub
parent fe72c9db9e
commit e57eddbb32
41 changed files with 197 additions and 102 deletions
@@ -3503,7 +3503,7 @@
/area/ruin/syndibiodome)
"Pw" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 5
},
@@ -98,7 +98,7 @@
/turf/open/floor/iron/white,
/area/ruin/space/has_grav/dangerous_research/medical)
"aZ" = (
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/structure/table,
/turf/open/floor/plating/rust,
/area/ruin/space/has_grav/dangerous_research/medical)
+1 -1
View File
@@ -1015,7 +1015,7 @@
/turf/open/floor/mineral/plastitanium/red,
/area/ruin/space/has_grav/interdyne)
"PD" = (
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/structure/table/reinforced/rglass,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
@@ -484,7 +484,7 @@
/obj/effect/turf_decal/siding/blue{
dir = 6
},
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/turf/open/indestructible/white,
/area/ruin/space/has_grav/powered/biooutpost)
"kh" = (
+1 -1
View File
@@ -701,7 +701,7 @@
/area/ruin/space/has_grav/the_outlet/employeesection)
"rF" = (
/obj/structure/table/reinforced/rglass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/reagent_containers/syringe/lethal/execution,
/turf/open/floor/iron/freezer,
/area/ruin/space/has_grav/the_outlet/researchrooms)
+2 -2
View File
@@ -23,7 +23,7 @@
dir = 1
},
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/indestructible/white,
/area/deathmatch)
"bX" = (
@@ -228,7 +228,7 @@
"iM" = (
/obj/effect/turf_decal/tile/blue/half/contrasted,
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/indestructible/white,
/area/deathmatch)
"iV" = (
+3 -3
View File
@@ -130,7 +130,7 @@
/obj/effect/turf_decal/siding/white,
/obj/machinery/light/small/directional/south,
/obj/structure/table/reinforced,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/turf/open/floor/iron/small,
/area/station/medical/morgue)
"adL" = (
@@ -10716,7 +10716,7 @@
/obj/machinery/camera/autoname/directional/north,
/obj/structure/sign/poster/official/random/directional/north,
/obj/machinery/status_display/ai/directional/west,
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
"dZk" = (
@@ -34878,7 +34878,7 @@
/area/station/tcommsat/server)
"lPO" = (
/obj/structure/table,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = -5
},
/obj/item/wirecutters{
@@ -75220,7 +75220,7 @@
/area/station/service/abandoned_gambling_den/gaming)
"sOp" = (
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/structure/window/reinforced/spawner/directional/west,
/obj/item/clothing/gloves/latex,
/obj/item/clothing/suit/apron/surgical,
@@ -79128,7 +79128,7 @@
dir = 4
},
/obj/structure/table/reinforced,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 4
},
@@ -94584,7 +94584,7 @@
/area/station/cargo/storage)
"xES" = (
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/gloves/latex,
/obj/item/clothing/suit/apron/surgical,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -18953,7 +18953,7 @@
pixel_x = -4;
pixel_y = 3
},
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
},
@@ -25910,7 +25910,7 @@
/area/station/science/xenobiology)
"hvt" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/obj/structure/table/reinforced,
/obj/machinery/requests_console/auto_name/directional/north,
/obj/effect/turf_decal/bot_white,
@@ -42635,7 +42635,7 @@
pixel_x = -4;
pixel_y = 3
},
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
},
+4 -4
View File
@@ -9670,7 +9670,7 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/status_display/evac/directional/west,
/obj/machinery/digital_clock/directional/south,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
"dyr" = (
@@ -12775,7 +12775,7 @@
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
},
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/gloves/latex,
/obj/item/clothing/suit/apron/surgical,
/turf/open/floor/iron/white,
@@ -15055,7 +15055,7 @@
/obj/structure/table/glass,
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/status_display/evac/directional/west,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
"fpj" = (
@@ -61156,7 +61156,7 @@
dir = 8
},
/obj/machinery/light/small/directional/north,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/turf/open/floor/iron/dark/smooth_edge{
dir = 8
},
@@ -423,7 +423,7 @@
"adt" = (
/obj/machinery/defibrillator_mount/directional/south,
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/box/white/corners{
dir = 4
},
@@ -545,7 +545,7 @@
id = "cmoprivacy2";
req_access = list("cmo")
},
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/white/herringbone,
/area/station/command/heads_quarters/cmo)
"aer" = (
@@ -56574,7 +56574,7 @@
"isM" = (
/obj/machinery/defibrillator_mount/directional/south,
/obj/structure/table/glass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/box/white/corners{
dir = 1
},
@@ -62233,7 +62233,7 @@
/obj/structure/table/reinforced,
/obj/effect/turf_decal/trimline/red/corner,
/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/dark/side{
dir = 9
},
@@ -62788,7 +62788,7 @@
/obj/structure/table/glass,
/obj/structure/window/reinforced/spawner/directional/north,
/obj/machinery/digital_clock/directional/east,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/dark/small,
/area/station/science/robotics/augments)
"jqo" = (
@@ -64543,7 +64543,7 @@
/area/station/engineering/supermatter/room/upper)
"jBX" = (
/obj/structure/table/reinforced,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/obj/effect/turf_decal/siding/dark/corner{
dir = 8
},
@@ -120903,7 +120903,7 @@
/area/station/maintenance/fore/lesser)
"rUg" = (
/obj/structure/table/reinforced,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/machinery/status_display/ai/directional/east,
/obj/effect/turf_decal/trimline/dark_red/filled/corner{
dir = 1
+1 -1
View File
@@ -9929,7 +9929,7 @@
/area/centcom/central_command_areas/armory)
"Vh" = (
/obj/structure/table/reinforced,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 10;
pixel_x = 2
},
+3 -3
View File
@@ -38898,7 +38898,7 @@
pixel_y = 8
},
/obj/structure/window/reinforced/spawner/directional/north,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
@@ -62281,7 +62281,7 @@
/obj/structure/table/glass,
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/item/radio/intercom/directional/south,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/white,
/area/station/medical/surgery/fore)
"uPv" = (
@@ -70986,7 +70986,7 @@
dir = 1
},
/obj/item/radio/intercom/directional/north,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/white,
/area/station/medical/surgery/aft)
"yct" = (
+4 -6
View File
@@ -2165,9 +2165,7 @@
/area/station/commons/fitness/recreation)
"aJM" = (
/obj/machinery/light/small/directional/north,
/obj/item/surgery_tray/full/morgue{
is_portable = 0
},
/obj/effect/spawner/surgery_tray/full/morgue/deployed,
/turf/open/floor/iron/dark/textured,
/area/station/medical/morgue)
"aJP" = (
@@ -34388,7 +34386,7 @@
"mhI" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/obj/effect/turf_decal/tile/blue/full,
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/white,
@@ -38134,7 +38132,7 @@
/turf/open/floor/glass/reinforced,
/area/station/security/prison)
"nvT" = (
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
@@ -58322,7 +58320,7 @@
/turf/open/openspace,
/area/station/hallway/secondary/exit/departure_lounge)
"uxw" = (
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/airalarm/directional/west,
/obj/effect/decal/cleanable/dirt/dust,
+1 -1
View File
@@ -361,7 +361,7 @@
dir = 4
},
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/surgery_tray/full/morgue,
/obj/effect/spawner/surgery_tray/full/morgue,
/obj/structure/railing{
dir = 4
},
+1 -1
View File
@@ -749,7 +749,7 @@
/area/shuttle/escape)
"Ko" = (
/obj/structure/table/optable,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/mask/surgical,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/mineral/titanium/white,
+1 -1
View File
@@ -317,7 +317,7 @@
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"ed" = (
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/suit/apron/surgical,
/obj/item/clothing/mask/surgical,
/obj/structure/table/optable,
+1 -1
View File
@@ -844,7 +844,7 @@
/area/shuttle/escape)
"VD" = (
/obj/structure/table/glass,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 6
},
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+1 -1
View File
@@ -418,7 +418,7 @@
/area/shuttle/escape)
"zn" = (
/obj/structure/table,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/showroomfloor,
/area/shuttle/escape)
"zr" = (
+2 -2
View File
@@ -968,8 +968,8 @@
/obj/item/book/manual/wiki/surgery{
pixel_x = -15
},
/obj/item/surgery_tray/full,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full{
pixel_x = 5
},
/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+1 -1
View File
@@ -227,7 +227,7 @@
"W" = (
/obj/structure/table,
/obj/item/clothing/suit/apron/surgical,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"X" = (
+1 -1
View File
@@ -497,7 +497,7 @@
/area/shuttle/escape)
"sF" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 5
},
/obj/structure/rack,
+1 -1
View File
@@ -2447,7 +2447,7 @@
"XV" = (
/obj/structure/table/reinforced,
/obj/item/radio/intercom/directional/east,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/machinery/defibrillator_mount/directional/south,
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+1 -1
View File
@@ -127,7 +127,7 @@
"nC" = (
/obj/structure/table/reinforced/rglass,
/obj/item/defibrillator/loaded,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 13
},
/obj/effect/turf_decal/tile/blue/anticorner{
+1 -1
View File
@@ -438,7 +438,7 @@
"iJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/gloves/fingerless,
/turf/open/floor/iron,
/area/shuttle/escape)
+1 -1
View File
@@ -1000,7 +1000,7 @@
"Sb" = (
/obj/structure/table,
/obj/structure/window/reinforced/spawner/directional/west,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/suit/apron/surgical,
/obj/item/clothing/mask/surgical,
/obj/item/clothing/gloves/latex/nitrile{
+1 -1
View File
@@ -203,7 +203,7 @@
/area/shuttle/escape)
"aX" = (
/obj/structure/table/optable,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/mask/surgical,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
+1 -1
View File
@@ -2530,7 +2530,7 @@
/obj/effect/turf_decal/tile/blue/opposingcorners,
/obj/structure/table,
/obj/item/lazarus_injector,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/item/clothing/gloves/latex/nitrile{
pixel_y = 4
},
+1 -1
View File
@@ -15,7 +15,7 @@
/area/shuttle/hunter/mi13_foodtruck)
"af" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/structure/sign/poster/contraband/hacking_guide/directional/south,
/turf/open/floor/circuit/red/off,
/area/shuttle/hunter/mi13_foodtruck)
+1 -1
View File
@@ -709,7 +709,7 @@
/area/shuttle/ruin/cyborg_mothership)
"Oq" = (
/obj/structure/table,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/effect/turf_decal/bot,
/obj/structure/sink/directional/east,
/obj/item/toy/figure/borg{
+1 -1
View File
@@ -146,7 +146,7 @@
pixel_y = 3
},
/obj/item/reagent_containers/blood,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_x = 2;
pixel_y = 9
},
+1 -1
View File
@@ -104,7 +104,7 @@
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/all_access,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 4
},
/obj/item/clothing/suit/apron/surgical,
+1 -1
View File
@@ -1621,7 +1621,7 @@
/area/shuttle/abandoned/medbay)
"dO" = (
/obj/structure/table,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = 4
},
/obj/effect/decal/cleanable/dirt,
+1 -1
View File
@@ -1652,7 +1652,7 @@
/area/centcom/central_command_areas/holding)
"Mz" = (
/obj/structure/closet,
/obj/item/surgery_tray/full,
/obj/effect/spawner/surgery_tray/full,
/obj/machinery/iv_drip,
/obj/item/emergency_bed,
/obj/item/storage/medkit/regular,
@@ -111,7 +111,7 @@
dir = 5
},
/obj/structure/table/reinforced/plasmarglass,
/obj/item/surgery_tray/full{
/obj/effect/spawner/surgery_tray/full{
pixel_y = -11
},
/obj/item/storage/belt/medical,
+1 -1
View File
@@ -4780,7 +4780,7 @@
"NO" = (
/obj/machinery/airalarm/directional/west,
/obj/structure/broken_flooring/singular/always_floorplane/directional/east,
/obj/item/surgery_tray/full/deployed,
/obj/effect/spawner/surgery_tray/full/deployed,
/turf/open/floor/plating,
/area/virtual_domain)
"NR" = (
@@ -34,6 +34,8 @@
latches = "double_latch"
if(prob(1))
latches = "triple_latch"
if(prob(0.1))
latches = "quad_latch" // like winning the lottery, but worse
update_appearance()
atom_storage.open_sound = 'sound/items/handling/toolbox/toolbox_open.ogg'
atom_storage.rustle_sound = 'sound/items/handling/toolbox/toolbox_rustle.ogg'
@@ -291,6 +293,51 @@
new /obj/item/stack/pipe_cleaner_coil/white(src)
new /obj/item/stack/pipe_cleaner_coil/brown(src)
/obj/item/storage/toolbox/medical
name = "medical toolbox"
desc = "A toolbox painted soft white and light blue. This is getting ridiculous."
icon_state = "medical"
inhand_icon_state = "toolbox_medical"
attack_verb_continuous = list("treats", "surgeries", "tends", "tends wounds on")
attack_verb_simple = list("treat", "surgery", "tend", "tend wounds on")
w_class = WEIGHT_CLASS_BULKY
material_flags = NONE
force = 5 // its for healing
wound_bonus = 25 // wounds are medical right?
/// Tray we steal the og contents from.
var/obj/item/surgery_tray/tray_type = /obj/item/surgery_tray
/obj/item/storage/toolbox/medical/Initialize(mapload)
. = ..()
// what do any of these numbers fucking mean
atom_storage.max_total_storage = 20
atom_storage.max_slots = 11
/obj/item/storage/toolbox/medical/PopulateContents()
var/atom/fake_tray = new tray_type(get_turf(src)) // not in src lest it fill storage that we need for its tools later
for(var/atom/movable/thingy in fake_tray)
thingy.forceMove(src)
qdel(fake_tray)
/obj/item/storage/toolbox/medical/full
tray_type = /obj/item/surgery_tray/full
/obj/item/storage/toolbox/medical/coroner
name = "coroner toolbox"
desc = "A toolbox painted soft white and dark grey. This is getting beyond ridiculous."
icon_state = "coroner"
inhand_icon_state = "toolbox_coroner"
attack_verb_continuous = list("dissects", "autopsies", "corones")
attack_verb_simple = list("dissect", "autopsy", "corone")
w_class = WEIGHT_CLASS_BULKY
material_flags = NONE
force = 17 // it's not for healing
tray_type = /obj/item/surgery_tray/full/morgue
/obj/item/storage/toolbox/medical/coroner/Initialize(mapload)
. = ..()
AddElement(/datum/element/bane, mob_biotypes = MOB_UNDEAD, damage_multiplier = 1) //Just in case one of the tennants get uppity
/obj/item/storage/toolbox/ammobox
name = "ammo canister"
desc = "A metal canister designed to hold ammunition"
+92 -42
View File
@@ -1,3 +1,4 @@
/**
* Surgery Trays
* A storage object that displays tools in its contents based on tier, better tools are more visible.
@@ -16,11 +17,17 @@
/// If true we're currently portable
var/is_portable = TRUE
/// List of contents to populate with in populatecontents()
var/list/starting_items = list()
/// Fills the tray with items it should contain on creation
/obj/item/surgery_tray/proc/populate_contents()
for(var/obj in starting_items)
new obj(src)
update_appearance(UPDATE_ICON)
return
/obj/item/surgery_tray/Initialize(mapload)
/obj/item/surgery_tray/Initialize(mapload, effect_spawner = FALSE)
. = ..()
AddElement(/datum/element/drag_pickup)
create_storage(storage_type = /datum/storage/surgery_tray)
@@ -159,57 +166,100 @@
is_portable = FALSE
/obj/item/surgery_tray/full
starting_items = list(
/obj/item/blood_filter,
/obj/item/bonesetter,
/obj/item/cautery,
/obj/item/circular_saw,
/obj/item/clothing/mask/surgical,
/obj/item/hemostat,
/obj/item/razor/surgery,
/obj/item/retractor,
/obj/item/scalpel,
/obj/item/stack/medical/bone_gel,
/obj/item/stack/sticky_tape/surgical,
/obj/item/surgical_drapes,
/obj/item/surgicaldrill,
)
/obj/item/surgery_tray/full/deployed
is_portable = FALSE
/obj/item/surgery_tray/full/populate_contents()
new /obj/item/blood_filter(src)
new /obj/item/bonesetter(src)
new /obj/item/cautery(src)
new /obj/item/circular_saw(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/hemostat(src)
new /obj/item/razor/surgery(src)
new /obj/item/retractor(src)
new /obj/item/scalpel(src)
new /obj/item/stack/medical/bone_gel(src)
new /obj/item/stack/sticky_tape/surgical(src)
new /obj/item/surgical_drapes(src)
new /obj/item/surgicaldrill(src)
update_appearance(UPDATE_OVERLAYS)
/obj/item/surgery_tray/full/morgue
name = "autopsy tray"
desc = "A Deforest brand surgery tray, made for use in morgues. It is a folding model, \
meaning the wheels on the bottom can be extended outwards, making it a cart."
starting_items = list(
/obj/item/blood_filter,
/obj/item/bonesetter,
/obj/item/cautery/cruel,
/obj/item/circular_saw,
/obj/item/clothing/mask/surgical,
/obj/item/hemostat/cruel,
/obj/item/razor/surgery,
/obj/item/retractor/cruel,
/obj/item/scalpel/cruel,
/obj/item/stack/medical/bone_gel,
/obj/item/stack/sticky_tape/surgical,
/obj/item/surgical_drapes,
/obj/item/surgicaldrill,
)
/obj/item/surgery_tray/full/morgue/populate_contents()
new /obj/item/blood_filter(src)
new /obj/item/bonesetter(src)
new /obj/item/cautery/cruel(src)
new /obj/item/circular_saw(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/hemostat/cruel(src)
new /obj/item/razor/surgery(src)
new /obj/item/retractor/cruel(src)
new /obj/item/scalpel/cruel(src)
new /obj/item/stack/medical/bone_gel(src)
new /obj/item/stack/sticky_tape/surgical(src)
new /obj/item/surgical_drapes(src)
new /obj/item/surgicaldrill(src)
/obj/item/surgery_tray/full/morgue/deployed
is_portable = FALSE
/// Surgery tray with advanced tools for debug
/obj/item/surgery_tray/full/advanced
starting_items = list(
/obj/item/scalpel/advanced,
/obj/item/retractor/advanced,
/obj/item/cautery/advanced,
/obj/item/surgical_drapes,
/obj/item/reagent_containers/medigel/sterilizine,
/obj/item/bonesetter,
/obj/item/blood_filter,
/obj/item/stack/medical/bone_gel,
/obj/item/stack/sticky_tape/surgical,
/obj/item/clothing/mask/surgical,
)
/obj/item/surgery_tray/full/advanced/populate_contents()
new /obj/item/scalpel/advanced(src)
new /obj/item/retractor/advanced(src)
new /obj/item/cautery/advanced(src)
new /obj/item/surgical_drapes(src)
new /obj/item/reagent_containers/medigel/sterilizine(src)
new /obj/item/bonesetter(src)
new /obj/item/blood_filter(src)
new /obj/item/stack/medical/bone_gel(src)
new /obj/item/stack/sticky_tape/surgical(src)
new /obj/item/clothing/mask/surgical(src)
/obj/effect/spawner/surgery_tray
name = "surgery tray spawner"
icon = 'icons/obj/medical/medicart.dmi'
icon_state = "tray"
/// Tray to usually spawn in.
var/tray_to_spawn = /obj/item/surgery_tray
/// Toolbox to sometimes replace the above tray with.
var/rare_toolbox_replacement = /obj/item/storage/toolbox/medical
/// Chance for replacement
var/toolbox_chance = 1
/obj/effect/spawner/surgery_tray/Initialize(mapload)
. = ..()
if(prob(toolbox_chance))
new rare_toolbox_replacement(loc)
return
new tray_to_spawn(loc, TRUE)
/obj/effect/spawner/surgery_tray/full
name = "full surgery tray spawner"
icon_state = "tray"
tray_to_spawn = /obj/item/surgery_tray/full
rare_toolbox_replacement = /obj/item/storage/toolbox/medical/full
/obj/effect/spawner/surgery_tray/full/deployed
name = "full deployed tray spawner"
icon_state = "medicart"
tray_to_spawn = /obj/item/surgery_tray/full
/obj/effect/spawner/surgery_tray/full/morgue
name = "full autopsy tray spawner"
icon_state = "tray"
tray_to_spawn = /obj/item/surgery_tray/full/morgue
rare_toolbox_replacement = /obj/item/storage/toolbox/medical/coroner
toolbox_chance = 3 // tray is rarer, so toolbox is more common
/obj/effect/spawner/surgery_tray/full/morgue/deployed
name = "full deployed autopsy tray spawner"
icon_state = "medicart"
tray_to_spawn = /obj/item/surgery_tray/full/morgue/deployed
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB