diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 2319f3b5ca7..a6e9c226736 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -9,7 +9,7 @@ /obj/machinery/suit_storage_unit name = "suit storage unit" - desc = "An industrial U-Stor-It Storage unit designed to accomodate all kinds of space suits. Its on-board equipment also allows the user to decontaminate the contents through a UV-ray purging cycle. There's a warning label dangling from the control pad, reading \"STRICTLY NO BIOLOGICALS IN THE CONFINES OF THE UNIT\"." + desc = "An industrial unit made to hold space suits. It comes with a built-in UV cauterization mechanism. A small warning label advises that organic matter should not be placed into the unit." icon = 'icons/obj/suitstorage.dmi' icon_state = "close" anchored = 1 @@ -34,7 +34,6 @@ var/ispowered = 1 var/isbroken = 0 var/issuperUV = 0 - var/panelopen = 0 var/safetieson = 1 var/cycletime_left = 0 var/repair_stage = 0 @@ -42,19 +41,18 @@ /obj/machinery/suit_storage_unit/examine(mob/user) ..() if(isbroken && isopen) - if(!panelopen) + if(!panel_open) user << "A small LED above the maintenance panel is flashing red." return - if(in_range(user, src)) - switch(repair_stage) - if(REPAIR_NEEDS_WIRECUTTERS) - user << "The wires inside are charred and snapped." - if(REPAIR_NEEDS_WIRES) - user << "There are no wires inside." - if(REPAIR_NEEDS_CROWBAR) - user << "Some of the interior metal is burnt and broken." - if(REPAIR_NEEDS_METAL) - user << "It lacks interior plating." + switch(repair_stage) + if(REPAIR_NEEDS_WIRECUTTERS) + user << "The wires inside are charred and snapped." + if(REPAIR_NEEDS_WIRES) + user << "There are no wires inside." + if(REPAIR_NEEDS_CROWBAR) + user << "Some of the interior metal is burnt and broken." + if(REPAIR_NEEDS_METAL) + user << "It lacks interior plating." @@ -190,10 +188,10 @@ return if(stat & NOPOWER) return - if(src.panelopen) //The maintenance panel is open. Time for some shady stuff + if(src.panel_open) //The maintenance panel is open. Time for some shady stuff dat+= "Suit storage unit: Maintenance panel" dat+= "Maintenance panel controls
" - dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that
you cannot understand. Probably the manufactoring world's language.
Among other things, a few controls catch your eye.

" + dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that you cannot understand; probably the manufacturing world's language. Among other things, a few controls catch your eye...

" dat+= text("A small dial with a \"ë\" symbol embroidded on it. It's pointing towards a gauge that reads [].
Turn towards []
",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") ) dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.
Press button",(src.safetieson? "GREEN" : "RED"),src) dat+= text("

Close panel", user) @@ -278,7 +276,7 @@ /obj/machinery/suit_storage_unit/proc/toggleUV(mob/user) - if(!src.panelopen) + if(!src.panel_open) return else @@ -292,7 +290,7 @@ /obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user) - if(!src.panelopen) //Needed check due to bugs + if(!src.panel_open) //Needed check due to bugs return else user << "You push the button. The coloured LED next to it changes." @@ -345,7 +343,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user) if(src.OCCUPANT && src.safetieson) - user << "The Unit's safety protocols disallow locking when a biological form is detected inside its compartments." + user << "The unit's safety protocols disallow locking when a biological form is detected inside its compartments." return if(src.isopen) return @@ -357,12 +355,12 @@ if(src.isUV || src.isopen) //I'm bored of all these sanity checks return if(src.OCCUPANT && src.safetieson) - user << "WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle." + user << "WARNING: Biological entity detected in the confines of the unit's storage. Cannot initiate cycle." return if(!src.HELMET && !src.MASK && !src.SUIT && !src.STORAGE && !src.OCCUPANT ) user << "Unit storage bays empty. Nothing to disinfect -- Aborting." return - user << "You start the Unit's cauterisation cycle." + user << "You start the unit's cauterisation cycle." src.cycletime_left = 20 src.isUV = 1 if(src.OCCUPANT && !src.islocked) @@ -394,7 +392,7 @@ src.SUIT = null src.MASK = null qdel(STORAGE) - visible_message("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber.", 3) + visible_message("With a loud whining noise, [src]'s door grinds open. A foul cloud of smoke emanates from the chamber.") src.isbroken = 1 src.isopen = 1 src.islocked = 0 @@ -420,9 +418,9 @@ if (src.OCCUPANT.client) if(user != OCCUPANT) - OCCUPANT << "The machine kicks you out!" + OCCUPANT << "The machine kicks you out!" if(user.loc != src.loc) - OCCUPANT << "You leave the not-so-cozy confines of the SSU." + OCCUPANT << "You leave the not-so-cozy confines of [src]." src.OCCUPANT.client.eye = src.OCCUPANT.client.mob src.OCCUPANT.client.perspective = MOB_PERSPECTIVE @@ -449,7 +447,7 @@ else isopen = 1 islocked = 0 - visible_message("[user] successfully broke out of [src]!") + visible_message("[user] kicks their way out of [src]!") else return @@ -478,9 +476,9 @@ user << "It's too cluttered inside to fit in!" return if(M == user) - visible_message("[user] starts squeezing into the suit storage unit!", 3) + visible_message("[user] squeezes into [src]!", "You squeeze into [src].") else - visible_message("[user] starts putting [M.name] into the Suit Storage Unit!", 3) + M.visible_message("[user] starts putting [M] into [src]!", "[user] starts shoving you into [src]!") if(do_mob(user, M, 10)) user.stop_pulling() if(M.client) @@ -508,16 +506,16 @@ if(istype(I, /obj/item/weapon/crowbar) && !isopen) if(toggle_open(user)) dump_everything() - user << text("You pry \the [src] open.") + user << text("You pry open [src]'s doors.") update_icon() return if(istype(I, /obj/item/weapon/screwdriver)) - src.panelopen = !src.panelopen + src.panel_open = !src.panel_open playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << text("You [] the unit's maintenance panel.",(src.panelopen ? "open up" : "close") ) + user << text("You [] the unit's maintenance panel.",(src.panel_open ? "open up" : "close") ) src.updateUsrDialog() return - if(isbroken && panelopen) + if(isbroken && panel_open) if(istype(I, /obj/item/weapon/wirecutters) && repair_stage == REPAIR_NEEDS_WIRECUTTERS) user.visible_message("[user] starts removing [src]'s damaged wires.", \ "You begin removing the damaged wires from [src]...") @@ -585,9 +583,9 @@ user << "The unit already contains a suit." return if(!user.drop_item()) - user << "\The [S] is stuck to your hand, you cannot put it in the Suit Storage Unit!" + user << "[S] is stuck to your hand, you cannot put it in [src]!" return - user << "You load the [S.name] into the suit storage compartment." + user << "You load [S] into the suit storage compartment." S.loc = src src.SUIT = S src.update_icon() @@ -601,9 +599,9 @@ user << "The unit already contains a helmet!" return if(!user.drop_item()) - user << "\The [H] is stuck to your hand, you cannot put it in the Suit Storage Unit!" + user << "[H] is stuck to your hand, you cannot put it in the Suit Storage Unit!" return - user << "You load the [H.name] into the helmet storage compartment." + user << "You load [H] into the helmet storage compartment." H.loc = src src.HELMET = H src.update_icon() @@ -617,9 +615,9 @@ user << "The unit already contains a mask!" return if(!user.drop_item()) - user << "\The [M] is stuck to your hand, you cannot put it in the Suit Storage Unit!" + user << "[M] is stuck to your hand, you cannot put it in the Suit Storage Unit!" return - user << "You load the [M.name] into the mask storage compartment." + user << "You load [M] into the mask storage compartment." M.loc = src src.MASK = M src.update_icon() @@ -633,9 +631,9 @@ user << "The auxiliary storage compartment is full!" return if(!user.drop_item()) - user << "\The [ITEM] is stuck to your hand, you cannot put it in the Suit Storage Unit!" + user << "[ITEM] is stuck to your hand, you cannot put it in the Suit Storage Unit!" return - user << "You load the [ITEM.name] into the auxiliary storage compartment." + user << "You load [ITEM] into the auxiliary storage compartment." ITEM.loc = src src.STORAGE = ITEM src.update_icon() @@ -648,7 +646,7 @@ /obj/machinery/suit_storage_unit/attack_paw(mob/user) - user << "The console controls are far too complicated for your tiny brain!" + user << "You don't know how to work this!" return #undef REPAIR_NEEDS_WIRECUTTERS diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index d81bda3467e..15ddea4891b 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -27,28 +27,68 @@ playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) user.visible_message("[user] unfastens [src].", \ "You unfasten [src].") - new /obj/item/wallframe/sign_backing(get_turf(user)) + new /obj/item/sign_backing(get_turf(user)) qdel(src) if(istype(O, /obj/item/weapon/pen)) - var/list/sign_types = list() - for(var/S in typesof(/obj/structure/sign)) - sign_types.Add(S) - sign_types.Remove(src.type) + var/list/sign_types = list("Secure Area", "Biohazard", "High Voltage", "Radiation", "Hard Vacuum Ahead", "Disposal: Leads To Space", "Danger: Fire", "No Smoking", "Medbay", "Science", "Chemistry", \ + "Hydroponics", "Xenobiology") var/sign_type - sign_type = input(user, "Select a sign type.", "Sign Customization") as null|anything in sign_types + switch(input(user, "Select a sign type.", "Sign Customization") as null|anything in sign_types) + if("Blank") + sign_type = /obj/structure/sign/basic + if("Secure Area") + sign_type = /obj/structure/sign/securearea + if("Biohazard") + sign_type = /obj/structure/sign/biohazard + if("High Voltage") + sign_type = /obj/structure/sign/electricshock + if("Radiation") + sign_type = /obj/structure/sign/radiation + if("Hard Vacuum Ahead") + sign_type = /obj/structure/sign/vacuum + if("Disposal: Leads To Space") + sign_type = /obj/structure/sign/deathsposal + if("Danger: Fire") + sign_type = /obj/structure/sign/fire + if("No Smoking") + sign_type = /obj/structure/sign/nosmoking_1 + if("Medbay") + sign_type = /obj/structure/sign/bluecross_2 + if("Science") + sign_type = /obj/structure/sign/science + if("Chemistry") + sign_type = /obj/structure/sign/chemistry + if("Hydroponics") + sign_type = /obj/structure/sign/botany + if("Xenobiology") + sign_type = /obj/structure/sign/xenobio if(!sign_type) return new sign_type(get_turf(src)) qdel(src) -/obj/item/wallframe/sign_backing +/obj/item/sign_backing name = "sign backing" desc = "A blank sign with adhesive backing." icon = 'icons/obj/decals.dmi' icon_state = "backing" w_class = 3 burn_state = 0 //Burnable, made of wood - result_path = /obj/structure/sign/basic + +/obj/item/sign_backing/afterattack(atom/target, mob/user, proximity) + if(!isturf(target)) + return ..() + if(!in_range(user,target)) + return ..() + var/turf/T = target + if(!T || !istype(T)) + return ..() + user.visible_message("[user] fastens [src] to [T].", \ + "You attach a blank sign to [T].") + new /obj/structure/sign/basic(T) + user.drop_item() + qdel(src) + return /obj/structure/sign/map name = "station map" @@ -112,6 +152,11 @@ desc = "A warning sign which reads 'NO SMOKING'" icon_state = "nosmoking2" +/obj/structure/sign/radiation + name = "HAZARDOUS RADIATION" + desc = "A warning sign alerting the user of potential radiation hazards." + icon_state = "radiation" + /obj/structure/sign/bluecross name = "medbay" desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here.'" @@ -148,20 +193,25 @@ icon_state = "maltesefalcon-right" /obj/structure/sign/science //These 3 have multiple types, just var-edit the icon_state to whatever one you want on the map - name = "\improper SCIENCE!" - desc = "A warning sign which reads 'SCIENCE!'" + name = "\improper SCIENCE" + desc = "A sign labelling an area where research and science is performed." icon_state = "science1" /obj/structure/sign/chemistry name = "\improper CHEMISTRY" - desc = "A warning sign which reads 'CHEMISTRY'" + desc = "A sign labelling an area containing chemical equipment." icon_state = "chemistry1" /obj/structure/sign/botany name = "\improper HYDROPONICS" - desc = "A warning sign which reads 'HYDROPONICS'" + desc = "A sign labelling an area as a place where plants are grown." icon_state = "hydro1" +/obj/structure/sign/xenobio + name = "\improper XENOBIOLOGY" + desc = "A sign labelling an area as a place where xenobiological entites are researched." + icon_state = "xenobio" + /obj/structure/sign/directions/science name = "science department" desc = "A direction sign, pointing out which way the Science department is." diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index e3967607a0c..8c1f9890cc1 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ