Skip to content

Commit 02884f8

Browse files
[DNM] [IDB IGNORE] [MDB IGNORE] Merging supporting commits for Cynosure. (#89)
* Fix errors discovered by unit tests * Readd phoron, courtesy of Lighthouse * Disable Big Pharma modpack * Initial map conversion of Cynosure. * Fix random mouse spawners * Add Cynosure exploration gear * Port departmental winter boots from Lighthouse * Port fences from Lighthouse * Add Cynosure migration file * Continue Cynosure migration * Replace Big Pharma with Baychems on Cynosure * Port departmental EFTPOS scanners from Lighthouse * Migrate Cynosure varedited sheets and some misc. items * Add support for migration directories to update_paths * Add missing oldtile floor decals * Add N2O anesthetic tank * Partially migrate Cynosure Z2 * Remove invalid shuttle floor Cynosure migrations * Fix overlooked cigarette machine var edits on Cynosure * Migrate Baychem pill bottles to new paths * Fix incorrect pipe dispenser migrations * Add and run additional migrations for Cynosure * Add stack of twenty-five metal rods * Add additional legacy migrations for mech parts * Fix mis-named yellow dress * Migrate more Cynosure types (mostly clothes) * Add a handful of legacy migrations (mostly clothing) * Port Polaris permits from Lighthouse * Add partially-constructed light fixture presets * Add red back-mounted oxygen tank * Migrate and stub additional Cynosure types * Add Sif flora for Cynosure * Fix incorrect base_turf path on Cynosure admin level * Add wall-mounted anesthetic pump * Add mobile oxygen pumps * Implement or remove several missing Cynosure areas * Add bar holosign and sprite * Fix bar open/closed sign icons * Run the legacy migrations on Cynosure again because I forgot to * Migrate a bunch of Cynosure shuttle wall turfs * Port maid dresses from Lighthouse/Polaris * Port fluffy cuffs from Lighthouse * Port voidcraft walls from Lighthouse * Port EMT voidsuit from Lighthouse * Fix article capitalization in emote strings * Fix incorrect usage of bool for material opacity * Add/expand cryopod visible messages * Port door cryopods from Lighthouse * Add security newscaster preset * Add hidden SMES preset for use in submaps * Fix tram door glass color * Compile fixes for Cynosure map. * More Cynosure map conversion. * Porting Polaris flora from SCross port. * Map conversion following rebase. * Reimplementing/including files for Cynosure. * Continuing to update Cynosure paths/stubs. * Moving Cynosure icons into Polaris modpack. * Updating after rebase to current Polnebdev. * Snipping out Cynosure for interim merge to main Polnebdev. * Removing unimplemented stub types. * Fixes to pass CI. * Removed redundant maid dresses. --------- Co-authored-by: Penelope Haze <[email protected]>
1 parent e401011 commit 02884f8

File tree

128 files changed

+1466
-135
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+1466
-135
lines changed

code/__defines/holomap.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#define HOLOMAP_AREACOLOR_ESCAPE "#ff0000cc"
2626
#define HOLOMAP_AREACOLOR_CREW "#5bc1c199"
2727
#define HOLOMAP_AREACOLOR_MAINTENANCE "#9c895066"
28+
2829
// If someone can come up with a non-conflicting color for the lifts, please update this.
2930
#define HOLOMAP_AREACOLOR_LIFTS null
3031

code/__defines/machinery.dm

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,28 +43,37 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called
4343

4444
// Camera channels
4545
// Station channels
46-
#define CAMERA_CHANNEL_PUBLIC "Public"
47-
#define CAMERA_CAMERA_CHANNEL_ENGINEERING "Engineering"
48-
#define CAMERA_CHANNEL_MEDICAL "Medical"
49-
#define CAMERA_CHANNEL_RESEARCH "Research"
50-
#define CAMERA_CHANNEL_SECURITY "Security"
51-
52-
#define CAMERA_CHANNEL_ROBOTS "Robots"
53-
#define CAMERA_CHANNEL_MINE "Mining"
54-
#define CAMERA_CHANNEL_SECRET "Secret"
46+
#define CAMERA_CHANNEL_PUBLIC "Public"
47+
#define CAMERA_CHANNEL_ENGINEERING "Engineering"
48+
#define CAMERA_CHANNEL_MEDICAL "Medical"
49+
#define CAMERA_CHANNEL_RESEARCH "Research"
50+
#define CAMERA_CHANNEL_SECURITY "Security"
51+
#define CAMERA_CHANNEL_ROBOTS "Robots"
52+
#define CAMERA_CHANNEL_MINE "Mining"
53+
#define CAMERA_CHANNEL_SECRET "Secret"
54+
#define CAMERA_CHANNEL_COMMAND "Command"
55+
#define CAMERA_CHANNEL_ENGINE "Engine"
56+
#define CAMERA_CHANNEL_ENGINEERING_OUTPOST "Engineering Outpost"
57+
#define CAMERA_CHANNEL_BASEMENT_FLOOR "Basement Floor"
58+
#define CAMERA_CHANNEL_GROUND_FLOOR "Ground Floor"
59+
#define CAMERA_CHANNEL_SECOND_FLOOR "Second Floor"
60+
#define CAMERA_CHANNEL_SUPPLY "Supply"
61+
#define CAMERA_CHANNEL_ENTERTAINMENT "Entertainment"
62+
#define CAMERA_CHANNEL_TOXINS "Toxins Test Area"
63+
#define CAMERA_CHANNEL_MISC_RESEARCH "Miscellaneous Research"
5564

5665
// Non-station channels
57-
#define CAMERA_CHANNEL_CRESCENT "Crescent"
58-
#define CAMERA_CHANNEL_ERT "ZeEmergencyResponseTeam"
59-
#define CAMERA_CHANNEL_MERCENARY "MercurialNet"
60-
#define CAMERA_CHANNEL_TELEVISION "Television"
66+
#define CAMERA_CHANNEL_CRESCENT "Crescent"
67+
#define CAMERA_CHANNEL_ERT "Emergency Response Team"
68+
#define CAMERA_CHANNEL_MERCENARY "MercurialNet"
69+
#define CAMERA_CHANNEL_TELEVISION "Television"
6170

6271
// Alarm networks
63-
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"
72+
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"
6473
#define NETWORK_ALARM_CAMERA "Camera Alarms"
65-
#define NETWORK_ALARM_FIRE "Fire Alarms"
74+
#define NETWORK_ALARM_FIRE "Fire Alarms"
6675
#define NETWORK_ALARM_MOTION "Motion Alarms"
67-
#define NETWORK_ALARM_POWER "Power Alarms"
76+
#define NETWORK_ALARM_POWER "Power Alarms"
6877

6978
//singularity defines
7079
#define STAGE_ONE 1

code/__defines/misc.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
#define AREA_FLAG_HOLY BITFLAG(10) // Area is holy for the purposes of marking turfs as cult-resistant.
100100
#define AREA_FLAG_SECURITY BITFLAG(11) // Area is security for the purposes of newscaster init.
101101
#define AREA_FLAG_HIDE_FROM_HOLOMAP BITFLAG(12) // if we shouldn't be drawn on station holomaps
102+
#define AREA_FLAG_IS_STATION_AREA BITFLAG(13) // TODO: Polaris port.
102103

103104
//Map template flags
104105
#define TEMPLATE_FLAG_ALLOW_DUPLICATES BITFLAG(0) // Lets multiple copies of the template to be spawned

code/datums/outfits/outfit.dm

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/decl/outfit
22
abstract_type = /decl/outfit
3-
var/name = "Naked And Afraid"
3+
var/name = null
44
var/uniform = null
55
var/suit = null
66
var/back = null
@@ -226,12 +226,7 @@
226226

227227
var/decl/species/wearer_species = wearer.get_species()
228228
if(wearer_species && !(OUTFIT_ADJUSTMENT_SKIP_SURVIVAL_GEAR & equip_adjustments))
229-
var/decl/survival_box_option/chosen_survival_box = wearer?.client?.prefs.survival_box_choice
230-
if(chosen_survival_box?.box_type)
231-
if(outfit_flags & OUTFIT_EXTENDED_SURVIVAL)
232-
wearer_species.equip_survival_gear(wearer, /obj/item/box/engineer)
233-
else
234-
wearer_species.equip_survival_gear(wearer, chosen_survival_box.box_type)
229+
wearer_species.equip_survival_gear(wearer, (outfit_flags & OUTFIT_EXTENDED_SURVIVAL))
235230

236231
if(wearer.client?.prefs?.give_passport)
237232
global.using_map.create_passport(wearer)
@@ -270,3 +265,7 @@
270265

271266
/decl/outfit/dd_SortValue()
272267
return name
268+
269+
// Stub for the sake of being able to make people spawn nude.
270+
/decl/outfit/naked
271+
name = "Naked And Afraid"

code/datums/storage/subtypes_box.dm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
/datum/storage/box/animal_cube
1919
can_hold = list(/obj/item/food/animal_cube)
2020

21+
/datum/storage/box/large/metal
22+
use_sound = 'sound/effects/closet_open.ogg'
23+
2124
/datum/storage/box/snappop
2225
can_hold = list(/obj/item/toy/snappop)
2326

code/datums/supplypacks/science.dm

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,13 @@
6565
/decl/hierarchy/supply_pack/science/illuminate
6666
name = "Gear - Illumination grenades"
6767
contains = list(/obj/item/grenade/light = 8)
68-
containername = "illumination grenade crate"
68+
containername = "illumination grenade crate"
69+
70+
/decl/hierarchy/supply_pack/science/stasis_cages
71+
name = "Stasis Cage"
72+
contains = list(
73+
/obj/structure/stasis_cage = 1
74+
)
75+
containertype = /obj/structure/closet/crate/large
76+
containername = "stasis cage crate"
77+
access = access_xenofauna

code/game/jobs/access_datum.dm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,12 @@ var/global/const/access_research = "ACCESS_RESEARCH" //47
268268
desc = "Science"
269269
region = ACCESS_REGION_RESEARCH
270270

271+
var/global/const/access_explorer = "ACCESS_EXPLORER"
272+
/datum/access/explorer
273+
id = access_explorer
274+
desc = "Explorer"
275+
region = ACCESS_REGION_GENERAL
276+
271277
var/global/const/access_mining = "ACCESS_MINING" //48
272278
/datum/access/mining
273279
id = access_mining
@@ -304,6 +310,12 @@ var/global/const/access_xenobiology = "ACCESS_XENOBIO" //55
304310
desc = "Xenobiology Lab"
305311
region = ACCESS_REGION_RESEARCH
306312

313+
var/global/const/access_xenofauna = "ACCESS_XENOFAUNA"
314+
/datum/access/xenofauna
315+
id = access_xenofauna
316+
desc = "Xenfauna Lab"
317+
region = ACCESS_REGION_RESEARCH
318+
307319
var/global/const/access_ce = "ACCESS_CHIEF_ENGINEER" //56
308320
/datum/access/ce
309321
id = access_ce

code/game/machinery/camera/presets.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/obj/machinery/camera/network/engineering
2-
preset_channels = list(CAMERA_CAMERA_CHANNEL_ENGINEERING)
2+
preset_channels = list(CAMERA_CHANNEL_ENGINEERING)
33
req_access = list(access_engine)
44

55
/obj/machinery/camera/network/ert

code/game/machinery/cryopod.dm

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,9 @@
157157
var/occupied_icon_state = "body_scanner_1"
158158
var/on_store_message = "has entered long-term storage."
159159
var/on_store_name = "Cryogenic Oversight"
160+
var/on_store_visible_message = "$TARGET$ hums and hisses as it moves $USER$ into storage." //! A visible message to display when the user is despawned. $USER$ will be replaced with the user's name, $TARGET$ will be replaced with the pod's name.
160161
var/on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward."
162+
var/on_enter_visible_message = "$USER$ starts climbing into $TARGET$." //! A visible message to display when the user enters the pod. $USER$ will be replaced with the user's name.
161163
var/allow_occupant_types = list(/mob/living/human)
162164
var/disallow_occupant_types = list()
163165

@@ -359,6 +361,7 @@
359361
control_computer._admin_logs += "[key_name(occupant)] ([role_alt_title]) at [stationtime2text()]"
360362
log_and_message_admins("[key_name(occupant)] ([role_alt_title]) entered cryostorage.")
361363

364+
visible_message(SPAN_NOTICE(emote_replace_user_tokens(emote_replace_target_tokens(on_store_visible_message, src), occupant)))
362365
do_telecomms_announcement(src, "[occupant.real_name], [role_alt_title], [on_store_message]", "[on_store_name]")
363366
despawn_character(occupant)
364367
set_occupant(null)
@@ -369,7 +372,10 @@
369372
if(alert(target,"Would you like to enter long-term storage?",,"Yes","No") != "Yes")
370373
return
371374
if(!user.incapacitated() && !user.anchored && user.Adjacent(src) && user.Adjacent(target))
372-
visible_message("[user] starts putting [target] into \the [src].", range = 3)
375+
if(target == user)
376+
visible_message(SPAN_NOTICE(emote_replace_user_tokens(emote_replace_target_tokens(on_enter_visible_message, src), usr)), range = 3)
377+
else
378+
visible_message("[user] starts putting [target] into \the [src].", range = 3)
373379
if(!do_after(user, 20, src)|| QDELETED(target))
374380
return
375381
set_occupant(target)
@@ -444,7 +450,7 @@
444450
if(!usr.can_enter_cryopod(usr))
445451
return
446452

447-
visible_message("\The [usr] starts climbing into \the [src].", range = 3)
453+
visible_message(emote_replace_user_tokens(emote_replace_target_tokens(on_enter_visible_message, src), usr), range = 3)
448454

449455
if(do_after(usr, 20, src))
450456

@@ -487,7 +493,7 @@
487493

488494
if(occupant.client)
489495
if(!silent)
490-
to_chat(occupant, SPAN_NOTICE("[on_enter_occupant_message]"))
496+
occupant.visible_message("\The [src] [emote_replace_target_tokens(on_enter_visible_message)]", SPAN_NOTICE(on_enter_occupant_message))
491497
to_chat(occupant, SPAN_NOTICE("<b>If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.</b>"))
492498
occupant.client.perspective = EYE_PERSPECTIVE
493499
occupant.client.eye = src
@@ -545,4 +551,28 @@
545551
return TRUE
546552

547553
/obj/machinery/cryopod/proc/on_mob_spawn()
548-
playsound(src, 'sound/machines/ding.ogg', 30, 1)
554+
playsound(src, 'sound/machines/ding.ogg', 30, 1)
555+
556+
/obj/machinery/cryopod/robot/door
557+
//This inherits from the robot cryo, so synths can be properly cryo'd. If a non-synth enters and is cryo'd, ..() is called and it'll still work.
558+
abstract_type = /obj/machinery/cryopod/robot/door
559+
name = "Airlock of Wonders"
560+
desc = "An airlock that isn't an airlock, and shouldn't exist. Yell at a coder/mapper."
561+
icon = 'mods/content/polaris/icons/machines/pod_doors.dmi'
562+
icon_state = "door_closed"
563+
base_icon_state = "door_closed"
564+
occupied_icon_state = "door_locked"
565+
on_enter_visible_message = "$USER$ steps into $TARGET$."
566+
567+
time_till_despawn = 1 MINUTE //We want to be much faster then normal cryo, since waiting in an elevator for half an hour is a special kind of hell.
568+
569+
allow_occupant_types = list(/mob/living/silicon/robot,/mob/living/human)
570+
disallow_occupant_types = list(/mob/living/silicon/robot/drone)
571+
572+
/obj/machinery/cryopod/robot/door/dorms
573+
name = "Residential District Elevator"
574+
desc = "A small elevator that goes down to the deeper section of the colony."
575+
on_store_message = "has departed for the residential district."
576+
on_store_name = "Residential Oversight"
577+
on_enter_occupant_message = "The elevator door closes slowly, ready to bring you down to the residential district."
578+
on_store_visible_message = "$TARGET$ makes a ding as it moves $USER$ to the residential district."

code/game/machinery/holosign.dm

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
anchored = TRUE
1111
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
1212
directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}'
13-
var/lit = 0
13+
var/lit = FALSE
1414
var/on_icon = "sign_on"
15+
var/sign_light_color = COLOR_CYAN_BLUE
1516

1617
uncreated_component_parts = list(
1718
/obj/item/stock_parts/radio/receiver,
@@ -33,11 +34,11 @@
3334

3435
/obj/machinery/holosign/on_update_icon()
3536
if (!lit || inoperable())
36-
icon_state = "sign_off"
37+
icon_state = initial(icon_state)
3738
set_light(0)
3839
else
3940
icon_state = on_icon
40-
set_light(1, 0.5, COLOR_CYAN_BLUE)
41+
set_light(1, 0.5, sign_light_color)
4142

4243
/decl/public_access/public_variable/holosign_on
4344
expected_type = /obj/machinery/holosign
@@ -68,6 +69,13 @@
6869
desc = "Small wall-mounted holographic projector. This one reads SERVICE."
6970
on_icon = "service"
7071

72+
/obj/machinery/holosign/bar
73+
name = "bar holosign"
74+
desc = "Small wall-mounted holographic projector. This one reads OPEN."
75+
icon_state = "barclosed"
76+
on_icon = "baropen"
77+
sign_light_color = COLOR_LIGHT_CYAN
78+
7179
////////////////////SWITCH///////////////////////////////////////
7280
/obj/machinery/button/holosign
7381
name = "holosign switch"

0 commit comments

Comments
 (0)