Skip to content

Commit

Permalink
New old station/Charlie station (#4304)
Browse files Browse the repository at this point in the history
* Encyption key + headsets

* big steps

* I forgot to tick it....

* Finishing Uncommon Radio

* More new old station

Whole bunch of stuff really. Main additions are new medical

* New ids + (Sechud icons!)

* Update oldstation.dmm

* Non functioning camera network + good for testing

* Im tired john....

* Update oldstation.dmm

* Start of ai ghost role

* No pkas

* Ash Holm

* I dont even know how I made a commit without changes.

Impressive honestly

* ID Names

* Update oldstation.dmm

* afshggkjhghjfgh your honour

* im so tired thats it for tonight

* Cleanbots touch target xenoblood and more map updates too

* Update oldstation.dmm

* a

* unlocked RD consoles

* Fixing #4531

* Linters again.

* wierd door moment
  • Loading branch information
Gw0sty authored Dec 13, 2024
1 parent 4994917 commit 03b0b7c
Show file tree
Hide file tree
Showing 34 changed files with 2,216 additions and 1,104 deletions.
2,973 changes: 1,876 additions & 1,097 deletions _maps/RandomRuins/SpaceRuins/oldstation.dmm

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion _maps/map_files/debug/runtimestation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"bF" = (
/obj/machinery/computer/rdconsole,
/obj/machinery/computer/rdconsole/unlocked,
/turf/open/floor/iron,
/area/station/science)
"bH" = (
Expand Down
2 changes: 1 addition & 1 deletion _maps/map_files/debug/shiptest.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"bF" = (
/obj/machinery/computer/rdconsole,
/obj/machinery/computer/rdconsole/unlocked,
/turf/open/floor/iron,
/area/station/science)
"bG" = (
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@
#define RADIO_CHANNEL_CTF_GREEN "Green Team"
#define RADIO_CHANNEL_CTF_YELLOW "Yellow Team"

#define RADIO_CHANNEL_UNCOMMON "Uncommon"
#define RADIO_KEY_UNCOMMON "f"
#define RADIO_TOKEN_UNCOMMON ":f"

#define MIN_FREE_FREQ 1201 // -------------------------------------------------
// Frequencies are always odd numbers and range from 1201 to 1599.
Expand All @@ -76,6 +79,7 @@
#define FREQ_ENGINEERING 1357 // Engineering comms frequency, orange
#define FREQ_SECURITY 1359 // Security comms frequency, red
#define FREQ_RADIO 1361 //monkestation edit
#define FREQ_UNCOMMON 1363 //monkestation addition, Light gray

#define FREQ_HOLOGRID_SOLUTION 1433
#define FREQ_STATUS_DISPLAYS 1435
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/span.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
#define span_tinynotice(str) ("<span class='tinynotice'>" + str + "</span>")
#define span_tinynoticeital(str) ("<span class='tinynoticeital'>" + str + "</span>")
#define span_unconscious(str) ("<span class='unconscious'>" + str + "</span>")
#define span_uncommonradio(str) ("<span class='uncommonradio'>" + str + "</span>")
#define span_userdanger(str) ("<span class='userdanger'>" + str + "</span>")
#define span_warning(str) ("<span class='warning'>" + str + "</span>")
#define span_yell(str) ("<span class='yell'>" + str + "</span>")
Expand Down
8 changes: 8 additions & 0 deletions code/__DEFINES/~monkestation/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
#define SECHUD_BLUESHIELD "hudblueshield"
#define SECHUD_BARBER "hudbarber"
#define SECHUD_EXPLORER "hudexplorer"
#define SECHUD_CHIEF_MEDICAL_OFFICER_AWAY "hudchiefmedicalofficer_away"
#define SECHUD_CHEF_AWAY "hudchef_away"
#define SECHUD_EXPLORER_AWAY "hudexplorer_away"
#define SECHUD_SCIENTIST_AWAY "hudscientist_away"
#define SECHUD_SECURITY_OFFICER_AWAY "hudsecurityofficer_away"
#define SECHUD_STATION_ENGINEER_AWAY "hudstationengineer_away"
#define SECHUD_APC_AWAY "hudapc_away"
#define SECHUD_ROBOTICIST_AWAY "hudroboticist_away"
#define SECHUD_SIGNAL_TECHINICAN "hudsignaltech"
#define SECHUD_CONTRACTOR "hudsyndicatecontractor"
#define SECHUD_SYNDIECLOWN "hudsyndicateclown"
Expand Down
2 changes: 2 additions & 0 deletions code/game/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ GLOBAL_LIST_INIT(radiochannels, list(
RADIO_CHANNEL_CTF_GREEN = FREQ_CTF_GREEN,
RADIO_CHANNEL_CTF_YELLOW = FREQ_CTF_YELLOW,
RADIO_CHANNEL_RADIO = RADIO_KEY_RADIO,
RADIO_CHANNEL_UNCOMMON = FREQ_UNCOMMON, //monkestation addition
))

GLOBAL_LIST_INIT(reverseradiochannels, list(
Expand All @@ -130,6 +131,7 @@ GLOBAL_LIST_INIT(reverseradiochannels, list(
"[FREQ_CTF_GREEN]" = RADIO_CHANNEL_CTF_GREEN,
"[FREQ_CTF_YELLOW]" = RADIO_CHANNEL_CTF_YELLOW,
"[FREQ_RADIO]" = RADIO_CHANNEL_RADIO,
"[FREQ_UNCOMMON]" = RADIO_CHANNEL_UNCOMMON, //monkestation addition
))

/datum/radio_frequency
Expand Down
14 changes: 14 additions & 0 deletions code/game/objects/items/cards/card_ids.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/obj/item/card/id/away/old/cmo
name = "Charlie Station Chief Medical Officer's ID card"
desc = "A faded Charlie Station ID card. You can make out the rank \"Chief Medical Officer\"."
trim = /datum/id_trim/away/old/cmo

/obj/item/card/id/away/old/chef
name = "Charlie Station Chef's ID card"
desc = "A faded Charlie Station ID card. You can make out the rank \"Chef\"."
trim = /datum/id_trim/away/old/chef

/obj/item/card/id/away/old/explorer
name = "Charlie Station Explorer's ID card"
desc = "A faded Charlie Station ID card. You can make out the rank \"Explorer\"."
trim = /datum/id_trim/away/old/explorer
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/radio/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@
var/datum/signal/subspace/vocal/signal = new(src, freq, speaker, language, message, spans, message_mods)

// Independent radios, on the CentCom frequency, reach all independent radios
if (independent && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_CTF_GREEN || freq == FREQ_CTF_YELLOW))
if (independent && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_CTF_GREEN || freq == FREQ_CTF_YELLOW || freq == FREQ_UNCOMMON))
signal.data["compression"] = 0
signal.transmission_method = TRANSMISSION_SUPERSPACE
signal.levels = list(0)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/storage/boxes/science_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
new /obj/item/circuitboard/machine/protolathe/offstation(src)
new /obj/item/circuitboard/machine/destructive_analyzer(src)
new /obj/item/circuitboard/machine/circuit_imprinter/offstation(src)
new /obj/item/circuitboard/computer/rdconsole(src)
new /obj/item/circuitboard/computer/rdconsole/unlocked(src)

/obj/item/storage/box/stabilized //every single stabilized extract from xenobiology
name = "box of stabilized extracts"
Expand Down
3 changes: 2 additions & 1 deletion code/game/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ GLOBAL_LIST_INIT(freqtospan, list(
"[FREQ_CTF_BLUE]" = "blueteamradio",
"[FREQ_CTF_GREEN]" = "greenteamradio",
"[FREQ_CTF_YELLOW]" = "yellowteamradio",
"[FREQ_RADIO]" = "radioradio"
"[FREQ_RADIO]" = "radioradio",
"[FREQ_UNCOMMON]" = "uncommonradio"
))

/atom/movable/proc/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null, filterproof = FALSE, message_range = 7, datum/saymode/saymode = null)
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
///blood we can clean
var/static/list/cleanable_blood = typecacheof(list(
/obj/effect/decal/cleanable/blood,
/obj/effect/decal/cleanable/xenoblood, // monkestation addition
))
///pests we hunt
var/static/list/huntable_pests = typecacheof(list(
Expand Down
4 changes: 3 additions & 1 deletion code/modules/mob/living/living_say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(

// Misc
RADIO_KEY_AI_PRIVATE = RADIO_CHANNEL_AI_PRIVATE, // AI Upload channel
RADIO_KEY_UNCOMMON = RADIO_CHANNEL_UNCOMMON,


//kinda localization -- rastaf0
Expand Down Expand Up @@ -56,7 +57,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
"в" = MODE_KEY_DEADMIN,

// Misc
"щ" = RADIO_CHANNEL_AI_PRIVATE
"щ" = RADIO_CHANNEL_AI_PRIVATE,
"f" = RADIO_CHANNEL_UNCOMMON
))

/**
Expand Down
Binary file modified icons/mob/huds/hud.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions interface/stylesheet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -237,5 +237,6 @@ h1.alert, h2.alert {color: #000000;}
.orange {color: #b8761a;}
.yellow {color: #c7b72c;}
.cyan {color: #0ea1e6;}
.uncommonradio {color: #78a1b1;}
// MONKESTATION ADDITION END
</style>"}
39 changes: 39 additions & 0 deletions monkestation/code/datums/id_trim/ruins.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,41 @@
/obj/item/card/id/advanced/old
icon_state = "retro"
inhand_icon_state = "card-id"
worn_icon_state = "nothing"
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'

/datum/id_trim/away/old/cmo
access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_COMMAND, ACCESS_AWAY_MEDICAL, ACCESS_AWAY_MAINTENANCE)
assignment = "Charlie Station Chief Medical Officer"
sechud_icon_state = SECHUD_CHIEF_MEDICAL_OFFICER_AWAY

/datum/id_trim/away/old/chef
access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINTENANCE)
assignment = "Charlie Station Chef"
sechud_icon_state = SECHUD_CHEF_AWAY

/datum/id_trim/away/old/explorer
access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_SCIENCE, ACCESS_AWAY_MAINTENANCE, ACCESS_AWAY_SUPPLY, ACCESS_AWAY_GENERIC1, ACCESS_AWAY_GENERIC2, ACCESS_AWAY_GENERIC3, ACCESS_AWAY_GENERIC4) //purposefully has the most msc. access giving them a advantage for having less equipment than a normal explorer upon start.
assignment = "Charlie Station Explorer"
sechud_icon_state = SECHUD_EXPLORER_AWAY

/datum/id_trim/away/old/sci
sechud_icon_state = SECHUD_SCIENTIST_AWAY
access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_SCIENCE, ACCESS_RESEARCH)

/datum/id_trim/away/old/sec
sechud_icon_state = SECHUD_SECURITY_OFFICER_AWAY

/datum/id_trim/away/old/eng
sechud_icon_state = SECHUD_STATION_ENGINEER_AWAY

/datum/id_trim/away/old/robo
sechud_icon_state = SECHUD_ROBOTICIST_AWAY
access = list(ACCESS_AWAY_GENERAL, ACCESS_ROBOTICS, ACCESS_ORDNANCE, ACCESS_RESEARCH, ACCESS_AWAY_SCIENCE)

/datum/id_trim/away/old/apc
sechud_icon_state = SECHUD_APC_AWAY

/datum/id_trim/pirate/lustrous
sechud_icon_state = SECHUD_RADIANT
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@
channels = list(RADIO_CHANNEL_SECURITY = 1, RADIO_CHANNEL_MEDICAL = 1)
greyscale_config = /datum/greyscale_config/encryptionkey_security
greyscale_colors = "#820a16#280b1a"

/obj/item/encryptionkey/headset_uncommon
name = "dusty encryption key"
channels = list(RADIO_CHANNEL_UNCOMMON = 1)
19 changes: 19 additions & 0 deletions monkestation/code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,22 @@
icon_state = "sec_headset"
worn_icon_state = "sec_headset"
keyslot = /obj/item/encryptionkey/headset_secmed

/obj/item/radio/headset/headset_old
name = "old radio headset"
desc = "A headset years past its prime."

/obj/item/radio/headset/headset_old/alt
name = "old security bowman headset"
desc = "A headset years past its prime. Protects ears from flashbangs."
keyslot = /obj/item/encryptionkey/headset_uncommon
icon_state = "med_headset_alt"
worn_icon_state = "med_headset_alt"

/obj/item/radio/headset/headset_old/alt/Initialize(mapload)
. = ..()
AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS))

/obj/item/radio/headset/heads/headset_old
name = "\proper old commander headset"
desc = "A authoritative headset years past its prime. Dust cakes its old design."
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ GLOBAL_LIST_INIT(allowed_translations, list(
"centcom" = FREQ_CENTCOM,
"aiprivate" = FREQ_AI_PRIVATE,
"radio" = FREQ_RADIO,
"uncommon" = FREQ_UNCOMMON,
))
)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/obj/item/paper/fluff/ruins/oldstation/distro_guide
name = "Reminder - air distrubtion."
default_raw_text = "<b>Reminder!</b><br><br>Blue on layer 4 is for air.<br> Red on layer 2 is for the scrubbers.<br><br>\
The dispenser prints our pipes with this in mind so they dont get accidentally connected. Doesn't matter if 'purple is a pretty colour', it won't connect."
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse.
/obj/effect/mob_spawn/ghost_role/human/oldchef
name = "old cryogenics pod"
desc = "A humming cryo pod. You can barely recognise a chef uniform underneath the built up ice. The machine is attempting to wake up its occupant."
prompt_name = "a chef"
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper"
mob_species = /datum/species/human
you_are_text = "You are a chef working for Nanotrasen, stationed onboard a state of the art research station."
flavour_text = "You vaguely recall rushing into a cryogenics pod due to an oncoming radiation storm. \
The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod."
important_text = "Work as a team with your fellow survivors and do not abandon them."
outfit = /datum/outfit/oldchef
spawner_job_path = /datum/job/ancient_crew

/obj/effect/mob_spawn/ghost_role/human/oldchef/Destroy()
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
return ..()

/datum/outfit/oldchef
name = "Ancient Chef"
id = /obj/item/card/id/advanced/old
id_trim = /datum/id_trim/away/old/chef
uniform = /obj/item/clothing/under/rank/civilian/chef
suit = /obj/item/clothing/suit/toggle/chef
ears = /obj/item/radio/headset/headset_old
head = /obj/item/clothing/head/utility/chefhat
mask = /obj/item/clothing/mask/fakemoustache/italian
l_pocket = /obj/item/sharpener
belt = /obj/item/knife/kitchen

/datum/outfit/oldchef/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return

var/obj/item/radio/headset/R = H.ears
R.set_frequency(FREQ_UNCOMMON)
R.freqlock = RADIO_FREQENCY_LOCKED
R.independent = TRUE
var/obj/item/card/id/W = H.wear_id
if(W)
W.registered_name = H.real_name
W.update_label()
W.update_icon()
..()
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse.
/obj/effect/mob_spawn/ghost_role/human/oldcmo
name = "old command cryogenics pod"
desc = "A humming cryo pod. You can barely recognise a Chief Medical Officer's uniform underneath the built up ice. The machine is attempting to wake up its occupant."
prompt_name = "the Chief Medical Officer"
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper"
mob_species = /datum/species/human
you_are_text = "You are a Chief Medical Officer working for Nanotrasen, stationed onboard a state of the art research station."
flavour_text = "You vaguely recall rushing into a cryogenics pod due to an oncoming radiation storm. \
The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod."
important_text = "Work as a team with your fellow survivors and do not abandon them. You are expected to be familiar with Old station for this role."
outfit = /datum/outfit/oldcmo
spawner_job_path = /datum/job/ancient_crew

/obj/effect/mob_spawn/ghost_role/human/oldcmo/Destroy()
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
return ..()

/datum/outfit/oldcmo
name = "Ancient Chief Medical Officer"
id = /obj/item/card/id/advanced/old
id_trim = /datum/id_trim/away/old/cmo
uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck
shoes = /obj/item/clothing/shoes/jackboots
l_pocket = /obj/item/flashlight/pen/paramedic
r_pocket = /obj/item/pinpointer/crew
implants = list(/obj/item/implant/mindshield)
skillchips = list(/obj/item/skillchip/entrails_reader)
ears = /obj/item/radio/headset/heads/headset_old

/datum/outfit/oldcmo/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return

var/obj/item/radio/headset/R = H.ears
R.set_frequency(FREQ_UNCOMMON)
R.freqlock = RADIO_FREQENCY_LOCKED
R.independent = TRUE
var/obj/item/card/id/W = H.wear_id
if(W)
W.registered_name = H.real_name
W.update_label()
W.update_icon()
..()
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/datum/outfit/oldeng
ears = /obj/item/radio/headset/headset_old
skillchips = /obj/item/skillchip/job/engineer
id = /obj/item/card/id/advanced/old
id_trim = /datum/id_trim/away/old/eng
belt = /obj/item/storage/belt/utility/full/engi

/datum/outfit/oldeng/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return

var/obj/item/radio/headset/R = H.ears
R.set_frequency(FREQ_UNCOMMON)
R.freqlock = RADIO_FREQENCY_LOCKED
R.independent = TRUE
var/obj/item/card/id/W = H.wear_id
if(W)
W.registered_name = H.real_name
W.update_label()
W.update_icon()
..()
Loading

0 comments on commit 03b0b7c

Please sign in to comment.