mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-25 08:34:23 +00:00
This stops signs realigning to your turf when you go to change the sign type. Also slight sanity check for adjacency after user uses pen
251 lines
8.3 KiB
Plaintext
251 lines
8.3 KiB
Plaintext
/obj/structure/sign
|
|
icon = 'icons/obj/decals.dmi'
|
|
anchored = 1
|
|
opacity = 0
|
|
density = 0
|
|
layer = 3.5
|
|
|
|
/obj/structure/sign/basic
|
|
name = "blank sign"
|
|
desc = "How can signs be real if our eyes aren't real?"
|
|
icon_state = "backing"
|
|
|
|
/obj/structure/sign/ex_act(severity, target)
|
|
qdel(src)
|
|
|
|
/obj/structure/sign/blob_act()
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/sign/attackby(obj/item/O, mob/user, params)
|
|
if(istype(O, /obj/item/weapon/wrench))
|
|
user.visible_message("<span class='notice'>[user] starts removing [src]...</span>", \
|
|
"<span class='notice'>You start unfastening [src].</span>")
|
|
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
|
if(!do_after(user, 30/O.toolspeed, target = src))
|
|
return
|
|
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
|
|
user.visible_message("<span class='notice'>[user] unfastens [src].</span>", \
|
|
"<span class='notice'>You unfasten [src].</span>")
|
|
new /obj/item/sign_backing(get_turf(user))
|
|
qdel(src)
|
|
if(istype(O, /obj/item/weapon/pen))
|
|
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/obj/structure/sign/sign_type
|
|
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
|
|
|
|
//Make sure user is adjacent still
|
|
if(!Adjacent(user))
|
|
return
|
|
|
|
if(!sign_type)
|
|
return
|
|
|
|
//It's import to clone the pixel layout information
|
|
//Otherwise signs revert to being on the turf and
|
|
//move jarringly
|
|
var/obj/structure/sign/newsign = new sign_type(get_turf(src))
|
|
newsign.pixel_x = pixel_x
|
|
newsign.pixel_y = pixel_y
|
|
qdel(src)
|
|
|
|
/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 = FLAMMABLE
|
|
|
|
/obj/item/sign_backing/afterattack(atom/target, mob/user, proximity)
|
|
if(!isturf(target))
|
|
return ..()
|
|
if(!user.Adjacent(target))
|
|
return ..()
|
|
var/turf/T = target
|
|
if(!T || !istype(T))
|
|
return ..()
|
|
user.visible_message("<span class='notice'>[user] fastens [src] to [T].</span>", \
|
|
"<span class='notice'>You attach a blank sign to [T].</span>")
|
|
playsound(T, 'sound/items/Deconstruct.ogg', 50, 1)
|
|
new /obj/structure/sign/basic(T)
|
|
user.drop_item()
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/sign/map
|
|
name = "station map"
|
|
desc = "A framed picture of the station."
|
|
|
|
/obj/structure/sign/map/left
|
|
icon_state = "map-left"
|
|
|
|
/obj/structure/sign/map/right
|
|
icon_state = "map-right"
|
|
|
|
/obj/structure/sign/securearea
|
|
name = "\improper SECURE AREA"
|
|
desc = "A warning sign which reads 'SECURE AREA'."
|
|
icon_state = "securearea"
|
|
|
|
/obj/structure/sign/biohazard
|
|
name = "\improper BIOHAZARD"
|
|
desc = "A warning sign which reads 'BIOHAZARD'"
|
|
icon_state = "bio"
|
|
|
|
/obj/structure/sign/electricshock
|
|
name = "\improper HIGH VOLTAGE"
|
|
desc = "A warning sign which reads 'HIGH VOLTAGE'"
|
|
icon_state = "shock"
|
|
|
|
/obj/structure/sign/examroom
|
|
name = "\improper EXAM ROOM"
|
|
desc = "A guidance sign which reads 'EXAM ROOM'"
|
|
icon_state = "examroom"
|
|
|
|
/obj/structure/sign/vacuum
|
|
name = "\improper HARD VACUUM AHEAD"
|
|
desc = "A warning sign which reads 'HARD VACUUM AHEAD'"
|
|
icon_state = "space"
|
|
|
|
/obj/structure/sign/deathsposal
|
|
name = "\improper DISPOSAL: LEADS TO SPACE"
|
|
desc = "A warning sign which reads 'DISPOSAL: LEADS TO SPACE'"
|
|
icon_state = "deathsposal"
|
|
|
|
/obj/structure/sign/pods
|
|
name = "\improper ESCAPE PODS"
|
|
desc = "A warning sign which reads 'ESCAPE PODS'"
|
|
icon_state = "pods"
|
|
|
|
/obj/structure/sign/fire
|
|
name = "\improper DANGER: FIRE"
|
|
desc = "A warning sign which reads 'DANGER: FIRE'"
|
|
icon_state = "fire"
|
|
|
|
|
|
/obj/structure/sign/nosmoking_1
|
|
name = "\improper NO SMOKING"
|
|
desc = "A warning sign which reads 'NO SMOKING'"
|
|
icon_state = "nosmoking"
|
|
|
|
|
|
/obj/structure/sign/nosmoking_2
|
|
name = "\improper NO SMOKING"
|
|
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."
|
|
icon_state = "bluecross"
|
|
|
|
/obj/structure/sign/bluecross_2
|
|
name = "medbay"
|
|
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here."
|
|
icon_state = "bluecross2"
|
|
|
|
/obj/structure/sign/goldenplaque
|
|
name = "The Most Robust Men Award for Robustness"
|
|
desc = "To be Robust is not an action or a way of life, but a mental state. Only those with the force of Will strong enough to act during a crisis, saving friend from foe, are truly Robust. Stay Robust my friends."
|
|
icon_state = "goldenplaque"
|
|
|
|
/obj/structure/sign/kiddieplaque
|
|
name = "AI developers plaque"
|
|
desc = "Next to the extremely long list of names and job titles, there is a drawing of a little child. The child appears to be retarded. Beneath the image, someone has scratched the word \"PACKETS\""
|
|
icon_state = "kiddieplaque"
|
|
|
|
/obj/structure/sign/atmosplaque
|
|
name = "\improper FEA Atmospherics Division plaque"
|
|
desc = "This plaque commemorates the fall of the Atmos FEA division. For all the charred, dizzy, and brittle men who have died in its hands."
|
|
icon_state = "atmosplaque"
|
|
|
|
/obj/structure/sign/maltesefalcon //The sign is 64x32, so it needs two tiles. ;3
|
|
name = "The Maltese Falcon"
|
|
desc = "The Maltese Falcon, Space Bar and Grill."
|
|
|
|
/obj/structure/sign/maltesefalcon/left
|
|
icon_state = "maltesefalcon-left"
|
|
|
|
/obj/structure/sign/maltesefalcon/right
|
|
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 sign labelling an area where research and science is performed."
|
|
icon_state = "science1"
|
|
|
|
/obj/structure/sign/chemistry
|
|
name = "\improper CHEMISTRY"
|
|
desc = "A sign labelling an area containing chemical equipment."
|
|
icon_state = "chemistry1"
|
|
|
|
/obj/structure/sign/botany
|
|
name = "\improper 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."
|
|
icon_state = "direction_sci"
|
|
|
|
/obj/structure/sign/directions/engineering
|
|
name = "engineering department"
|
|
desc = "A direction sign, pointing out which way the Engineering department is."
|
|
icon_state = "direction_eng"
|
|
|
|
/obj/structure/sign/directions/security
|
|
name = "security department"
|
|
desc = "A direction sign, pointing out which way the Security department is."
|
|
icon_state = "direction_sec"
|
|
|
|
/obj/structure/sign/directions/medical
|
|
name = "medical bay"
|
|
desc = "A direction sign, pointing out which way the Medical Bay is."
|
|
icon_state = "direction_med"
|
|
|
|
/obj/structure/sign/directions/evac
|
|
name = "escape arm"
|
|
desc = "A direction sign, pointing out which way the escape shuttle dock is."
|
|
icon_state = "direction_evac"
|