From af2fe579ecbae05da0980825eac3fbfb8bb532de Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Tue, 9 Sep 2025 00:58:26 -0700 Subject: [PATCH] [MIRROR] [Fluff Item] Adds Holly's Custom Capsule Shelter (#11591) Co-authored-by: Jenny --- .../loadout/loadout_fluffitems.dm | 6 + code/modules/mining/shelter_atoms_vr.dm | 25 + code/modules/mining/shelters_vr.dm | 9 + maps/submaps/shelters/shelter_h.dmm | 506 ++++++++++++++++++ 4 files changed, 546 insertions(+) create mode 100644 maps/submaps/shelters/shelter_h.dmm diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems.dm index a0039fb529..36635fed33 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems.dm @@ -1051,6 +1051,12 @@ ckeywhitelist = list("ryumi") character_name = list("Nikki Yumeno") +/datum/gear/fluff/holly_capsule + path = /obj/item/survivalcapsule/holly + display_name = "Recreational Shelter Capsule" + ckeywhitelist = list("ryumi") + character_name = list("Holly") + // S CKEYS /datum/gear/fluff/brynhild_medal path = /obj/item/clothing/accessory/medal/silver/valor diff --git a/code/modules/mining/shelter_atoms_vr.dm b/code/modules/mining/shelter_atoms_vr.dm index c0d3daed5b..e68321c0f4 100644 --- a/code/modules/mining/shelter_atoms_vr.dm +++ b/code/modules/mining/shelter_atoms_vr.dm @@ -16,6 +16,14 @@ GLOBAL_LIST_EMPTY(unique_deployable) name = "\improper Emergency Shelter Bathroom" icon_state = "away2" +//Custom survival pod areas + +/area/survivalpod/holly + name = "\improper Holly's Emergency Shelter" + +/area/survivalpod/dorms/holly + name = "\improper Holly's Emergency Shelter Dorm" + //Survival Capsule /obj/item/survivalcapsule name = "surfluid shelter capsule" @@ -161,6 +169,12 @@ GLOBAL_LIST_EMPTY(unique_deployable) template_id = "shelter_phi" unique_id = "shelter_a" +/obj/item/survivalcapsule/holly + name = "vaguely festive surfluid shelter capsule" + desc = "A \"homemade\" luxury suite crammed into a capsule. There's a license for use printed on the bottom. For some reason, the license's text is written in festive colors." + template_id = "shelter_chi" + unique_id = "shelter_h" + //Pod objects //Walls /turf/simulated/shuttle/wall/voidcraft/survival @@ -254,6 +268,17 @@ GLOBAL_LIST_EMPTY(unique_deployable) /obj/structure/window/reinforced/survival_pod/update_icon() icon_state = basestate +//Polarized windows +/obj/structure/window/reinforced/polarized/survival_pod + name = "polarized pod window" + icon = 'icons/obj/survival_pod.dmi' + icon_state = "pwindow" + basestate = "pwindow" + +//The windows have diagonal versions, and will never be a full window +/obj/structure/window/reinforced/polarized/survival_pod/is_fulltile() + return FALSE + //Windoor /obj/machinery/door/window/survival_pod icon = 'icons/obj/survival_pod.dmi' diff --git a/code/modules/mining/shelters_vr.dm b/code/modules/mining/shelters_vr.dm index ae710cd4d3..06836a4b19 100644 --- a/code/modules/mining/shelters_vr.dm +++ b/code/modules/mining/shelters_vr.dm @@ -120,3 +120,12 @@ to no contact, the expense of these shelters have prevented them \ from seeing common use." mappath = "maps/submaps/shelters/shelter_a.dmm" + +/datum/map_template/shelter/chi + name = "Shelter Chi" + shelter_id = "shelter_chi" + description = "A custom, from-the-ground-up variant of the shelter \ + capsule. Many of the survival utilities have been stripped away in favor \ + of recreational facilities and a more comfortable living quarters. The \ + definition of \"form over function,\" in capsule form!" + mappath = "maps/submaps/shelters/shelter_h.dmm" diff --git a/maps/submaps/shelters/shelter_h.dmm b/maps/submaps/shelters/shelter_h.dmm new file mode 100644 index 0000000000..8d497f38ee --- /dev/null +++ b/maps/submaps/shelters/shelter_h.dmm @@ -0,0 +1,506 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"b" = ( +/obj/machinery/disposal/wall, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/dorms/holly) +"c" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 8 + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 4 + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod" + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"d" = ( +/turf/simulated/shuttle/wall/voidcraft, +/area/survivalpod/dorms/holly) +"e" = ( +/obj/structure/sign/mining/survival{ + dir = 4 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"f" = ( +/obj/machinery/button/remote/airlock/survival_pod/bolts{ + pixel_x = -22; + pixel_y = -24 + }, +/obj/effect/floor_decal/spline/plain, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/holly) +"g" = ( +/obj/structure/table/gamblingtable, +/obj/structure/closet/walllocker_double/casino/west, +/obj/item/spacecasinocash_fake/c1000, +/obj/item/spacecasinocash_fake/c1000, +/obj/item/spacecasinocash_fake/c1000, +/obj/item/spacecasinocash_fake/c1000, +/obj/item/spacecasinocash_fake/c1000, +/obj/item/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"h" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"i" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"j" = ( +/obj/structure/bed/chair/sofa/corp/right, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"k" = ( +/obj/structure/bed/chair/sofa/corp/left{ + dir = 1 + }, +/obj/effect/floor_decal/spline/plain/corner, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"l" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"m" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/voidcraft/survival_pod{ + layer = 3.1 + }, +/obj/effect/floor_decal/industrial/danger/full, +/obj/item/toy/mistletoe, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod/holly) +"n" = ( +/obj/structure/bed/chair/sofa/corp/left, +/obj/machinery/light/small/fairylights{ + pixel_y = 40 + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"o" = ( +/obj/structure/table/woodentable, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"p" = ( +/obj/structure/sign/mining/survival{ + dir = 8 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"q" = ( +/obj/machinery/button/remote/airlock/survival_pod/bolts{ + pixel_x = 22; + pixel_y = 22; + dir = 4 + }, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/holly) +"r" = ( +/obj/structure/fans, +/turf/simulated/shuttle/wall/voidcraft, +/area/survivalpod/dorms/holly) +"s" = ( +/obj/machinery/media/jukebox, +/obj/machinery/light{ + dir = 4; + light_color = "#DDFFD3" + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"t" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table/survival_pod, +/obj/item/flame/candle{ + pixel_x = 6 + }, +/obj/item/flame/lighter/random{ + pixel_x = -4; + pixel_y = 4 + }, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/dorms/holly) +"u" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/emergency_beacon, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, +/obj/item/multitool, +/obj/item/storage/box/donkpockets/pizza, +/obj/item/storage/box/donkpockets/berry, +/obj/item/deck/tarot, +/obj/item/toy/plushie/kitten, +/obj/item/reagent_containers/food/snacks/packaged/spacetwinkie, +/obj/item/reagent_containers/food/snacks/packaged/spacetwinkie, +/obj/item/extinguisher/mini, +/obj/item/radio{ + icon_state = "walkietalkiebay"; + name = "emergency radio" + }, +/obj/item/reagent_containers/food/drinks/h_chocolate, +/obj/item/reagent_containers/food/drinks/h_chocolate, +/obj/item/reagent_containers/food/drinks/h_chocolate, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/towel{ + color = "#800080" + }, +/obj/item/towel{ + color = "#800080" + }, +/obj/item/storage/box/mixedglasses, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu9, +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) + }, +/obj/item/storage/box/survival/space, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/candle_box, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/soap/cyan_soap, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/bluecuracao, +/obj/item/storage/box/lights/tubes, +/obj/item/reagent_containers/food/drinks/bottle/space_up, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/tequila, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/bottle/sake, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, +/obj/item/healthanalyzer, +/obj/item/reagent_containers/food/condiment/small/packet/coffee, +/obj/item/reagent_containers/food/condiment/small/packet/coffee, +/obj/item/reagent_containers/food/condiment/small/packet/coffee, +/obj/item/reagent_containers/food/condiment/small/packet/coffee, +/obj/item/reagent_containers/food/condiment/small/packet/coffee, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"w" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/wall/voidcraft/hard_corner, +/area/survivalpod/dorms/holly) +"y" = ( +/turf/simulated/shuttle/wall/voidcraft/hard_corner, +/area/survivalpod/dorms/holly) +"z" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/effect/floor_decal/industrial/danger/full, +/obj/machinery/door/airlock/voidcraft/survival_pod/vertical, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/dorms/holly) +"A" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"C" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 8 + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 4 + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod" + }, +/obj/structure/window/reinforced/polarized/survival_pod{ + id = "hollypod"; + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"D" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/obj/structure/sink/kitchen{ + dir = 4; + pixel_x = 12; + pixel_y = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"F" = ( +/obj/structure/sign/mining/survival, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"G" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"H" = ( +/obj/machinery/disposal/wall{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/floor_decal/spline/plain/corner{ + dir = 8 + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"I" = ( +/obj/structure/sign/mining/survival{ + dir = 1 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"K" = ( +/obj/structure/sign/mining/survival{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod/holly) +"L" = ( +/obj/structure/bed/chair/comfy/blue{ + dir = 8 + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"O" = ( +/obj/effect/floor_decal/spline/plain/corner{ + dir = 1 + }, +/obj/machinery/light/small/fairylights{ + pixel_y = 40 + }, +/obj/machinery/button/windowtint{ + pixel_x = 9; + id = "hollypod"; + pixel_y = 28 + }, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"R" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"S" = ( +/obj/structure/bed/double/padded{ + dir = 1 + }, +/obj/item/bedsheet/bluedouble{ + dir = 1 + }, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/dorms/holly) +"T" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/survivalpod/holly) +"U" = ( +/obj/structure/table/gamblingtable, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) +"W" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/voidcraft/survival_pod/vertical, +/obj/effect/floor_decal/industrial/danger/full, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod/holly) +"X" = ( +/obj/machinery/light_switch/survival_pod{ + dir = 8; + pixel_x = 21; + pixel_y = 30 + }, +/obj/machinery/button/remote/airlock/survival_pod/bolts{ + pixel_x = 22; + pixel_y = 22; + dir = 4 + }, +/obj/structure/privacyswitch{ + dir = 4; + pixel_y = 36; + pixel_x = 20 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/carpet/blue2, +/area/survivalpod/dorms/holly) +"Z" = ( +/obj/structure/bed/chair/sofa/corp/right{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/wood/alt/tile, +/area/survivalpod/holly) + +(1,1,1) = {" +a +p +a +p +C +a +C +a +"} +(2,1,1) = {" +I +t +S +r +j +g +Z +C +"} +(3,1,1) = {" +a +b +X +d +n +U +k +a +"} +(4,1,1) = {" +I +y +z +w +O +L +f +m +"} +(5,1,1) = {" +a +R +T +i +h +A +H +a +"} +(6,1,1) = {" +I +u +l +q +D +o +s +F +"} +(7,1,1) = {" +a +K +G +W +c +G +e +a +"}