diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index ff7b21dc7bd..14b1203413d 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -880,6 +880,24 @@ desc = "It's just an ordinary magical box." icon_state = "box_wizard" +/obj/item/storage/box/breaching + name = "breaching charges" + desc = "Contains three T4 thermal breaching charges." + icon_state = "flashbang" + +/obj/item/storage/box/breaching/populate_contents() + for(var/I in 1 to 3) + new /obj/item/grenade/plastic/c4/thermite(src) + +/obj/item/storage/box/mindshield + name = "boxed mindshield kit" + desc = "Contains everything needed to secure the minds of those around you." + +/obj/item/storage/box/mindshield/populate_contents() + for(var/I in 1 to 3) + new /obj/item/implantcase/mindshield(src) + new /obj/item/implanter/mindshield(src) + #undef NODESIGN #undef NANOTRASEN #undef SYNDI 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 fe21ec83b93..19c961df5e1 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -81,6 +81,9 @@ resistance_flags = NONE anchored = FALSE comfort = 1 + var/icon_up = "up" + var/icon_down = "down" + var/folded = /obj/item/roller /obj/structure/bed/roller/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/roller_holder)) @@ -92,30 +95,38 @@ user_unbuckle_mob(buckled_mobs[1], user) else user.visible_message("[user] collapses \the [name].", "You collapse \the [name].") - new/obj/item/roller(get_turf(src)) + new folded(get_turf(src)) qdel(src) else return ..() /obj/structure/bed/roller/post_buckle_mob(mob/living/M) density = TRUE - icon_state = "up" + icon_state = icon_up ..() /obj/structure/bed/roller/post_unbuckle_mob(mob/living/M) density = FALSE - icon_state = "down" + icon_state = icon_down ..() +/obj/structure/bed/roller/holo + name = "holo stretcher" + icon_state = "holo_extended" + icon_up = "holo_extended" + icon_down = "holo_extended" + folded = /obj/item/roller/holo + /obj/item/roller name = "roller bed" desc = "A collapsed roller bed that can be carried around." icon = 'icons/obj/rollerbed.dmi' icon_state = "folded" - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY + var/extended = /obj/structure/bed/roller /obj/item/roller/attack_self(mob/user) - var/obj/structure/bed/roller/R = new /obj/structure/bed/roller(user.loc) + var/obj/structure/bed/roller/R = new extended(user.loc) R.add_fingerprint(user) qdel(src) @@ -137,6 +148,17 @@ forceMove(RH) RH.held = src +/obj/item/roller/holo + name = "holo stretcher" + desc = "A retracted hardlight stretcher that can be carried around." + icon_state = "holo_retracted" + w_class = WEIGHT_CLASS_SMALL + origin_tech = "magnets=3;biotech=4;powerstorage=3" + extended = /obj/structure/bed/roller/holo + +/obj/item/roller/holo/attackby(obj/item/W, mob/user, params) + return + /obj/structure/bed/roller/MouseDrop(over_object, src_location, over_location) ..() if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src))) @@ -145,7 +167,7 @@ if(has_buckled_mobs()) return 0 usr.visible_message("[usr] collapses \the [name].", "You collapse \the [name].") - new/obj/item/roller(get_turf(src)) + new folded(get_turf(src)) qdel(src) /obj/item/roller_holder diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index d6073d3d271..0ac05d5209c 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/silent = FALSE //To beep or not to beep, that is the question var/honkamt = 0 //How many honks left when infected with honk.exe var/mimeamt = 0 //How many silence left when infected with mime.exe - var/detonate = 1 // Can the PDA be blown up? + var/detonate = TRUE // Can the PDA be blown up? var/ttone = "beep" //The ringtone! var/list/ttone_sound = list("beep" = 'sound/machines/twobeep.ogg', "boom" = 'sound/effects/explosionfar.ogg', diff --git a/code/modules/pda/ai.dm b/code/modules/pda/ai.dm index bfbecad1b5b..caebaa35e91 100644 --- a/code/modules/pda/ai.dm +++ b/code/modules/pda/ai.dm @@ -1,7 +1,7 @@ // Special AI/pAI PDAs that cannot explode. /obj/item/pda/silicon icon_state = "NONE" - detonate = 0 + detonate = FALSE ttone = "data" /obj/item/pda/silicon/proc/set_name_and_job(newname as text, newjob as text, newrank as null|text) diff --git a/code/modules/pda/pdas.dm b/code/modules/pda/pdas.dm index 3c961103b20..f39bea4200d 100644 --- a/code/modules/pda/pdas.dm +++ b/code/modules/pda/pdas.dm @@ -74,7 +74,7 @@ /obj/item/pda/captain default_cartridge = /obj/item/cartridge/captain icon_state = "pda-captain" - detonate = 0 + detonate = FALSE //toff = 1 /obj/item/pda/heads/ntrep @@ -90,6 +90,8 @@ icon_state = "pda-h" /obj/item/pda/heads/ert + default_cartridge = /obj/item/cartridge/centcom + detonate = FALSE /obj/item/pda/heads/ert/engineering icon_state = "pda-engineer" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 5ef447a77ea..48c6690ed61 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -62,6 +62,16 @@ build_path = /obj/item/handheld_defibrillator category = list("Medical") +/datum/design/holostretcher + name = "Holo Strecher" + desc = "A hardlight projector for transporting patients." + id = "holo_stretcher" + req_tech = list("magnets" = 6, "powerstorage" = 4) + build_path = /obj/item/roller/holo + build_type = PROTOLATHE + materials = list(MAT_METAL = 1000, MAT_SILVER = 500, MAT_GLASS = 500, MAT_DIAMOND = 200) + category = list("Medical") + /datum/design/defib name = "Defibrillator" desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm index 412c48fc4bd..57b8705aeec 100644 --- a/code/modules/response_team/ert_outfits.dm +++ b/code/modules/response_team/ert_outfits.dm @@ -63,7 +63,7 @@ backpack_contents = list( /obj/item/clothing/head/helmet/ert/command = 1, /obj/item/restraints/handcuffs = 1, - /obj/item/storage/lockbox/mindshield = 1, + /obj/item/storage/box/mindshield = 1, /obj/item/flashlight = 1 ) @@ -84,7 +84,7 @@ /obj/item/door_remote/omni = 1, /obj/item/restraints/handcuffs = 1, /obj/item/clothing/shoes/magboots = 1, - /obj/item/storage/lockbox/mindshield = 1 + /obj/item/storage/box/mindshield = 1 ) implants = list(/obj/item/implant/mindshield, @@ -101,7 +101,7 @@ backpack_contents = list( /obj/item/restraints/handcuffs = 1, - /obj/item/storage/lockbox/mindshield = 1, + /obj/item/storage/box/mindshield = 1, /obj/item/camera_bug/ert = 1, /obj/item/door_remote/omni = 1, /obj/item/ammo_box/magazine/enforcer/lethal = 2 @@ -138,7 +138,7 @@ glasses = /obj/item/clothing/glasses/hud/security/sunglasses mask = /obj/item/clothing/mask/gas/sechailer - r_hand = /obj/item/gun/energy/laser + l_hand = /obj/item/gun/energy/laser backpack_contents = list( /obj/item/clothing/head/helmet/ert/security = 1, @@ -156,7 +156,7 @@ glasses = /obj/item/clothing/glasses/sunglasses mask = /obj/item/clothing/mask/gas/sechailer - r_hand = /obj/item/gun/projectile/automatic/lasercarbine + l_hand = /obj/item/gun/projectile/automatic/lasercarbine cybernetic_implants = list( /obj/item/organ/internal/cyberimp/arm/flash, @@ -186,13 +186,13 @@ l_pocket = /obj/item/restraints/legcuffs/bola/energy r_pocket = /obj/item/extinguisher/mini - r_hand = /obj/item/gun/energy/immolator/multi + l_hand = /obj/item/gun/energy/immolator/multi backpack_contents = list( /obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/flashbangs = 1, /obj/item/whetstone = 1, - /obj/item/storage/lockbox/t4 = 1 + /obj/item/storage/box/breaching = 1 ) cybernetic_implants = list( @@ -323,7 +323,7 @@ /obj/item/storage/firstaid/adv = 1, /obj/item/storage/firstaid/doctor = 1, /obj/item/storage/box/autoinjectors = 1, - /obj/item/roller = 1, + /obj/item/roller/holo = 1, /obj/item/storage/pill_bottle/ert = 1, /obj/item/flashlight = 1, /obj/item/handheld_defibrillator = 1 @@ -351,10 +351,16 @@ /obj/item/storage/firstaid/doctor = 1, /obj/item/storage/firstaid/adv = 1, /obj/item/storage/box/autoinjectors = 1, - /obj/item/roller = 1, + /obj/item/roller/holo = 1, /obj/item/clothing/shoes/magboots = 1, /obj/item/bodyanalyzer = 1, - /obj/item/handheld_defibrillator = 1 + /obj/item/handheld_defibrillator = 1, + /obj/item/storage/pill_bottle/painkillers = 1 + ) + + cybernetic_implants = list( + /obj/item/organ/internal/cyberimp/arm/surgery, + /obj/item/organ/internal/cyberimp/chest/nutriment ) implants = list(/obj/item/implant/mindshield, @@ -379,9 +385,9 @@ /obj/item/storage/firstaid/doctor = 1, /obj/item/storage/firstaid/adv = 1, /obj/item/extinguisher/mini = 1, - /obj/item/roller = 1, - /obj/item/handheld_defibrillator = 1 - + /obj/item/roller/holo = 1, + /obj/item/handheld_defibrillator = 1, + /obj/item/storage/pill_bottle/painkillers = 1 ) cybernetic_implants = list( diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 818a455d04d..47591a2325e 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -147,12 +147,13 @@ var/turf/T = get_turf(M) if(locate(/obj/machinery/optable, T)) return 1 - else if(locate(/obj/structure/table, T)) + if(locate(/obj/structure/bed/roller/holo, T)) + return 0.9 + if(locate(/obj/structure/table, T) || locate(/obj/structure/bed/roller, T)) return 0.8 - else if(locate(/obj/structure/bed, T)) + if(locate(/obj/structure/bed, T)) return 0.7 - else - return 0.5 + return 0.5 //check if mob is lying down on something we can operate him on. /proc/can_operate(mob/living/carbon/M) diff --git a/icons/obj/rollerbed.dmi b/icons/obj/rollerbed.dmi index 25e00bd0eff..1f700064fc7 100644 Binary files a/icons/obj/rollerbed.dmi and b/icons/obj/rollerbed.dmi differ