Skip to content

Commit

Permalink
Merge upstream (ss220club#243)
Browse files Browse the repository at this point in the history
## About The Pull Request

Merge upstream
  • Loading branch information
larentoun authored May 1, 2024
2 parents 01c960b + 6ca5c80 commit d5016a8
Show file tree
Hide file tree
Showing 140 changed files with 3,602 additions and 862 deletions.
2,421 changes: 2,421 additions & 0 deletions _maps/deathmatch/train.dmm

Large diffs are not rendered by default.

346 changes: 174 additions & 172 deletions _maps/map_files/Birdshot/birdshot.dmm

Large diffs are not rendered by default.

46 changes: 33 additions & 13 deletions _maps/map_files/NorthStar/north_star.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -8543,12 +8543,12 @@
/area/station/hallway/secondary/entry)
"ceF" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
/obj/machinery/door/poddoor/shutters/preopen{
name = "CMO Privacy Shutters";
dir = 4;
id = "cmo_privacy";
name = "CMO Privacy Shutters"
id = "cmoshutter"
},
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/medical/storage)
"ceH" = (
Expand Down Expand Up @@ -26934,6 +26934,16 @@
/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/iron,
/area/station/engineering/atmos)
"hab" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
dir = 1;
id = "cmoshutter";
name = "CMO Privacy Shutters"
},
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
"hah" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white/smooth_corner{
Expand Down Expand Up @@ -46237,12 +46247,12 @@
/area/station/maintenance/floor2/port)
"lTO" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
/obj/machinery/door/poddoor/shutters/preopen{
dir = 1;
id = "cmo_privacy";
id = "cmoshutter";
name = "CMO Privacy Shutters"
},
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
"lTV" = (
Expand Down Expand Up @@ -51219,6 +51229,16 @@
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat)
"nge" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
dir = 8;
id = "cmoshutter";
name = "CMO Privacy Shutters"
},
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
"ngf" = (
/obj/structure/railing,
/obj/effect/decal/cleanable/dirt,
Expand Down Expand Up @@ -57371,12 +57391,12 @@
/area/station/science/xenobiology)
"oJs" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
/obj/machinery/door/poddoor/shutters/preopen{
dir = 8;
id = "cmo_privacy";
id = "cmoshutter";
name = "CMO Privacy Shutters"
},
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
"oJO" = (
Expand Down Expand Up @@ -92003,11 +92023,11 @@
pixel_x = 9
},
/obj/machinery/button/door/directional/north{
id = "cmo_privacy";
name = "Robotics Privacy Control";
pixel_x = -6;
name = "CMO Privacy Shutters";
id = "cmoshutter";
req_access = list("cmo");
pixel_y = 25;
req_access = list("cmo")
pixel_x = -5
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
Expand Down Expand Up @@ -190438,7 +190458,7 @@ syV
wPX
xKq
nCG
oJs
nge
goX
oJs
nCG
Expand Down Expand Up @@ -190951,7 +190971,7 @@ jRO
eCO
wyE
xKq
lTO
hab
dZz
bPP
xhJ
Expand Down
16 changes: 15 additions & 1 deletion _maps/map_files/tramstation/tramstation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3331,6 +3331,7 @@
/obj/machinery/computer/turbine_computer{
mapping_id = "main_turbine"
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"auc" = (
Expand Down Expand Up @@ -3376,6 +3377,7 @@
"aum" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"auo" = (
Expand All @@ -3389,6 +3391,7 @@
dir = 4;
mapping_id = "main_turbine"
},
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
"auq" = (
Expand Down Expand Up @@ -23971,6 +23974,7 @@
network = list("turbine")
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"hCp" = (
Expand Down Expand Up @@ -42613,6 +42617,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/all_access,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"nYq" = (
Expand Down Expand Up @@ -46434,6 +46439,12 @@
/obj/structure/closet/toolcloset,
/turf/open/floor/iron,
/area/station/engineering/main)
"pxd" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"pxf" = (
/obj/structure/closet/secure_closet/hos,
/obj/structure/secure_safe/hos{
Expand Down Expand Up @@ -47132,6 +47143,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
/obj/machinery/light/small/directional/west,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"pIF" = (
Expand Down Expand Up @@ -48314,6 +48326,7 @@
},
/obj/machinery/light/directional/west,
/obj/machinery/power/smes/engineering,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
"qes" = (
Expand Down Expand Up @@ -51807,6 +51820,7 @@
"rnA" = (
/obj/structure/extinguisher_cabinet/directional/east,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"rnK" = (
Expand Down Expand Up @@ -110975,7 +110989,7 @@ vde
atC
gqV
atP
atP
pxd
pIA
aum
aup
Expand Down
4 changes: 2 additions & 2 deletions _maps/shuttles/infiltrator_basic.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@
/area/shuttle/syndicate/medical)
"fB" = (
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/r_wall/syndicate/nodiagonal,
/area/shuttle/syndicate/airlock)
"gt" = (
/obj/item/storage/box/handcuffs{
Expand Down Expand Up @@ -1096,7 +1096,7 @@
},
/area/shuttle/syndicate/eva)
"Xy" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/r_wall/syndicate/nodiagonal,
/area/shuttle/syndicate/airlock)
"YN" = (
/turf/open/floor/iron/dark/smooth_corner{
Expand Down
4 changes: 2 additions & 2 deletions code/__DEFINES/dcs/signals/signals_reagent.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
///from base of [/datum/reagent/proc/expose_atom]: (/turf, reac_volume)
#define COMSIG_REAGENT_EXPOSE_TURF "reagent_expose_turf"

///from base of [/datum/system/materials/proc/InitializeMaterial]: (/datum/material)
#define COMSIG_MATERIALS_INIT_MAT "DSmaterials_init_mat"
///from base of [/datum/materials_controller/proc/InitializeMaterial]: (/datum/material)
#define COMSIG_MATERIALS_INIT_MAT "SSmaterials_init_mat"

///from base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)
#define COMSIG_ON_MULTIPLE_LIVES_RESPAWN "on_multiple_lives_respawn"
Expand Down
2 changes: 0 additions & 2 deletions code/__DEFINES/power.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
///The amount of power, in watts, a standard powercell can give.
#define STANDARD_CELL_RATE (STANDARD_CELL_VALUE WATTS) // 1 MW.

GLOBAL_VAR_INIT(CHARGELEVEL, 0.01) // Cap for how fast cells charge, as a percentage per second (.01 means cellcharge is capped to 1% per second)

// Converts cable layer to its human readable name
GLOBAL_LIST_INIT(cable_layer_to_name, list(
"[CABLE_LAYER_1]" = CABLE_LAYER_1_NAME,
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/construction.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define OPTIMAL_COST(cost)(max(1, round(cost)))

/// Wrapper for fetching material references. Exists exclusively so that people don't need to wrap everything in a list every time.
#define GET_MATERIAL_REF(arguments...) DSmaterials._GetMaterialRef(list(##arguments))
#define GET_MATERIAL_REF(arguments...) SSmaterials._GetMaterialRef(list(##arguments))

// Wrapper to convert material name into its source name
#define MATERIAL_SOURCE(mat) "[mat.name]_material"
Expand Down
4 changes: 2 additions & 2 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,8 @@
GLOB.crafting_recipes += recipe

var/list/material_stack_recipes = list(
DSmaterials.base_stack_recipes,
DSmaterials.rigid_stack_recipes,
SSmaterials.base_stack_recipes,
SSmaterials.rigid_stack_recipes,
)

for(var/list/recipe_list in material_stack_recipes)
Expand Down
4 changes: 2 additions & 2 deletions code/__HELPERS/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ GLOBAL_LIST_EMPTY(species_list)
var/atom/target_loc = target?.loc

var/drifting = FALSE
if(DSmove_manager.processing_on(user, SSspacedrift))
if(GLOB.move_manager.processing_on(user, SSspacedrift))
drifting = TRUE

var/holding = user.get_active_held_item()
Expand Down Expand Up @@ -267,7 +267,7 @@ GLOBAL_LIST_EMPTY(species_list)
if(!QDELETED(progbar))
progbar.update(world.time - starttime)

if(drifting && !DSmove_manager.processing_on(user, SSspacedrift))
if(drifting && !GLOB.move_manager.processing_on(user, SSspacedrift))
drifting = FALSE
user_loc = user.loc

Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/priority_announce.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
message.title = title
message.content = text

DScommunications.send_message(message)
GLOB.communications_controller.send_message(message)

/**
* Sends a minor annoucement to players.
Expand Down
6 changes: 3 additions & 3 deletions code/controllers/subsystem/dynamic/dynamic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ SUBSYSTEM_DEF(dynamic)
SSticker.news_report = SSshuttle.emergency?.is_hijacked() ? SHUTTLE_HIJACK : STATION_EVACUATED

/datum/controller/subsystem/dynamic/proc/send_intercept()
if(DScommunications.block_command_report) //If we don't want the report to be printed just yet, we put it off until it's ready
if(GLOB.communications_controller.block_command_report) //If we don't want the report to be printed just yet, we put it off until it's ready
addtimer(CALLBACK(src, PROC_REF(send_intercept)), 10 SECONDS)
return

Expand Down Expand Up @@ -349,10 +349,10 @@ SUBSYSTEM_DEF(dynamic)
if(trait_list_strings.len > 0)
. += "<hr><b>Identified shift divergencies:</b><BR>" + trait_list_strings.Join()

if(length(DScommunications.command_report_footnotes))
if(length(GLOB.communications_controller.command_report_footnotes))
var/footnote_pile = ""

for(var/datum/command_footnote/footnote in DScommunications.command_report_footnotes)
for(var/datum/command_footnote/footnote in GLOB.communications_controller.command_report_footnotes)
footnote_pile += "[footnote.message]<BR>"
footnote_pile += "<i>[footnote.signature]</i><BR>"
footnote_pile += "<BR>"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*! How material datums work
Materials are now instanced datums, with an associative list of them being kept in DSmaterials. We only instance the materials once and then re-use these instances for everything.
Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.
These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area
*/

DATASYSTEM_DEF(materials)
SUBSYSTEM_DEF(materials)
name = "Materials"
flags = SS_NO_FIRE | SS_NO_INIT
///Dictionary of material.id || material ref
var/list/materials
///Dictionary of type || list of material refs
Expand Down Expand Up @@ -36,7 +36,7 @@ DATASYSTEM_DEF(materials)
var/list/datum/dimension_theme/dimensional_themes

///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
/datum/system/materials/proc/InitializeMaterials()
/datum/controller/subsystem/materials/proc/InitializeMaterials()
materials = list()
materials_by_type = list()
materialids_by_type = list()
Expand All @@ -57,7 +57,7 @@ DATASYSTEM_DEF(materials)
* - [arguments][/list]: The arguments to use to create the material datum
* - The first element is the type of material to initialize.
*/
/datum/system/materials/proc/InitializeMaterial(list/arguments)
/datum/controller/subsystem/materials/proc/InitializeMaterial(list/arguments)
var/datum/material/mat_type = arguments[1]
if(initial(mat_type.init_flags) & MATERIAL_INIT_BESPOKE)
arguments[1] = GetIdFromArguments(arguments)
Expand Down Expand Up @@ -89,13 +89,13 @@ DATASYSTEM_DEF(materials)
* - If the material type is bespoke a text ID is generated from the arguments list and used to load a material datum from the cache.
* - The following elements are used to generate bespoke IDs
*/
/datum/system/materials/proc/_GetMaterialRef(list/arguments)
/datum/controller/subsystem/materials/proc/_GetMaterialRef(list/arguments)
if(!materials)
InitializeMaterials()

var/datum/material/key = arguments[1]
if(istype(key))
return key // We are assuming here that the only thing allowed to create material datums is [/datum/system/materials/proc/InitializeMaterial]
return key // We are assuming here that the only thing allowed to create material datums is [/datum/controller/subsystem/materials/proc/InitializeMaterial]

if(istext(key)) // Handle text id
. = materials[key]
Expand Down Expand Up @@ -123,7 +123,7 @@ DATASYSTEM_DEF(materials)
* Named arguments can appear in any order and we need them to appear after ordered arguments
* We assume that no one will pass in a named argument with a value of null
**/
/datum/system/materials/proc/GetIdFromArguments(list/arguments)
/datum/controller/subsystem/materials/proc/GetIdFromArguments(list/arguments)
var/datum/material/mattype = arguments[1]
var/list/fullid = list("[initial(mattype.id) || mattype]")
var/list/named_arguments = list()
Expand All @@ -149,7 +149,7 @@ DATASYSTEM_DEF(materials)


/// Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
/datum/system/materials/proc/FindOrCreateMaterialCombo(list/materials_declaration, multiplier)
/datum/controller/subsystem/materials/proc/FindOrCreateMaterialCombo(list/materials_declaration, multiplier)
if(!LAZYLEN(materials_declaration))
return null // If we get a null we pass it right back, we don't want to generate stack traces just because something is clearing out its materials list.

Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/movement/cliff_falling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ MOVEMENT_SUBSYSTEM_DEF(cliff_falling)

/datum/controller/subsystem/movement/cliff_falling/proc/start_falling(atom/movable/faller, turf/open/cliff/cliff)
// Make them move
var/mover = DSmove_manager.move(moving = faller, direction = cliff.fall_direction, delay = cliff.fall_speed, subsystem = src, priority = MOVEMENT_ABOVE_SPACE_PRIORITY, flags = MOVEMENT_LOOP_OUTSIDE_CONTROL | MOVEMENT_LOOP_NO_DIR_UPDATE)
var/mover = GLOB.move_manager.move(moving = faller, direction = cliff.fall_direction, delay = cliff.fall_speed, subsystem = src, priority = MOVEMENT_ABOVE_SPACE_PRIORITY, flags = MOVEMENT_LOOP_OUTSIDE_CONTROL | MOVEMENT_LOOP_NO_DIR_UPDATE)

cliff_grinders[faller] = mover

Expand Down
Loading

0 comments on commit d5016a8

Please sign in to comment.