diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 9d3315d9e05..29cf49a981c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -302,6 +302,11 @@ About the new airlock wires panel: flick("door_deny", src) return +/obj/machinery/door/airlock/examine(mob/user) + ..() + if(emagged) + to_chat(user, "Its access panel is smoking slightly.") + /obj/machinery/door/airlock/attack_ghost(mob/user) if(p_open) wires.Interact(user) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 86c133408cf..8d87860705c 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -181,8 +181,6 @@ sleep(6) open() emagged = 1 - if(istype(src, /obj/machinery/door/airlock)) - desc = "Its access panel is smoking slightly." return 1 /obj/machinery/door/blob_act() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 180d35bcbe0..ccb1ed43c76 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -68,13 +68,13 @@ var/global/list/datum/stack_recipe/metal_recipes = list( new /datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), - new /datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), ), 4), null, @@ -127,7 +127,11 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list( new /datum/stack_recipe("Surgery Table", /obj/machinery/optable, 5, time = 50, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1), new /datum/stack_recipe("Mass Driver frame", /obj/machinery/mass_driver_frame, 3, time = 50, one_per_turf = 1), - new /datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 4, time = 50, one_per_turf = 1, on_floor = 1) + null, + new /datum/stack_recipe_list("airlock assemblies", list( + new /datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 4, time = 50, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), + ), 4), ) /obj/item/stack/sheet/plasteel diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 47047b081e7..b3c6f2181ce 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -43,7 +43,9 @@ RCD /obj/machinery/door/airlock/glass_security = "Security (Glass)", /obj/machinery/door/airlock/glass_medical = "Medical (Glass)", /obj/machinery/door/airlock/mining = "Mining", /obj/machinery/door/airlock/atmos = "Atmospherics", /obj/machinery/door/airlock/research = "Research", /obj/machinery/door/airlock/glass_research = "Research (Glass)", - /obj/machinery/door/airlock/glass_mining = "Mining (Glass)", /obj/machinery/door/airlock/glass_atmos = "Atmospherics (Glass)") + /obj/machinery/door/airlock/glass_mining = "Mining (Glass)", /obj/machinery/door/airlock/glass_atmos = "Atmospherics (Glass)", + /obj/machinery/door/airlock/science = "Science", /obj/machinery/door/airlock/glass_science = "Science (Glass)", + /obj/machinery/door/airlock/hatch = "Airtight Hatch", /obj/machinery/door/airlock/maintenance_hatch = "Maintenance Hatch") /obj/item/weapon/rcd/New() desc = "A RCD. It currently holds [matter]/[max_matter] matter-units." diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index a8bac85e4ec..7292cc0b68c 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -14,6 +14,7 @@ var/created_name = null var/heat_proof_finished = 0 //whether to heat-proof the finished airlock var/material_type = /obj/item/stack/sheet/metal + var/material_amt = 4 /obj/structure/door_assembly/New() update_state() @@ -113,12 +114,13 @@ airlock_type = "/maintenance_hatch" glass = -1 -/obj/structure/door_assembly/door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly +/obj/structure/door_assembly/door_assembly_highsecurity name = "high security airlock assembly" base_icon_state = "highsec" base_name = "high security airlock" airlock_type = "/highsecurity" glass = -1 + material_type = /obj/item/stack/sheet/plasteel /obj/structure/door_assembly/door_assembly_vault name = "vault door assembly" @@ -195,20 +197,20 @@ if(WT.remove_fuel(0, user)) playsound(loc, WT.usesound, 50, 1) if(istext(glass)) - user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.") + user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly...") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "You welded the [glass] plating off!") + to_chat(user, "You weld the [glass] plating off.") var/M = text2path("/obj/item/stack/sheet/mineral/[glass]") new M(loc, 2) glass = 0 else if(glass == 1) - user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.") + user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly...") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "You welded the glass panel out!") + to_chat(user, "You weld the glass panel out.") if(heat_proof_finished) new /obj/item/stack/sheet/rglass(get_turf(src)) heat_proof_finished = 0 @@ -216,12 +218,12 @@ new /obj/item/stack/sheet/glass(get_turf(src)) glass = 0 else if(!anchored) - user.visible_message("[user] disassembles the airlock assembly.", "You start to disassemble the airlock assembly.") + user.visible_message("[user] disassembles the airlock assembly.", "You start to disassemble the airlock assembly...") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "You dissasembled the airlock assembly!") - new material_type(loc, 4) + to_chat(user, "You disassemble the airlock assembly.") + new material_type(loc, material_amt) qdel(src) else to_chat(user, "You need more welding fuel.") @@ -230,60 +232,60 @@ else if(iswrench(W) && state == 0) playsound(loc, W.usesound, 100, 1) if(anchored) - user.visible_message("[user] unsecures the airlock assembly from the floor.", "You start to unsecure the airlock assembly from the floor.") + user.visible_message("[user] unsecures the airlock assembly from the floor.", "You start to unsecure the airlock assembly from the floor...") else - user.visible_message("[user] secures the airlock assembly to the floor.", "You start to secure the airlock assembly to the floor.") + user.visible_message("[user] secures the airlock assembly to the floor.", "You start to secure the airlock assembly to the floor...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "You [anchored ? "un" : ""]secured the airlock assembly!") + to_chat(user, "You [anchored ? "un" : ""]secure the airlock assembly.") anchored = !anchored else if(iscoil(W) && state == 0 && anchored) var/obj/item/stack/cable_coil/coil = W - user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.") + user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly...") if(do_after(user, 40 * coil.toolspeed, target = src)) if(!src) return coil.use(1) state = 1 - to_chat(user, "You wire the Airlock!") + to_chat(user, "You wire the airlock assembly.") else if(iswirecutter(W) && state == 1) playsound(loc, W.usesound, 100, 1) - user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.") + user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "You cut the airlock's wires!") + to_chat(user, "You cut the wires from the airlock assembly.") if(state == 1) new/obj/item/stack/cable_coil(loc, 1) state = 0 else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 && W.icon_state != "door_electronics_smoked") playsound(loc, W.usesound, 100, 1) - user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.") + user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return user.drop_item() W.loc = src - to_chat(user, "You installed the airlock electronics!") + to_chat(user, "You install the airlock electronics.") state = 2 name = "near finished airlock assembly" electronics = W else if(iscrowbar(W) && state == 2 ) playsound(loc, W.usesound, 100, 1) - user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to install electronics into the airlock assembly.") + user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "You removed the airlock electronics!") + to_chat(user, "You remove the airlock electronics.") state = 1 name = "wired airlock assembly" var/obj/item/weapon/airlock_electronics/ae @@ -300,7 +302,7 @@ if(S.amount>=1) if(istype(S, /obj/item/stack/sheet/rglass) || istype(S, /obj/item/stack/sheet/glass)) playsound(loc, S.usesound, 100, 1) - user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") + user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly...") if(do_after(user, 40 * S.toolspeed, target = src)) if(S.type == /obj/item/stack/sheet/rglass) to_chat(user, "You install reinforced glass windows into the airlock assembly.") @@ -313,20 +315,21 @@ var/M = S.sheettype if(S.amount>=2) playsound(loc, S.usesound, 100, 1) - user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") + user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly...") if(do_after(user, 40 * S.toolspeed, target = src)) - to_chat(user, "You installed [M] plating into the airlock assembly!") + to_chat(user, "You install [M] plating into the airlock assembly.") S.use(2) glass = "[M]" else if(isscrewdriver(W) && state == 2 ) playsound(loc, W.usesound, 100, 1) - to_chat(user, "Now finishing the airlock.") + user.visible_message("[user] finishes the airlock.", \ + "You start finishing the airlock...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "You finish the airlock!") + to_chat(user, "You finish the airlock.") var/path if(istext(glass)) path = text2path("/obj/machinery/door/airlock/[glass]")