[MIRROR] Easter Egg DLC - Captain's log and WGW [MDB IGNORE] (#16702)

* Easter Egg DLC - Captain's log and WGW (#68411)

This adds two easter eggs that have been apart of SS13 lore since the game was created:

    Captain's Log - Broken tape recorder that (spawns on the derelict station)
    Woody's Got Wood - Used spellbook that makes a person go temporary blind if they read it (spawns in curators forbidden knowledge bookcase)

Why It's Good For The Game

These have been apart of SS13 lore for a long time. It would be cool to have some "official" easter eggs for players to discover.
Changelog

cl
add: Add mail goodies for curator. (random books)
add: Adds easter egg - Captain's Log. Tape recorder that spawns on derelict station.
add: Adds easter egg - Woody's Got Wood. Will rarely appear as a mail goodie for curator.
/cl

* Easter Egg DLC - Captain's log and WGW

Co-authored-by: Tim <timothymtorres@gmail.com>
This commit is contained in:
SkyratBot
2022-10-07 16:29:51 -07:00
committed by GitHub
co-authored by Tim
parent 8ebeecb7c0
commit e12f68df05
5 changed files with 258 additions and 92 deletions
+92 -87
View File
@@ -170,12 +170,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/hallway/central)
"cg" = (
/obj/structure/table,
/obj/item/clothing/head/chefhat,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/kitchen)
"ci" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -240,10 +234,31 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/ruin/space/ks13/security/court)
"cR" = (
/obj/machinery/computer/monitor{
dir = 4
},
/obj/structure/cable,
/obj/machinery/power/apc/unlocked{
dir = 8;
environ = 0;
equipment = 0;
lighting = 0;
name = "Aft Solar APC";
pixel_x = -25;
start_charge = 0
},
/turf/open/floor/iron,
/area/ruin/space/ks13/engineering/sb_bow_solars_control)
"de" = (
/obj/structure/girder/reinforced,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/atmos)
"df" = (
/obj/structure/table,
/obj/item/clothing/head/powdered_wig,
/turf/open/floor/iron,
/area/ruin/space/ks13/security/court)
"dj" = (
/obj/structure/closet/radiation,
/turf/open/floor/iron,
@@ -501,6 +516,12 @@
/obj/structure/girder/reinforced,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/service/jani)
"ic" = (
/obj/structure/table,
/obj/item/clothing/head/chefhat,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/kitchen)
"ie" = (
/obj/effect/decal/cleanable/glass,
/obj/item/shard{
@@ -1236,17 +1257,6 @@
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/central)
"pU" = (
/obj/docking_port/stationary{
dir = 2;
dwidth = 11;
height = 22;
shuttle_id = "whiteship_z4";
name = "KSS13: Derelict";
width = 35
},
/turf/template_noop,
/area/space/nearstation)
"pW" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -1631,19 +1641,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/engine/air,
/area/ruin/space/ks13/science/ordnance)
"sa" = (
/obj/structure/table/wood,
/obj/item/clothing/head/caphat{
armor = null;
desc = "A worn captains hat. This probably won't protect your noggin too well.";
pixel_x = 7;
pixel_y = 9
},
/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"sc" = (
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/science/genetics)
@@ -1911,6 +1908,35 @@
/obj/item/stack/rods,
/turf/template_noop,
/area/space/nearstation)
"tq" = (
/obj/structure/closet/crate,
/obj/item/clothing/head/rasta,
/obj/item/clothing/head/beanie/black,
/obj/item/clothing/head/beanie/christmas,
/obj/item/clothing/head/beanie/darkblue,
/obj/item/clothing/head/beanie/red,
/obj/item/clothing/head/waldo,
/obj/item/clothing/head/bearpelt,
/obj/item/clothing/head/beret,
/obj/item/clothing/head/bomb_hood,
/obj/item/clothing/head/bunnyhead,
/obj/item/clothing/head/cardborg,
/obj/item/clothing/head/cone,
/obj/item/clothing/head/festive,
/obj/item/clothing/head/helmet/riot,
/obj/item/clothing/head/helmet/sec,
/obj/item/clothing/head/jester,
/obj/item/clothing/head/nun_hood,
/obj/item/clothing/head/papersack,
/obj/item/clothing/head/rabbitears,
/obj/item/clothing/head/snowman,
/obj/item/clothing/head/sombrero,
/obj/item/clothing/head/wig,
/obj/item/clothing/head/wizard/fake,
/obj/item/clothing/head/wizard/santa,
/obj/item/clothing/head/xenos,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/ai/vault)
"tr" = (
/obj/structure/cable,
/turf/open/floor/iron/chapel,
@@ -2270,6 +2296,11 @@
/obj/structure/table_frame,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/atmos)
"vL" = (
/obj/effect/mapping_helpers/burnt_floor,
/obj/item/tape/captains_log,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"vN" = (
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/aft)
@@ -2368,6 +2399,19 @@
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/aft)
"ws" = (
/obj/structure/table/wood,
/obj/item/clothing/head/caphat{
armor = null;
desc = "A worn captains hat. This probably won't protect your noggin too well.";
pixel_x = 7;
pixel_y = 9
},
/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"wu" = (
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt,
@@ -2480,6 +2524,17 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron,
/area/ruin/space/ks13/command/bridge)
"wV" = (
/obj/docking_port/stationary{
dir = 2;
dwidth = 11;
height = 22;
shuttle_id = "whiteship_z4";
name = "KSS13: Derelict";
width = 35
},
/turf/template_noop,
/area/space/nearstation)
"wX" = (
/obj/machinery/light/directional/north,
/obj/structure/closet/crate,
@@ -5122,11 +5177,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/dorms)
"KJ" = (
/obj/structure/table,
/obj/item/clothing/head/powdered_wig,
/turf/open/floor/iron,
/area/ruin/space/ks13/security/court)
"KL" = (
/obj/item/shard{
icon_state = "small";
@@ -7300,35 +7350,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/hydro)
"VG" = (
/obj/structure/closet/crate,
/obj/item/clothing/head/rasta,
/obj/item/clothing/head/beanie/black,
/obj/item/clothing/head/beanie/christmas,
/obj/item/clothing/head/beanie/darkblue,
/obj/item/clothing/head/beanie/red,
/obj/item/clothing/head/waldo,
/obj/item/clothing/head/bearpelt,
/obj/item/clothing/head/beret,
/obj/item/clothing/head/bomb_hood,
/obj/item/clothing/head/bunnyhead,
/obj/item/clothing/head/cardborg,
/obj/item/clothing/head/cone,
/obj/item/clothing/head/festive,
/obj/item/clothing/head/helmet/riot,
/obj/item/clothing/head/helmet/sec,
/obj/item/clothing/head/jester,
/obj/item/clothing/head/nun_hood,
/obj/item/clothing/head/papersack,
/obj/item/clothing/head/rabbitears,
/obj/item/clothing/head/snowman,
/obj/item/clothing/head/sombrero,
/obj/item/clothing/head/wig,
/obj/item/clothing/head/wizard/fake,
/obj/item/clothing/head/wizard/santa,
/obj/item/clothing/head/xenos,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/ai/vault)
"VH" = (
/obj/effect/mapping_helpers/burnt_floor,
/obj/item/ammo_casing/a357{
@@ -8137,22 +8158,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/security/sec)
"ZQ" = (
/obj/machinery/computer/monitor{
dir = 4
},
/obj/structure/cable,
/obj/machinery/power/apc/unlocked{
dir = 8;
environ = 0;
equipment = 0;
lighting = 0;
name = "Aft Solar APC";
pixel_x = -25;
start_charge = 0
},
/turf/open/floor/iron,
/area/ruin/space/ks13/engineering/sb_bow_solars_control)
"ZR" = (
/obj/effect/decal/cleanable/blood/gibs/torso,
/turf/open/floor/iron/dark,
@@ -9271,7 +9276,7 @@ CU
Xj
uf
rk
qG
vL
ZD
aa
aa
@@ -10635,7 +10640,7 @@ Jr
Jr
PE
NZ
cg
ic
oT
Cv
Dq
@@ -11672,7 +11677,7 @@ NW
aa
aa
aa
pU
wV
aa
aa
aa
@@ -15327,7 +15332,7 @@ yz
oP
wX
At
VG
tq
At
oZ
oP
@@ -15770,7 +15775,7 @@ pR
pR
xS
VB
ZQ
cR
DU
yz
yz
@@ -16029,7 +16034,7 @@ SA
Am
rl
HL
sa
ws
Hu
IL
rk
@@ -16604,7 +16609,7 @@ sg
zN
uw
gH
KJ
df
JT
MO
gy
@@ -340,7 +340,6 @@
/obj/item/taperecorder/empty
starting_tape_type = null
/obj/item/tape
name = "tape"
desc = "A magnetic tape that can hold up to ten minutes of content on either side."
@@ -371,10 +370,6 @@
var/list/icons_available = list()
var/radial_icon_file = 'icons/hud/radial_tape.dmi'
/obj/item/tape/fire_act(exposed_temperature, exposed_volume)
unspool()
..()
/obj/item/tape/Initialize(mapload)
. = ..()
initial_icon_state = icon_state //random tapes will set this after choosing their icon
@@ -387,6 +382,15 @@
if(prob(50))
tapeflip()
/obj/item/tape/examine(mob/user)
. = ..()
if(unspooled)
. += span_notice("It looks like the tape is unspooled. A screwdriver might fix this.")
/obj/item/tape/fire_act(exposed_temperature, exposed_volume)
unspool()
..()
/obj/item/tape/proc/update_available_icons()
icons_available = list()
@@ -17,3 +17,17 @@
. = ..()
to_chat(user, span_warning("You go blind!"))
user.adjust_blindness(10)
/obj/item/book/granter/action/spell/blind/wgw
name = "Woody's Got Wood"
pages_to_mastery = 69 // Andy's favorite number
uses = 0 // it's spent
desc = "This book looks dangerous. Only suffering awaits those who read."
remarks = list( // Death awaits
"T-T-This is bad...",
"This is REALLY bad...",
"I think my eyes are starting to bleed...",
"Please, make it stop...",
"HELP ME SOMEONE, WHY AM I READING THIS...",
)
+6
View File
@@ -21,6 +21,12 @@
/datum/job_department/service,
)
mail_goodies = list(
/obj/item/book/random = 44,
/obj/item/book/manual/random = 5,
/obj/item/book/granter/action/spell/blind/wgw = 1,
)
family_heirlooms = list(/obj/item/pen/fountain, /obj/item/storage/dice)
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
@@ -175,3 +175,140 @@
icon = 'icons/obj/weapons/turrets.dmi'
icon_state = "turretCover"
density = TRUE
/// Captain's log
/// Credits to goonstation13 for orginal SS13 lore
/// https://wiki.ss13.co/Storyline
/// https://www.youtube.com/watch?v=7M-JPH5SOmI (old video)
/// https://www.youtube.com/watch?v=FHH1vfY6HTA (new video)
/obj/item/tape/captains_log
name = "captain's log"
desc = "A dusty old tape."
icon_state = "tape_blue"
used_capacity = 10 MINUTES // so the tape is full and can't be recorded over
storedinfo = list( // the captain recorded this in several segements
// 1st monologue (start of shift)
"\[00:01\] Every single day I spend on this station",
"\[00:07\] I become more and more certain that this was some kind of macabre punishment assignment",
"\[00:17\] I don't know what I did to deserve being consigned to this glued together ball of orbital wreckage",
"\[00:28\] But someones got it out for me",
"\[00:36\] On the station I may well be called 'Captain'",
"\[00:42\] But the title brings with it all the prestige and responsibility of some kind of fucking manchild kindergarten teacher",
"\[00:55\] To think Nanotrasen loves to call this hellhole:",
"\[01:03\] A state of the art orbital plasma research facility",
"\[01:10\] If I remember correctly though",
"\[01:15\] It was all about the plasma",
"\[01:19\] It was like the new oil",
"\[01:25\] As soon as we got all the fun exploration and discovery shit out of the way",
"\[01:35\] We started drilling",
"\[01:40\] All the companies and industries wanted to guzzle it up",
"\[01:48\] Despite the fact we knew jack shit about it and still don't",
"\[01:55\] But that didn't stop them",
"\[01:59\] (clicking sound)",
// 2nd monologue (early shift)
"\[15:05\] So they give me a crew of scientists and engineers to research and harness this so called plasma",
"\[15:15\] Not to mention the INCOMPETENT security",
"\[15:20\] The HOMICIDAL chef",
"\[15:25\] SUSPICIOUS fucking detective",
"\[15:29\] USELESS clown",
"\[15:35\] And BATSHIT fucking janitors",
"\[15:46\] That includes the crotchety fucking IBM piece of shit we're supposed to call an AI",
"\[15:52\] And it's legion of cyborg assholes",
"\[15:58\] If this wasn't bad enough there is the wizards federation to worry about",
"\[16:06\] Crazy bastards",
"\[16:10\] What can be worse than a bunch of plasma-humping-space-freaks?",
"\[16:17\] The syndicate",
"\[16:21\] Hell bent on nuking everything we've accomplished to kingdom come",
"\[16:27\] Yet the crew still goes about their daily business",
"\[16:33\] Constantly looking over their shoulder in suspicion of one another",
"\[16:40\] And who wouldn't? Even the monkeys on board for genetic testing are monitored 24/7",
"\[16:52\] Despite it all though",
"\[16:56\] These cruel, paranoid, rejects spend every waking hour perfecting their robust combat skills",
"\[17:00\] Or wondering in awe at the promise plasma has to offer",
"\[17:07\] And if things go wrong it's hardly a problem",
"\[17:17\] Our advanced genetics and medical staff can ensure a 2nd life in matter of minutes",
// 3rd monologue (middle shift)
"\[28:03\] I don't know why i'm even recording this...",
"\[28:13\] I sure as hell don't need it for myself",
"\[28:25\] Sure, I could upload it with all the evidence and dirt i've found over the years on Nanotrasen",
"\[28:32\] But what's the point?",
"\[28:36\] Who would give a shit other than corporate making me suddenly disappear?",
"\[28:47\] I suppose I could send and upload it to the network and let people make their own judgements",
"\[28:59\] After all, i'm the one sitting out here in deep space, cruising along leisurely",
// 4th monologue (end of shift)
"\[47:01\] I don't care what they call me back on the station",
"\[47:06\] I'm not a traitor!",
"\[47:10\] I'm a man of principles and standards",
"\[47:17\] And if lives get in the way of those principles, so be it",
"\[47:22\] I'd say I'm the better man here",
"\[47:32\] Once they called me captain, but when it's all said and done",
"\[47:41\] I'll be a hero",
"\[47:45\] If you run across this transmission by chance",
"\[47:52\] Get you pudgy little nerd ass over to Space Station 13 and start busting heads.",
"\[48:00\] (farting noises)",
)
timestamp = list(
// 1st monologue (start of shift)
1 SECONDS,
7 SECONDS,
17 SECONDS,
28 SECONDS,
36 SECONDS,
42 SECONDS,
55 SECONDS,
1 MINUTES + 3 SECONDS,
1 MINUTES + 10 SECONDS,
1 MINUTES + 15 SECONDS,
1 MINUTES + 19 SECONDS,
1 MINUTES + 25 SECONDS,
1 MINUTES + 35 SECONDS,
1 MINUTES + 40 SECONDS,
1 MINUTES + 48 SECONDS,
1 MINUTES + 55 SECONDS,
1 MINUTES + 59 SECONDS,
// 2nd monologue (early shift)
15 MINUTES + 5 SECONDS,
15 MINUTES + 15 SECONDS,
15 MINUTES + 20 SECONDS,
15 MINUTES + 25 SECONDS,
15 MINUTES + 29 SECONDS,
15 MINUTES + 35 SECONDS,
15 MINUTES + 46 SECONDS,
15 MINUTES + 52 SECONDS,
15 MINUTES + 58 SECONDS,
16 MINUTES + 6 SECONDS,
16 MINUTES + 10 SECONDS,
16 MINUTES + 17 SECONDS,
16 MINUTES + 21 SECONDS,
16 MINUTES + 27 SECONDS,
16 MINUTES + 33 SECONDS,
16 MINUTES + 40 SECONDS,
16 MINUTES + 52 SECONDS,
16 MINUTES + 56 SECONDS,
17 MINUTES + 0 SECONDS,
17 MINUTES + 7 SECONDS,
17 MINUTES + 17 SECONDS,
// 3rd monologue (middle shift)
28 MINUTES + 3 SECONDS,
28 MINUTES + 13 SECONDS,
28 MINUTES + 25 SECONDS,
28 MINUTES + 32 SECONDS,
28 MINUTES + 36 SECONDS,
28 MINUTES + 47 SECONDS,
28 MINUTES + 59 SECONDS,
// 4th monologue (end of shift)
47 MINUTES + 1 SECONDS,
47 MINUTES + 6 SECONDS,
47 MINUTES + 10 SECONDS,
47 MINUTES + 17 SECONDS,
47 MINUTES + 22 SECONDS,
47 MINUTES + 32 SECONDS,
47 MINUTES + 41 SECONDS,
47 MINUTES + 45 SECONDS,
47 MINUTES + 52 SECONDS,
48 MINUTES + 0 SECONDS,
)
/obj/item/tape/captains_log/Initialize(mapload)
. = ..()
unspool() // the tape spawns damaged