Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #243

Merged
merged 40 commits into from
May 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b76c141
Automatic changelog compile [ci skip]
actions-user Apr 30, 2024
2d7c027
Fixes broken malf AI APC hacking NO-GBP (#82962)
Metekillot Apr 30, 2024
bc4e7d3
Remove data systems in favor of global datums (#82943)
Mothblocks Apr 30, 2024
4bf208a
trainship hijack deathmatch map (#82933)
mc-oofert Apr 30, 2024
039f625
Automatic changelog for PR #82933 [ci skip]
comfyorange Apr 30, 2024
1873d21
Fix laser_pointer/inifity_range having the wrong diode (#82940)
larentoun Apr 30, 2024
ff22a70
Automatic changelog for PR #82940 [ci skip]
comfyorange Apr 30, 2024
a8d5a8d
node drones hard deletes (#82927)
Ben10Omintrix Apr 30, 2024
ba26aff
RCD upgrades have names and icon states (#82734)
lessthnthree Apr 30, 2024
b23ec90
Automatic changelog for PR #82734 [ci skip]
comfyorange Apr 30, 2024
3ad2318
[gbp no update] fix: ethereal alt attack verb is "sear" (#82951)
13spacemen Apr 30, 2024
bbbac79
Fixes DNA sequence scanner showing mutated genes (#82949)
JohnFulpWillard Apr 30, 2024
c555931
Automatic changelog for PR #82951 [ci skip]
comfyorange Apr 30, 2024
28bd50f
Automatic changelog for PR #82949 [ci skip]
comfyorange Apr 30, 2024
3dd846f
Fixes syndicate infiltrator having "weak spots" (#82959)
improvedname Apr 30, 2024
2612ebf
Fixes missing wires in tramstation, and fixes name of cmo shutters on…
improvedname Apr 30, 2024
907c107
Fixes computers deconstructing themselves twice (#82956)
SyncIt21 Apr 30, 2024
921f330
Adds a notice to PDAs that their batteries can be removed (#82937)
Maurukas Apr 30, 2024
b60dad7
Automatic changelog for PR #82955 [ci skip]
comfyorange Apr 30, 2024
50c2e01
Automatic changelog for PR #82956 [ci skip]
comfyorange Apr 30, 2024
0d28e00
Bumps Hypnagogic to v3.1.0 (#82953)
LemonInTheDark Apr 30, 2024
f60f939
Automatic changelog for PR #82937 [ci skip]
comfyorange Apr 30, 2024
8267489
A birdshot atmos improvement, and fixes the engineering microwave. (#…
Constellado Apr 30, 2024
fa55e2f
QM is excluded from command-excluded objectives (#82941)
JohnFulpWillard Apr 30, 2024
b51e1d4
Automatic changelog for PR #82924 [ci skip]
comfyorange Apr 30, 2024
f407c49
Automatic changelog for PR #82941 [ci skip]
comfyorange Apr 30, 2024
46354b0
[no gbp] Fixes deathmatch observers (#82931)
jlsnow301 Apr 30, 2024
40e1de5
Automatic changelog for PR #82931 [ci skip]
comfyorange Apr 30, 2024
e4fe394
Unique Heretic Ascension Announcements (#82878)
Absolucy Apr 30, 2024
bac2a39
Automatic changelog for PR #82878 [ci skip]
comfyorange Apr 30, 2024
3b807fc
you can use a photo with blueprints on it to read wires (#82873)
Fikou Apr 30, 2024
af2afaa
Automatic changelog for PR #82873 [ci skip]
comfyorange Apr 30, 2024
6291396
Converts `GLOB.CHARGELEVEL` into a local APC define (#82957)
SyncIt21 Apr 30, 2024
04680dc
Catlike Grace works with Freerunning (#82823)
necromanceranne Apr 30, 2024
892de14
Automatic changelog for PR #82823 [ci skip]
comfyorange Apr 30, 2024
17dcabf
Human AI camera consoles can now be repackaged (#82629)
JohnFulpWillard Apr 30, 2024
45657b1
Automatic changelog for PR #82629 [ci skip]
comfyorange Apr 30, 2024
f5595a1
Automatic changelog compile [ci skip]
actions-user May 1, 2024
dccd6da
Changeling clothes can now be removed by monkeys (#82966)
JohnFulpWillard May 1, 2024
6ca5c80
Automatic changelog for PR #82966 [ci skip]
comfyorange May 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading