Luxury Bluespace Capsule & More

tgstation/tgstation#27881

There is now a second bluespace shelter capsule, which is much more
fancy & expensive. Note, this still does not make them generally available.

Changes Summary:
 - Added "Shelter Beta" - It comes with a built in kitchen, toilet, shower, three
 course meal, and an artifact™️! There are plenty of secrets to
 behold..
 - Added black carpeting. This can be created by the personal crafting
 menu and having any crayon + a carpet with you.
 - Added fancy wooden and fancy black wooden tables. These are craftable
 by hitting wooden table parts with regular and black carpet,
 respectively.
 - You can now unanchor, deconstruct and color shower curtains. Use any kind of
 crayon to color them, and screwdriver to unanchor them. Once they are
 unanchored, you may use wirecutters to change them back into materials-
 All of which are used in a new crafting recipe for creating them.
 - Display cases moderately refactored.
 - Added survival pod windows/windoors for the new luxury pod.
This commit is contained in:
tigercat2000
2017-06-07 11:17:44 -07:00
parent 51582da67c
commit b419782526
19 changed files with 272 additions and 11 deletions
+39 -1
View File
@@ -35,6 +35,44 @@
icon_state = "open"
layer = SHOWER_OPEN_LAYER
/obj/structure/curtain/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/toy/crayon))
color = input(user, "Choose Color") as color
else if(isscrewdriver(W))
if(anchored)
playsound(loc, W.usesound, 100, 1)
user.visible_message("<span class='warning'>[user] unscrews [src] from the floor.</span>", "<span class='notice'>You start to unscrew [src] from the floor...</span>", "You hear rustling noises.")
if(do_after(user, 50 * W.toolspeed, target = src))
if(!anchored)
return
anchored = FALSE
to_chat(user, "<span class='notice'>You unscrew [src] from the floor.</span>")
else
playsound(loc, W.usesound, 100, 1)
user.visible_message("<span class='warning'>[user] screws [src] to the floor.</span>", "<span class='notice'>You start to screw [src] to the floor...</span>", "You hear rustling noises.")
if(do_after(user, 50 * W.toolspeed, target = src))
if(anchored)
return
anchored = TRUE
to_chat(user, "<span class='notice'>You screw [src] to the floor.</span>")
else if(istype(W, /obj/item/weapon/wirecutters))
if(!anchored)
playsound(loc, W.usesound, 100, 1)
user.visible_message("<span class='warning'>[user] cuts apart [src].</span>", "<span class='notice'>You start to cut apart [src].</span>", "You hear cutting.")
if(do_after(user, 50 * W.toolspeed, target = src))
if(anchored)
return
to_chat(user, "<span class='notice'>You cut apart [src].</span>")
deconstruct()
else
. = ..()
/obj/structure/curtain/proc/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/cloth(loc, 2)
new /obj/item/stack/sheet/plastic(loc, 2)
new /obj/item/stack/rods(loc, 1)
qdel(src)
/obj/structure/curtain/black
name = "black curtain"
color = "#222222"
@@ -59,4 +97,4 @@
color = "#000066"
#undef SHOWER_OPEN_LAYER
#undef SHOWER_CLOSED_LAYER
#undef SHOWER_CLOSED_LAYER
+10 -8
View File
@@ -105,19 +105,21 @@ var/global/list/captain_display_cases = list()
var/ue = null
var/image/occupant_overlay = null
var/obj/item/weapon/airlock_electronics/circuit
var/start_showpiece_type = null //add type for items on display
/obj/structure/displaycase/New()
. = ..()
if(start_showpiece_type)
occupant = new start_showpiece_type(src)
update_icon()
/obj/structure/displaycase/captains_laser
name = "captain's display case"
desc = "A display case for the captain's antique laser gun. Hooked up with an anti-theft system."
burglar_alarm = 1
/obj/structure/displaycase/captains_laser/New()
captain_display_cases += src
req_access = list(access_captain)
burglar_alarm = 1
locked = 1
spawn(5)
occupant = new /obj/item/weapon/gun/energy/laser/captain(src)
update_icon()
req_access = list(access_captain)
start_showpiece_type = /obj/item/weapon/gun/energy/laser/captain
/obj/structure/displaycase/Destroy()
dump()
@@ -412,6 +412,35 @@
/obj/structure/table/woodentable/poker/narsie_act()
return
/*
* Fancy Tables
*/
/obj/structure/table/wood/fancy
name = "fancy table"
desc = "A standard metal table frame covered with an amazingly fancy, patterned cloth."
icon = 'icons/obj/structures.dmi'
icon_state = "fancy_table"
parts = /obj/item/weapon/table_parts/fancy
canSmoothWith = list(/obj/structure/table/wood/fancy, /obj/structure/table/wood/fancy/black)
/obj/structure/table/wood/fancy/New()
icon = 'icons/obj/smooth_structures/fancy_table.dmi' //so that the tables place correctly in the map editor
..()
/obj/structure/table/wood/fancy/black
icon_state = "fancy_table_black"
parts = /obj/item/weapon/table_parts/fancy/black
/obj/structure/table/wood/fancy/black/New()
..()
icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' //so that the tables place correctly in the map editor
/*
* Glass Tables
*/
/obj/structure/glasstable_frame
name = "glass table frame"
desc = "A metal frame for a glass table."
@@ -120,6 +120,15 @@
to_chat(user, "<span class='notice'>You carefully place [I] into the cistern.</span>")
return
/obj/structure/toilet/secret
var/secret_type = null
/obj/structure/toilet/secret/New()
. = ..()
if(secret_type)
var/obj/item/secret = new secret_type(src)
secret.desc += " It's a secret!"
w_items += secret.w_class
/obj/structure/urinal