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