Luxury Bluespace Shelter Capsules, Take 2.

This commit is contained in:
CitadelStationBot
2017-05-30 17:05:54 -05:00
parent 03f6eeb3b7
commit 4f9c8a0869
16 changed files with 196 additions and 6 deletions

View File

@@ -0,0 +1,41 @@
"a" = (/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
"b" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
"c" = (/turf/closed/wall/mineral/titanium/survival,/area/survivalpod)
"d" = (/obj/structure/sign/mining/survival{dir = 8},/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
"e" = (/obj/structure/fans,/turf/open/floor/pod,/area/survivalpod)
"f" = (/obj/machinery/smartfridge/survival_pod,/turf/open/floor/pod,/area/survivalpod)
"g" = (/obj/item/device/gps/computer,/turf/open/floor/pod,/area/survivalpod)
"h" = (/obj/machinery/shower,/obj/item/weapon/soap/deluxe,/obj/structure/curtain{alpha = 240; color = "#454545"; icon_state = "closed"; open = 0},/turf/open/floor/pod,/area/survivalpod)
"i" = (/obj/structure/toilet/secret{secret_type = /obj/item/weapon/kitchen/knife/combat/survival},/turf/open/floor/pod,/area/survivalpod)
"j" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
"k" = (/obj/machinery/sleeper/survival_pod,/turf/open/floor/pod,/area/survivalpod)
"l" = (/turf/open/floor/pod,/area/survivalpod)
"m" = (/obj/structure/bed/pod,/obj/item/weapon/bedsheet/black,/turf/open/floor/pod,/area/survivalpod)
"n" = (/obj/structure/window/reinforced/survival_pod{dir = 8; icon_state = "pwindow"; layer = 3; tag = "icon-pwindow (WEST)"},/obj/machinery/door/window/survival_pod{dir = 1; icon_state = "windoor"; tag = "icon-windoor (NORTH)"},/turf/open/floor/carpet/black,/area/survivalpod)
"o" = (/obj/structure/chair/comfy/black,/obj/item/cardboard_cutout{desc = "A cardboard cutout of a xenomorph maid."; icon_state = "cutout_lusty"; name = "lusty xenomorph maid"},/obj/structure/window/reinforced/survival_pod{tag = "icon-pwindow (NORTH)"; icon_state = "pwindow"; dir = 1},/turf/open/floor/carpet/black,/area/survivalpod)
"p" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/brute{pixel_x = 5},/turf/open/floor/pod,/area/survivalpod)
"q" = (/obj/structure/tubes,/obj/item/weapon/twohanded/required/kirbyplants/random,/turf/open/floor/pod,/area/survivalpod)
"r" = (/obj/structure/window/reinforced/survival_pod{dir = 8; icon_state = "pwindow"; tag = "icon-pwindow (WEST)"},/turf/open/floor/carpet/black,/area/survivalpod)
"s" = (/obj/machinery/light{dir = 4; light_color = "#DDFFD3"},/obj/structure/table/wood/fancy/black,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 7; pixel_y = 2},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -6; pixel_y = 10},/turf/open/floor/carpet/black,/area/survivalpod)
"t" = (/obj/machinery/microwave{pixel_y = -2},/obj/structure/window/reinforced/survival_pod{tag = "icon-pwindow (NORTH)"; icon_state = "pwindow"; dir = 1},/obj/structure/table/wood/fancy/black{pixel_y = -9; pixel_z = 0},/turf/open/floor/carpet/black,/area/survivalpod)
"u" = (/obj/machinery/door/window/survival_pod{tag = "icon-windoor (NORTH)"; icon_state = "windoor"; dir = 1},/turf/open/floor/carpet/black,/area/survivalpod)
"v" = (/obj/structure/window/reinforced/survival_pod{tag = "icon-pwindow (NORTH)"; icon_state = "pwindow"; dir = 1},/obj/structure/displaycase{alert = 0; desc = "A display case containing an expensive forgery, probably."; pixel_w = 0; pixel_x = 0; pixel_y = -4; pixel_z = 0; req_access = 48; start_showpiece_type = /obj/item/fakeartefact},/turf/open/floor/carpet/black,/area/survivalpod)
"w" = (/obj/structure/window/reinforced/survival_pod{density = 0; dir = 9; icon_state = "pwindow"; tag = "icon-pwindow (NORTHWEST)"},/turf/open/floor/carpet/black,/area/survivalpod)
"x" = (/obj/structure/table/wood/fancy/black,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 7; pixel_y = 2},/obj/effect/spawner/lootdrop/three_course_meal,/turf/open/floor/carpet/black,/area/survivalpod)
"y" = (/obj/structure/sink/kitchen{tag = "icon-sink_alt (EAST)"; icon_state = "sink_alt"; dir = 4; pixel_x = -13; pixel_y = 0},/turf/open/floor/carpet/black,/area/survivalpod)
"z" = (/obj/machinery/light,/turf/open/floor/carpet/black,/area/survivalpod)
"A" = (/turf/open/floor/carpet/black,/area/survivalpod)
"B" = (/obj/structure/chair/comfy/black{dir = 1},/turf/open/floor/carpet/black,/area/survivalpod)
"C" = (/obj/structure/sign/mining/survival,/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
"D" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/survival_pod,/turf/open/floor/pod,/area/survivalpod)
"E" = (/obj/structure/sign/mining,/turf/closed/wall/mineral/titanium/survival/pod,/area/survivalpod)
(1,1,1) = {"
abcbcba
defghij
cklmnoc
dplqrsj
ctuvwxc
dyzAABj
aCcDcEa
"}

View File

@@ -54,6 +54,35 @@
/obj/item/trash/sosjerky = 1,
/obj/item/trash/syndi_cakes = 1)
/obj/effect/spawner/lootdrop/three_course_meal
name = "three course meal spawner"
lootcount = 3
lootdoubles = FALSE
var/soups = list(
/obj/item/weapon/reagent_containers/food/snacks/soup/beet,
/obj/item/weapon/reagent_containers/food/snacks/soup/sweetpotato,
/obj/item/weapon/reagent_containers/food/snacks/soup/stew,
/obj/item/weapon/reagent_containers/food/snacks/soup/hotchili,
/obj/item/weapon/reagent_containers/food/snacks/soup/nettle,
/obj/item/weapon/reagent_containers/food/snacks/soup/meatball)
var/salads = list(
/obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad,
/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad,
/obj/item/weapon/reagent_containers/food/snacks/salad/fruit,
/obj/item/weapon/reagent_containers/food/snacks/salad/jungle,
/obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad)
var/mains = list(
/obj/item/weapon/reagent_containers/food/snacks/bearsteak,
/obj/item/weapon/reagent_containers/food/snacks/enchiladas,
/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat,
/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite,
/obj/item/weapon/reagent_containers/food/snacks/burger/superbite,
/obj/item/weapon/reagent_containers/food/snacks/burger/fivealarm)
/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload)
loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1)
. = ..()
/obj/effect/spawner/lootdrop/maintenance
name = "maintenance loot spawner"
// see code/_globalvars/lists/maintenance_loot.dm for loot table

View File

@@ -142,6 +142,10 @@
icon_state = "cutout_fukken_xeno"
if(prob(25))
alpha = 75 //Spooky sneaking!
if("Xenomorph Maid")
name = "lusty xenomorph maid ([rand(1, 999)])"
desc = "A cardboard cutout of a xenomorph maid."
icon_state = "cutout_lusty"
if("Swarmer")
name = "Swarmer ([rand(1, 999)])"
desc = "A cardboard cutout of a swarmer."

View File

@@ -0,0 +1,10 @@
diff a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm (rejected hunks)
@@ -10,7 +10,7 @@
// add an entry in change_appearance() if you add to here
var/list/possible_appearances = list("Assistant", "Clown", "Mime",
"Traitor", "Nuke Op", "Cultist", "Clockwork Cultist",
- "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer",
+ "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Xenomorph Maid", "Swarmer",
"Ash Walker", "Deathsquad Officer", "Ian", "Slaughter Demon",
"Laughter Demon", "Private Security Officer")
var/pushed_over = FALSE //If the cutout is pushed over and has to be righted

View File

@@ -106,6 +106,11 @@
turf_type = /turf/open/floor/carpet
resistance_flags = FLAMMABLE
/obj/item/stack/tile/carpet/black
name = "black carpet"
icon_state = "tile-carpet-black"
turf_type = /turf/open/floor/carpet/black
/obj/item/stack/tile/fakespace
name = "astral carpet"

View File

@@ -61,6 +61,14 @@
to_chat(user, "<span class='notice'>You start adding [S] to [src]...</span>")
if(do_after(user, 20, target = src) && S.use(1))
make_new_table(/obj/structure/table/optable)
else if(istype(I, /obj/item/stack/tile/carpet/black))
var/obj/item/stack/tile/carpet/black/C = I
if(C.get_amount() < 1)
to_chat(user, "<span class='warning'>You need one black carpet sheet to do this!</span>")
return
to_chat(user, "<span class='notice'>You start adding [C] to [src]...</span>")
if(do_after(user, 20, target = src) && C.use(1))
make_new_table(/obj/structure/table/wood/fancy/black)
else if(istype(I, /obj/item/stack/tile/carpet))
var/obj/item/stack/tile/carpet/C = I
if(C.get_amount() < 1)

View File

@@ -271,12 +271,20 @@
frame = /obj/structure/table_frame
framestack = /obj/item/stack/rods
buildstack = /obj/item/stack/tile/carpet
canSmoothWith = list(/obj/structure/table/wood/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"
buildstack = /obj/item/stack/tile/carpet/black
/obj/structure/table/wood/fancy/black/New()
..()
icon = 'icons/obj/smooth_structures/fancy_table_black.dmi'
/*
* Reinforced tables
*/

View File

@@ -11,10 +11,10 @@
var/mob/living/swirlie = null //the mob being given a swirlie
/obj/structure/toilet/New()
/obj/structure/toilet/Initialize()
. = ..()
open = round(rand(0, 1))
update_icon()
..()
/obj/structure/toilet/attack_hand(mob/living/user)
@@ -104,6 +104,21 @@
else
return ..()
/obj/structure/toilet/secret
var/obj/item/secret
var/secret_type = null
/obj/structure/toilet/secret/Initialize(mapload)
. = ..()
if (secret_type)
secret = new secret_type(src)
secret.desc += " It's a secret!"
w_items += secret.w_class
contents += secret
/obj/structure/urinal
name = "urinal"
desc = "The HU-452, an experimental urinal. Comes complete with experimental urinal cake."
@@ -239,7 +254,7 @@
qdel(mymist)
if(on)
add_overlay(mutable_appearance('icons/obj/watercloset.dmi', "water", MOB_LAYER + 1))
add_overlay(mutable_appearance('icons/obj/watercloset.dmi', "water", ABOVE_MOB_LAYER))
if(watertemp == "freezing")
return
if(!ismist)
@@ -552,7 +567,7 @@
icon_state = "open"
color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it.
alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through
layer = WALL_OBJ_LAYER
layer = SIGN_LAYER
anchored = 1
opacity = 0
density = 0
@@ -575,13 +590,48 @@
density = 0
open = TRUE
/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(istype(W, /obj/item/weapon/screwdriver))
if(anchored)
playsound(src.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(src.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(src.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/attack_hand(mob/user)
playsound(loc, 'sound/effects/curtain.ogg', 50, 1)
toggle()
..()
/obj/structure/curtain/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/cloth (loc, 3)
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/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)

View File

@@ -158,6 +158,12 @@
if(smooth)
queue_smooth_neighbors(src)
/turf/open/floor/carpet/black
icon = 'icons/turf/floors/carpet_black.dmi'
floor_tile = /obj/item/stack/tile/carpet/black
canSmoothWith = list(/turf/open/floor/carpet/black)
/turf/open/floor/carpet/narsie_act(force, ignore_mobs, probability = 20)
. = (prob(probability) || force)
for(var/I in src)

View File

@@ -344,6 +344,19 @@
result = /obj/item/toy/sword
category = CAT_MISC
/datum/crafting_recipe/blackcarpet
name = "Black Carpet"
reqs = list(/obj/item/stack/tile/carpet = 50, /obj/item/toy/crayon/black = 1)
result = /obj/item/stack/tile/carpet/black
category = CAT_MISC
/datum/crafting_recipe/showercurtain
name = "Shower Curtains"
reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1)
result = /obj/structure/curtain
category = CAT_MISC
/datum/crafting_recipe/chemical_payload
name = "Chemical Payload (C4)"
result = /obj/item/weapon/bombcore/chemical

View File

@@ -39,6 +39,7 @@
new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000),
new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 2500),
new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/weapon/survivalcapsule/luxury, 3000),
new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
new /datum/data/mining_equipment("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250),

View File

@@ -40,3 +40,18 @@
/datum/map_template/shelter/alpha/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/closed/mineral)
/datum/map_template/shelter/beta
name = "Shelter Beta"
shelter_id = "shelter_beta"
description = "An extremly luxurious shelter, containing all \
the amenities of home, including carpeted floors, hot and cold \
running water, a gourmet three course meal, cooking facilities, \
and a deluxe companion to keep you from getting lonely during \
an ash storm."
mappath = "_maps/templates/shelter_2.dmm"
/datum/map_template/shelter/beta/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/closed/mineral)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB