From 1993b8d7ca6754b12cb75b23fe7324c7f1c433ca Mon Sep 17 00:00:00 2001 From: Incoming5643 Date: Thu, 25 Aug 2016 16:46:52 -0400 Subject: [PATCH] [s] Adds the top secret room to centcom (#20071) * Adds the top secret room to centcom, the final destination of players who manage to cosign themselves to nullspace. Said room is an homage to a room that served a similar purpose in the legend of zelda. * Follow up issues pull: for loop optimization game logging spelling errors * more info for admin message --- _maps/map_files/generic/z2.dmm | 359 ++++++++++-------- code/game/area/Space_Station_13_areas.dm | 7 + .../modules/awaymissions/super_secret_room.dm | 118 ++++++ code/modules/mob/living/carbon/life.dm | 2 - code/modules/mob/living/life.dm | 10 +- icons/obj/economy.dmi | Bin 22864 -> 23200 bytes icons/obj/structures.dmi | Bin 119203 -> 119598 bytes tgstation.dme | 1 + 8 files changed, 328 insertions(+), 169 deletions(-) create mode 100644 code/modules/awaymissions/super_secret_room.dm diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 51875e9322e..ce5d8e815ef 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -5823,6 +5823,35 @@ dir = 8 }, /area/holodeck/rec_center/medical) +"tj" = ( +/turf/closed/indestructible/riveted, +/area/awaymission/errorroom) +"tk" = ( +/turf/closed/mineral/ash_rock, +/area/awaymission/errorroom) +"tl" = ( +/obj/structure/speaking_tile, +/turf/closed/mineral/ash_rock, +/area/awaymission/errorroom) +"tm" = ( +/obj/item/rupee, +/turf/open/floor/mineral/abductor, +/area/awaymission/errorroom) +"tn" = ( +/turf/open/floor/mineral/abductor, +/area/awaymission/errorroom) +"to" = ( +/obj/effect/landmark/error, +/turf/open/floor/mineral/abductor, +/area/awaymission/errorroom) +"tp" = ( +/obj/structure/signpost/salvation{ + icon = 'icons/obj/structures.dmi'; + icon_state = "ladder10"; + invisibility = 100 + }, +/turf/open/floor/mineral/abductor, +/area/awaymission/errorroom) "tq" = ( /obj/structure/closet/cardboard, /turf/open/floor/plating/airless, @@ -6337,17 +6366,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tj +tj +tj +tj +tj +tj +tj +tj +tj +tj ab "} (3,1,1) = {" @@ -6594,17 +6623,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tk +tk +tk +tk +tk +tk +tk +tk +tj ab "} (4,1,1) = {" @@ -6851,17 +6880,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (5,1,1) = {" @@ -7108,17 +7137,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (6,1,1) = {" @@ -7365,17 +7394,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (7,1,1) = {" @@ -7622,17 +7651,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tn +tn +tn +tn +tn +tn +tn +tk +tj ab "} (8,1,1) = {" @@ -7879,17 +7908,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tn +tn +tn +tk +tj ab "} (9,1,1) = {" @@ -8136,17 +8165,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tl +tm +tm +tm +tn +tn +to +tp +tk +tj ab "} (10,1,1) = {" @@ -8393,17 +8422,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tn +tn +tn +tk +tj ab "} (11,1,1) = {" @@ -8650,17 +8679,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tn +tn +tn +tn +tn +tn +tn +tk +tj ab "} (12,1,1) = {" @@ -8907,17 +8936,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (13,1,1) = {" @@ -9164,17 +9193,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (14,1,1) = {" @@ -9421,17 +9450,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tm +tm +tm +tn +tm +tm +tm +tk +tj ab "} (15,1,1) = {" @@ -9678,17 +9707,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tk +tk +tk +tk +tk +tk +tk +tk +tk +tj ab "} (16,1,1) = {" @@ -9935,17 +9964,17 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +tj +tj +tj +tj +tj +tj +tj +tj +tj +tj +tj ab "} (17,1,1) = {" diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index c2e372825a1..94ed99eef9c 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -1397,6 +1397,13 @@ var/list/teleportlocs = list() has_gravity = 1 ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg') +/area/awaymission/errorroom + name = "Super Secret Room" + luminosity = 1 + lighting_use_dynamic = DYNAMIC_LIGHTING_DISABLED + has_gravity = 1 + + /area/spacecontent name = "space" diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm new file mode 100644 index 00000000000..2e0c60acf3c --- /dev/null +++ b/code/modules/awaymissions/super_secret_room.dm @@ -0,0 +1,118 @@ +/obj/structure/speaking_tile + name = "strange tile" + desc = "A weird tile that beckons you towards it. Maybe it can help you get out of this mess..." + verb_say = "intones" + icon = 'icons/obj/structures.dmi' + icon_state = "speaking_tile" + layer = 5 + var/speaking = FALSE + var/times_spoken_to = 0 + var/list/shenanigans = list() + +/obj/structure/speaking_tile/New() + var/savefile/S = new /savefile("data/npc_saves/Poly.sav") + S["phrases"] >> shenanigans + ..() + +/obj/structure/speaking_tile/interact(mob/user) + if(!isliving(user) || speaking) + return + speaking = TRUE + + switch(times_spoken_to) + if(0) + SpeakPeace(list("Welcome to the error handling room.","Something's goofed up bad to send you here.","You should probably tell an admin what you were doing, or make a bug report.")) + for(var/obj/structure/signpost/salvation/S in orange(7)) + S.invisibility = 0 + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(1, S.loc) + smoke.start() + break + if(1) + SpeakPeace(list("Take that ladder up.","It'll send you back to the station.","Hopefully you'll never need to see this place again.")) + if(2) + SpeakPeace(list("Curious about what happened?","Somehow your corporeal form was sent to nullspace with you still in it.","Lucky for you this room exists to save you from that horrible fate.")) + if(3) + SpeakPeace(list("So yeah, you're welcome.","Anyway don't you have things to do?","There's no real point to sticking around here forever.")) + if(4) + SpeakPeace(list("I'm flattered you care this much about this room.","However it's not proper to just stand in here all shift and see what I'll say.","I'm going to work hard to be more boring so you'll leave.")) + if(5 to 8) + SpeakPeace(list("...")) + if(9) + SpeakPeace(list("Alright maybe that's too boring.", "I can't keep manually typing these lines out though.", "It's hard to explain but the code structure I'm using is kind of terrible.")) + if(10) + SpeakPeace(list("Oh I have an idea!", "Lets outsource this endless banter to Poly!", "Then you'll be able to keep listening to this without getting bored!")) + if(isnull(shenanigans)) + shenanigans = list("Except the poly file is missing...") + if(11 to 14, 16 to 50, 52 to 99, 103 to 107, 109 to 203, 205 to 249, 252 to 665, 667 to 999, 1001 to 5642) + SpeakPeace(list(pick(shenanigans),pick(shenanigans),pick(shenanigans))) + if(times_spoken_to * 0.1 == round(times_spoken_to * 0.1)) + SpeakPeace(list("That's [times_spoken_to] times you've spoken to me by the way.")) + if(15) + SpeakPeace(list("See? Isn't this fun?","Now you can mash this for hours without getting bored.","Anyway I'll leave you it.")) + if(51) + SpeakPeace(list("The fun never ends around here.", "The Poly text files stores up to 500 statements.", "But you've probably heard a few repeats by now.")) + if(100) + SpeakPeace(list("And that's a solid hundred.", "Good hustle I guess.", "You've probably heard a lot of repeats by now.")) + if(101) + SpeakPeace(list("I hope you're getting the reference this room is presenting.", "As well as the more obscure meta reference this conversation is presenting.", "This stuff has layers.")) + if(102) + SpeakPeace(list("I am very tempted to just stretch this out forever.","It's technically easier than doing this.","Just an option.")) + if(108) + SpeakPeace(list("But you have my respect for being this dedicated to the joke.", "So tell you what we're going to do, we're going to set a goal.", "250 is your final mission.")) + if(204) + SpeakPeace(list("Notice how there was no special message at 200?", "The slow automation of what used to be meaningful milestones?","It's all part of the joke.")) + if(250) + SpeakPeace(list("Congratulations.", "By my very loose calculations you've now wasted a decent chunk of the round doing this.", "But you've seen this meme to its conclusion, and that's a experience in itself, right?")) + if(251) + SpeakPeace(list("Anyway, here.", "I can't give you anything that would impact the progression of the round.","But you've earned this at least.")) + var/obj/item/weapon/reagent_containers/food/drinks/trophy/silver_cup/the_ride = new(get_turf(user)) + the_ride.name = "Overextending The Joke: Second Place" + the_ride.desc = "There's a point where this needed to stop, and we've clearly passed it." + if(252) + SpeakPeace(list("You know what this means right?", "Of course it's not over!", "The question becomes now is it more impressive to solider on to an unknown finish, or to have to common sense to stop here?")) + if(666) + SpeakPeace(list("The darkness in your heart won't be filled by simple platitudes.","You won't stop now, you're in this to the end.", "Will you reach the finish line before the round ends?")) + if(1000) + SpeakPeace(list("The ends exists somewhere beyond meaningful milestones.", "There will be no more messages until then.", "You disgust me.")) + if(5643) + var/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup/never_ends = new(get_turf(user)) + never_ends.name = "Overextending The Joke: First Place" + never_ends.desc = "And so we are left alone with our regrets." + else + y += 2 + + speaking = FALSE + times_spoken_to++ + +/obj/structure/speaking_tile/proc/SpeakPeace(list/statements) + for(var/i in 1 to statements.len) + say("[statements[i]]") + if(i != statements.len) + sleep(30) + +/obj/item/rupee + name = "weird crystal" + desc = "Your excitement boils away as you realize it's just colored glass. Why would someone hoard these things?" + icon = 'icons/obj/economy.dmi' + icon_state = "rupee" + w_class = 2 + materials = list(MAT_GLASS = 500) + +/obj/item/rupee/New() + color = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple")) + ..() + +/obj/item/rupee/Crossed(mob/M) + if(M.put_in_hands(src)) + if(src != M.get_active_hand()) + M.swap_hand() + equip_to_best_slot(M) + ..() + +/obj/item/rupee/equipped(mob/user, slot) + playsound(get_turf(loc), 'sound/misc/server-ready.ogg', 50, 1, -1) + ..() + +/obj/effect/landmark/error + name = "error" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index bc6497ce7cd..06ddbb734d2 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -4,8 +4,6 @@ if (notransform) return - if(!loc) - return if(damageoverlaytemp) damageoverlaytemp = 0 diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index c6dcd735de1..16bc71cc637 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -8,7 +8,14 @@ if (notransform) return if(!loc) - return + if(client) + for(var/obj/effect/landmark/error/E in landmarks_list) + loc = E.loc + break + message_admins("[key_name_admin(src)] was found to have no .loc with an attached client, if the cause is unknown it would be wise to ask how this was accomplished.") + log_game("[key_name(src)] was found to have no .loc with an attached client.") + else + return var/datum/gas_mixture/environment = loc.return_air() if(stat != DEAD) @@ -47,7 +54,6 @@ handle_status_effects() //all special effects, stunned, weakened, jitteryness, hallucination, sleeping, etc - /mob/living/proc/handle_breathing() return diff --git a/icons/obj/economy.dmi b/icons/obj/economy.dmi index 4b65337dbee1e8bff6a22d761cc1374cdeb61cf4..fef7637ba6c8d683288da185af5dc1a618aa8466 100644 GIT binary patch delta 4070 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 delta 3731 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 o7s9vPB2Gd47oPuu+W&4o1ac_4@Zmg)E$DPz>% diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index fb49e6d364c449be25300bdcf07ffcc7a62a1e8e..daae938fbd2e477bff11759402cb8e7de8d027d7 100644 GIT binary patch delta 9868 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 WX##sAAP_DHq@t*)@L3KT^8WyP!Ac$g diff --git a/tgstation.dme b/tgstation.dme index 17293fa14c5..ef990ed4ab6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -956,6 +956,7 @@ #include "code\modules\awaymissions\gateway.dm" #include "code\modules\awaymissions\pamphlet.dm" #include "code\modules\awaymissions\signpost.dm" +#include "code\modules\awaymissions\super_secret_room.dm" #include "code\modules\awaymissions\zlevel.dm" #include "code\modules\awaymissions\maploader\dmm_suite.dm" #include "code\modules\awaymissions\maploader\reader.dm"