Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions _maps/RandomRuins/IceRuins/icemoon_surface_syndicate.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1697,8 +1697,7 @@
/area/ruin/syndicate_icemoon/medical)
"lY" = (
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 4;
level = 2
dir = 4
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ruin/syndicate_icemoon/engine)
Expand Down
3 changes: 1 addition & 2 deletions _maps/RandomRuins/StationRuins/BoxStation/engine_sm.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1246,8 +1246,7 @@
"dI" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 4;
level = 2
dir = 4
},
/turf/open/floor/engine,
/area/engine/engineering)
Expand Down
3 changes: 1 addition & 2 deletions _maps/RandomZLevels/moonoutpost19.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2291,8 +2291,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/manifold{
dir = 4;
level = 2
dir = 4
},
/turf/open/floor/plasteel/white,
/area/awaymission/moonoutpost19/research)
Expand Down
40 changes: 13 additions & 27 deletions _maps/RandomZLevels/undergroundoutpost45.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -611,8 +611,7 @@
/area/awaymission/undergroundoutpost45/central)
"bB" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5;
level = 1
dir = 5
},
/obj/effect/turf_decal/tile/neutral{
dir = 4
Expand All @@ -637,8 +636,7 @@
/area/awaymission/undergroundoutpost45/central)
"bD" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10;
level = 1
dir = 10
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
Expand Down Expand Up @@ -796,8 +794,7 @@
/area/awaymission/undergroundoutpost45/central)
"bV" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10;
level = 1
dir = 10
},
/turf/closed/wall,
/area/awaymission/undergroundoutpost45/central)
Expand Down Expand Up @@ -1189,8 +1186,7 @@
/area/awaymission/undergroundoutpost45/central)
"cM" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5;
level = 2
dir = 5
},
/turf/open/floor/plating{
heat_capacity = 1e+006
Expand Down Expand Up @@ -1274,8 +1270,7 @@
/area/awaymission/undergroundoutpost45/central)
"cV" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10;
level = 1
dir = 10
},
/turf/closed/wall/rust,
/area/awaymission/undergroundoutpost45/central)
Expand Down Expand Up @@ -3014,15 +3009,13 @@
/area/awaymission/undergroundoutpost45/central)
"gc" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5;
level = 1
dir = 5
},
/turf/closed/wall/r_wall,
/area/awaymission/undergroundoutpost45/central)
"gd" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10;
level = 1
dir = 10
},
/turf/closed/wall/r_wall,
/area/awaymission/undergroundoutpost45/central)
Expand Down Expand Up @@ -3917,8 +3910,7 @@
/area/awaymission/undergroundoutpost45/crew_quarters)
"hU" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4;
level = 2
dir = 4
},
/obj/structure/table,
/obj/item/book/manual/chef_recipes,
Expand All @@ -3930,8 +3922,7 @@
"hV" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4;
level = 2
dir = 4
},
/turf/open/floor/plating{
heat_capacity = 1e+006
Expand Down Expand Up @@ -4490,8 +4481,7 @@
/area/awaymission/undergroundoutpost45/gateway)
"iX" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10;
level = 1
dir = 10
},
/turf/open/floor/plasteel/white{
heat_capacity = 1e+006
Expand Down Expand Up @@ -9779,8 +9769,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4;
level = 2
dir = 4
},
/obj/machinery/door/airlock/maintenance{
name = "Research Maintenance";
Expand Down Expand Up @@ -11090,8 +11079,7 @@
/area/awaymission/undergroundoutpost45/engineering)
"tK" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5;
level = 1
dir = 5
},
/turf/closed/wall/rust,
/area/awaymission/undergroundoutpost45/research)
Expand Down Expand Up @@ -11744,7 +11732,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/computer/atmos_control{
dir = 4;
level = 3;
name = "Distribution and Waste Monitor";
sensors = list("UO45_air_sensor" = "Mixed Air Supply Tank", "UO45_distro_meter" = "Distribution Loop", "UO45_waste_meter" = "Waste Loop")
},
Expand All @@ -11758,8 +11745,7 @@
/area/awaymission/undergroundoutpost45/engineering)
"uV" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5;
level = 1
dir = 5
},
/obj/structure/chair/office/dark{
dir = 8
Expand Down
3 changes: 1 addition & 2 deletions _maps/map_files/AsteroidStation/AsteroidStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -74962,8 +74962,7 @@
/area/tcommsat/server)
"wJw" = (
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 4;
level = 2
dir = 4
},
/turf/closed/wall,
/area/engine/atmos/storage)
Expand Down
3 changes: 1 addition & 2 deletions _maps/map_files/GaxStation/GaxStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -14329,8 +14329,7 @@
/area/hallway/secondary/entry)
"gRV" = (
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 4;
level = 2
dir = 4
},
/turf/closed/wall/r_wall,
/area/engine/atmos/distro)
Expand Down
10 changes: 3 additions & 7 deletions _maps/map_files/YogStation/YogStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3175,9 +3175,7 @@
/turf/open/floor/plasteel,
/area/security/processing)
"axJ" = (
/obj/machinery/atmospherics/pipe/layer_manifold{
level = 2
},
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/closed/wall/r_wall,
/area/engine/atmos/mix)
"axL" = (
Expand Down Expand Up @@ -37026,8 +37024,7 @@
"kRZ" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 6;
layer = 2.35;
level = 1
layer = 2.35
},
/turf/closed/wall,
/area/science/mixing)
Expand Down Expand Up @@ -54097,8 +54094,7 @@
/area/security/brig)
"rrF" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
layer = 2.35;
level = 1
layer = 2.35
},
/turf/closed/wall,
/area/science/mixing)
Expand Down
30 changes: 5 additions & 25 deletions _maps/map_files/generic/CentCom.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -6861,11 +6861,7 @@
/area/centcom/testchamber)
"apy" = (
/obj/machinery/smartfridge,
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
smooth = 1
},
/turf/closed/indestructible/rock/wood,
/area/centcom/holding)
"apz" = (
/obj/structure/rack,
Expand Down Expand Up @@ -13119,11 +13115,7 @@
/area/yogs/infiltrator_base/outside)
"aBV" = (
/obj/machinery/chem_dispenser/drinks/beer,
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
smooth = 1
},
/turf/closed/indestructible/rock/wood,
/area/centcom/holding)
"aBW" = (
/obj/machinery/atmospherics/components/binary/pump/on{
Expand Down Expand Up @@ -14652,11 +14644,7 @@
/area/wizard_station)
"aED" = (
/obj/machinery/vending/boozeomat,
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
smooth = 1
},
/turf/closed/indestructible/rock/wood,
/area/centcom/holding)
"aEE" = (
/obj/structure/closet/crate/bin,
Expand Down Expand Up @@ -19174,11 +19162,7 @@
},
/area/holodeck/rec_center/medical)
"aNd" = (
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
smooth = 1
},
/turf/closed/indestructible/rock/wood,
/area/centcom/holding)
"aNe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
Expand Down Expand Up @@ -21031,11 +21015,7 @@
/area/centcom/testchamber)
"aQT" = (
/obj/machinery/chem_dispenser/drinks,
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
smooth = 1
},
/turf/closed/indestructible/rock/wood,
/area/centcom/holding)
"aQU" = (
/obj/structure/table/reinforced,
Expand Down
7 changes: 7 additions & 0 deletions code/__DEFINES/_atoms.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#define BAD_INIT_QDEL_BEFORE 1
#define BAD_INIT_DIDNT_INIT 2
#define BAD_INIT_SLEPT 4
#define BAD_INIT_NO_HINT 8

#define PROFILE_INIT_ATOM_BEGIN(...)
#define PROFILE_INIT_ATOM_END(...)
31 changes: 24 additions & 7 deletions code/__DEFINES/dcs/flags.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/// Return this from `/datum/component/Initialize` or `datum/component/OnTransfer` to have the component be deleted if it's applied to an incorrect type.
/// Return this from `/datum/component/Initialize` or `/datum/component/OnTransfer` or `/datum/component/on_source_add` to have the component be deleted if it's applied to an incorrect type.
/// `parent` must not be modified if this is to be returned.
/// This will be noted in the runtime logs
#define COMPONENT_INCOMPATIBLE 1
Expand All @@ -22,19 +22,36 @@
/// Causes all detach arguments to be passed to detach instead of only being used to identify the element
/// When this is used your Detach proc should have the same signature as your Attach proc
#define ELEMENT_COMPLEX_DETACH (1 << 2)
/**
* Elements with this flag will have their datum lists arguments compared as is,
* without the contents being sorted alpha-numerically first.
* This is good for those elements where the position of the keys matter, like in the case of color matrices.
*/
#define ELEMENT_DONT_SORT_LIST_ARGS (1<<3)
/**
* Elements with this flag will be ignored by the dcs_check_list_arguments test.
* A good example is connect_loc, for which it's pratically undoable unless we force every signal proc to have a different name.
*/
#define ELEMENT_NO_LIST_UNIT_TEST (1<<4)

// How multiple components of the exact same type are handled in the same datum
/// old component is deleted (default)
#define COMPONENT_DUPE_HIGHLANDER 0
#define COMPONENT_DUPE_HIGHLANDER 0
/// duplicates allowed
#define COMPONENT_DUPE_ALLOWED 1
#define COMPONENT_DUPE_ALLOWED 1
/// new component is deleted
#define COMPONENT_DUPE_UNIQUE 2
#define COMPONENT_DUPE_UNIQUE 2
/**
* Component uses source tracking to manage adding and removal logic.
* Add a source/spawn to/the component by using AddComponentFrom(source, component_type, args...)
* Removing the last source will automatically remove the component from the parent.
* Arguments will be passed to on_source_add(source, args...); ensure that Initialize and on_source_add have the same signature.
*/
#define COMPONENT_DUPE_SOURCES 3
/// old component is given the initialization args of the new
#define COMPONENT_DUPE_UNIQUE_PASSARGS 4
#define COMPONENT_DUPE_UNIQUE_PASSARGS 4
/// each component of the same type is consulted as to whether the duplicate should be allowed
#define COMPONENT_DUPE_SELECTIVE 5

#define COMPONENT_DUPE_SELECTIVE 5

//Arch
#define ARCH_PROB "probability" //Probability for each item
Expand Down
7 changes: 5 additions & 2 deletions code/__DEFINES/dcs/helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/// The datum hosting the signal is automaticaly added as the first argument
/// Returns a bitfield gathered from all registered procs
/// Arguments given here are packaged in a list and given to _SendSignal
#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) )
#define SEND_SIGNAL(target, sigtype, arguments...) ( !target._listen_lookup?[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) )

#define SEND_GLOBAL_SIGNAL(sigtype, arguments...) ( SEND_SIGNAL(SSdcs, sigtype, ##arguments) )

Expand All @@ -12,12 +12,15 @@

/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
#define AddElement(arguments...) _AddElement(list(##arguments))

/// A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
#define RemoveElement(arguments...) _RemoveElement(list(##arguments))

/// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments
#define AddComponent(arguments...) _AddComponent(list(##arguments))

/// A wrapper for _AddComonent that passes in a source.
/// Necessary if dupe_mode is set to COMPONENT_DUPE_SOURCES.
#define AddComponentFrom(source, arguments...) _AddComponent(list(##arguments), source)

/// A wrapper for _LoadComponent that allows us to pretend we're using normal named arguments
#define LoadComponent(arguments...) _LoadComponent(list(##arguments))
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon"
///from base of [/atom/proc/smooth_icon]: ()
#define COMSIG_ATOM_SMOOTHED_ICON "atom_smoothed_icon"
///from [/datum/controller/subsystem/processing/dcs/proc/rotate_decals]: (list/datum/element/decal/rotating)
#define COMSIG_ATOM_DECALS_ROTATING "atom_decals_rotating"
///from base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
#define COMSIG_ATOM_ENTERED "atom_entered"
///from base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,13 @@
#define COMSIG_ATOM_RELAYMOVE "atom_relaymove"
///prevents the "you cannot move while buckled! message"
#define COMSIG_BLOCK_RELAYMOVE (1<<0)
/// From base of atom/setDir(): (old_dir, new_dir). Called before the direction changes
#define COMSIG_ATOM_PRE_DIR_CHANGE "atom_pre_face_atom"
#define COMPONENT_ATOM_BLOCK_DIR_CHANGE (1<<0)
///from base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.
#define COMSIG_ATOM_DIR_CHANGE "atom_dir_change"
///from base of atom/setDir(): (old_dir, new_dir). Called after the direction changes.
#define COMSIG_ATOM_POST_DIR_CHANGE "atom_dir_change"
///from base of atom/setShift(): (dir). Called before the shift changes.
#define COMSIG_ATOM_SHIFT_CHANGE "atom_shift_change"
/// from /datum/component/singularity/proc/can_move(), as well as /obj/energy_ball/proc/can_move()
Expand Down
Loading