diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index ad2ce1be821..a57f340c1f6 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -195,13 +195,22 @@ */ /obj/structure/bed/roller name = "roller bed" + desc = "A portable bed-on-wheels made for transporting medical patients." icon = 'icons/obj/rollerbed.dmi' - icon_state = "down" + icon_state = "rollerbed_down" anchored = 0 surgery_odds = 75 + var/bedtype = /obj/structure/bed/roller + var/rollertype = /obj/item/roller + +/obj/structure/bed/roller/adv + name = "advanced roller bed" + icon_state = "rollerbedadv_down" + bedtype = /obj/structure/bed/roller/adv + rollertype = /obj/item/roller/adv /obj/structure/bed/roller/update_icon() - return // Doesn't care about material or anything else. + return /obj/structure/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench) || istype(W,/obj/item/stack) || istype(W, /obj/item/weapon/wirecutters)) @@ -211,7 +220,7 @@ user_unbuckle_mob(user) else visible_message("[user] collapses \the [src.name].") - new/obj/item/roller(get_turf(src)) + new bedtype(get_turf(src)) spawn(0) qdel(src) return @@ -221,14 +230,16 @@ name = "roller bed" desc = "A collapsed roller bed that can be carried around." icon = 'icons/obj/rollerbed.dmi' - icon_state = "folded" + icon_state = "rollerbed" slot_flags = SLOT_BACK - w_class = ITEMSIZE_LARGE // Can't be put in backpacks. Oh well. + w_class = ITEMSIZE_LARGE + var/rollertype = /obj/item/roller + var/bedtype = /obj/structure/bed/roller /obj/item/roller/attack_self(mob/user) - var/obj/structure/bed/roller/R = new /obj/structure/bed/roller(user.loc) - R.add_fingerprint(user) - qdel(src) + var/obj/structure/bed/roller/R = new bedtype(user.loc) + R.add_fingerprint(user) + qdel(src) /obj/item/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -242,11 +253,19 @@ ..() +/obj/item/roller/adv + name = "advanced roller bed" + desc = "A high-tech, compact version of the regular roller bed." + icon_state = "rollerbedadv" + w_class = ITEMSIZE_NORMAL + rollertype = /obj/item/roller/adv + bedtype = /obj/structure/bed/roller/adv + /obj/item/roller_holder name = "roller bed rack" desc = "A rack for carrying a collapsed roller bed." icon = 'icons/obj/rollerbed.dmi' - icon_state = "folded" + icon_state = "rollerbed" var/obj/item/roller/held /obj/item/roller_holder/New() @@ -279,13 +298,13 @@ M.pixel_y = 6 M.old_y = 6 density = 1 - icon_state = "up" + icon_state = "[initial(icon_state)]_up" else M.pixel_y = 0 M.old_y = 0 density = 0 - icon_state = "down" - + icon_state = "[initial(icon_state)]_down" + update_icon() return ..() /obj/structure/bed/roller/MouseDrop(over_object, src_location, over_location) @@ -294,7 +313,7 @@ if(!ishuman(usr)) return if(buckled_mob) return 0 visible_message("[usr] collapses \the [src.name].") - new/obj/item/roller(get_turf(src)) + new rollertype(get_turf(src)) spawn(0) qdel(src) return diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index b7dd3701904..8b1d70afd42 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -302,7 +302,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/clothing/glasses/hud/security sort_string = "GAAAB" -/datum/design/item/mesons +/datum/design/item/hud/mesons name = "Optical meson scanners design" desc = "Using the meson-scanning technology those glasses allow you to see through walls, floor or anything else." id = "mesons" @@ -437,7 +437,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/stack/nanopaste sort_string = "MBAAA" -/datum/design/item/scalpel_laser1 +/datum/design/item/medical/scalpel_laser1 name = "Basic Laser Scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved." id = "scalpel_laser1" @@ -446,7 +446,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/surgical/scalpel/laser1 sort_string = "MBBAA" -/datum/design/item/scalpel_laser2 +/datum/design/item/medical/scalpel_laser2 name = "Improved Laser Scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks somewhat advanced." id = "scalpel_laser2" @@ -455,7 +455,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/surgical/scalpel/laser2 sort_string = "MBBAB" -/datum/design/item/scalpel_laser3 +/datum/design/item/medical/scalpel_laser3 name = "Advanced Laser Scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks to be the pinnacle of precision energy cutlery!" id = "scalpel_laser3" @@ -464,7 +464,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/surgical/scalpel/laser3 sort_string = "MBBAC" -/datum/design/item/scalpel_manager +/datum/design/item/medical/scalpel_manager name = "Incision Management System" desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps." id = "scalpel_manager" @@ -473,7 +473,7 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/surgical/scalpel/manager sort_string = "MBBAD" -/datum/design/item/bone_clamp +/datum/design/item/medical/bone_clamp name = "Bone Clamp" desc = "A miracle of modern science, this tool rapidly knits together bone, without the need for bone gel." id = "bone_clamp" @@ -482,6 +482,15 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/surgical/bone_clamp sort_string = "MBBAE" +/datum/design/item/medical/advanced_roller + name = "advanced roller bed" + desc = "A more advanced version of the regular roller bed, with inbuilt surgical stabilisers and an improved folding system." + id = "roller_bed" + req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "phoron" = 2000) + build_path = /obj/item/roller/adv + sort_string = "MBBAF" + /datum/design/item/implant materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index 942e20d55a5..af15cc2182f 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index 578418352b7..5bda3bc7a3b 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 5728f1ddf7f..d44cff61fd7 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/obj/rollerbed.dmi b/icons/obj/rollerbed.dmi index 96cef3b01fa..960b11aa853 100644 Binary files a/icons/obj/rollerbed.dmi and b/icons/obj/rollerbed.dmi differ