L&k
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
From b703a52294677d51d5baffdc16d07d1dd73a8f7e Mon Sep 17 00:00:00 2001
From: Marm <85680653+ItsMarmite@users.noreply.github.com>
Date: Sat, 16 Mar 2024 16:14:43 +0000
Subject: [PATCH 05/11] Alters Command access to include weapons permits +
Telebatons are now weapons (#24621)
* beepsy nooo
* Update code/game/objects/items/weapons/batons.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/game/objects/items/weapons/batons.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
---------
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
---
code/game/jobs/job/engineering_jobs.dm | 2 +-
code/game/jobs/job/medical_jobs.dm | 3 ++-
code/game/jobs/job/science_jobs.dm | 3 ++-
code/game/jobs/job/supervisor.dm | 3 ++-
code/game/jobs/job/support.dm | 1 +
code/game/objects/items/weapons/batons.dm | 2 --
6 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/code/game/jobs/job/engineering_jobs.dm b/code/game/jobs/job/engineering_jobs.dm
index 9895b80c5fc3..9b4741eb3b28 100644
--- a/code/game/jobs/job/engineering_jobs.dm
+++ b/code/game/jobs/job/engineering_jobs.dm
@@ -13,7 +13,7 @@
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
ACCESS_TELEPORTER, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ATMOSPHERICS, ACCESS_EMERGENCY_STORAGE, ACCESS_EVA,
ACCESS_HEADS, ACCESS_CONSTRUCTION, ACCESS_SEC_DOORS,
- ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM)
+ ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
minimal_player_age = 21
exp_map = list(EXP_TYPE_ENGINEERING = 1200)
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
diff --git a/code/game/jobs/job/medical_jobs.dm b/code/game/jobs/job/medical_jobs.dm
index fbfd3c7972bd..471025698839 100644
--- a/code/game/jobs/job/medical_jobs.dm
+++ b/code/game/jobs/job/medical_jobs.dm
@@ -26,7 +26,8 @@
ACCESS_RC_ANNOUNCE,
ACCESS_SEC_DOORS,
ACCESS_SURGERY,
- ACCESS_VIROLOGY
+ ACCESS_VIROLOGY,
+ ACCESS_WEAPONS
)
minimal_player_age = 21
exp_map = list(EXP_TYPE_MEDICAL = 1200)
diff --git a/code/game/jobs/job/science_jobs.dm b/code/game/jobs/job/science_jobs.dm
index e21cae1f2125..3ddf3c0e18f8 100644
--- a/code/game/jobs/job/science_jobs.dm
+++ b/code/game/jobs/job/science_jobs.dm
@@ -33,7 +33,8 @@
ACCESS_TOX_STORAGE,
ACCESS_TOX,
ACCESS_XENOARCH,
- ACCESS_XENOBIOLOGY
+ ACCESS_XENOBIOLOGY,
+ ACCESS_WEAPONS
)
minimal_player_age = 21
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm
index 2e3d051bba72..48c6eacb159e 100644
--- a/code/game/jobs/job/supervisor.dm
+++ b/code/game/jobs/job/supervisor.dm
@@ -282,7 +282,8 @@
ACCESS_MAINT_TUNNELS,
ACCESS_RC_ANNOUNCE,
ACCESS_SEC_DOORS,
- ACCESS_SECURITY
+ ACCESS_SECURITY,
+ ACCESS_WEAPONS
)
blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
outfit = /datum/outfit/job/judge
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index 3f23637747c5..b48d3cd33429 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -27,6 +27,7 @@
ACCESS_RC_ANNOUNCE,
ACCESS_SEC_DOORS,
ACCESS_SUPPLY_SHUTTLE,
+ ACCESS_WEAPONS
)
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
outfit = /datum/outfit/job/qm
diff --git a/code/game/objects/items/weapons/batons.dm b/code/game/objects/items/weapons/batons.dm
index 08e01fc96b6d..9d777f125a0e 100644
--- a/code/game/objects/items/weapons/batons.dm
+++ b/code/game/objects/items/weapons/batons.dm
@@ -143,7 +143,6 @@
desc = "A cane with special engraving on it. It seems well suited for fending off assailants..."
icon_state = "cane_nt"
item_state = "cane_nt"
- needs_permit = FALSE
/obj/item/melee/classic_baton/ntcane/get_crutch_efficiency()
return 2
@@ -158,7 +157,6 @@
item_state = null
slot_flags = SLOT_FLAG_BELT
w_class = WEIGHT_CLASS_SMALL
- needs_permit = FALSE
on = FALSE
/// Force when concealed
var/force_off = 0
From 426ee61c6047748a5f648021993a15eba92aeacd Mon Sep 17 00:00:00 2001
From: Adrer
Date: Sat, 16 Mar 2024 17:15:03 +0100
Subject: [PATCH 06/11] Plasma cutter no longer requires a permit (#24622)
Co-authored-by: adrermail@gmail.com
---
code/modules/projectiles/guns/energy/special_eguns.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm
index f32812f922a8..50167d3573bc 100644
--- a/code/modules/projectiles/guns/energy/special_eguns.dm
+++ b/code/modules/projectiles/guns/energy/special_eguns.dm
@@ -158,6 +158,7 @@
item_state = "plasmacutter"
modifystate = -1
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1"
+ needs_permit = FALSE
ammo_type = list(/obj/item/ammo_casing/energy/plasma)
fire_sound = 'sound/weapons/laser.ogg'
usesound = 'sound/items/welder.ogg'
From 1799458add9059dbe82db8cb7b0f30674739b0d5 Mon Sep 17 00:00:00 2001
From: DGamerL <108773801+DGamerL@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:15:43 +0100
Subject: [PATCH 07/11] Overrides the proc (#24635)
---
.../traitor/contractor/datums/objective_contract.dm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm b/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm
index 112065566848..3544d65bfdf4 100644
--- a/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm
+++ b/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm
@@ -203,6 +203,9 @@
// We pick the target ourselves so we don't want the default behaviour.
owning_contract.invalidate()
+/datum/objective/contract/update_explanation_text()
+ return
+
/**
* Assigns a randomly selected zone to the contract's selectable zone at the given difficulty.
*
From b067b8bb04e53f62e2e00cd802874a6e3563750f Mon Sep 17 00:00:00 2001
From: Charlie Nolan
Date: Sat, 16 Mar 2024 09:17:53 -0700
Subject: [PATCH 08/11] Added a setting that gates random station traits on
round start. (#24641)
The setting is on by default, but disabled in the example config, to help test servers be more predictable.
---
.../configuration/sections/gamemode_configuration.dm | 3 +++
code/controllers/subsystem/processing/SSstation.dm | 3 +++
config/example/config.toml | 2 ++
3 files changed, 8 insertions(+)
diff --git a/code/controllers/configuration/sections/gamemode_configuration.dm b/code/controllers/configuration/sections/gamemode_configuration.dm
index d9be626883fa..1fc39b62217d 100644
--- a/code/controllers/configuration/sections/gamemode_configuration.dm
+++ b/code/controllers/configuration/sections/gamemode_configuration.dm
@@ -20,6 +20,8 @@
var/traitor_objectives_amount = 2
/// Enable player limits on gamemodes? Disabling can be useful for testing
var/enable_gamemode_player_limit = TRUE
+ /// Should we generate random station traits at game start?
+ var/add_random_station_traits = TRUE
// Dynamically setup a list of all gamemodes
/datum/configuration_section/gamemode_configuration/New()
@@ -51,6 +53,7 @@
CONFIG_LOAD_BOOL(prevent_mindshield_antags, data["prevent_mindshield_antag"])
CONFIG_LOAD_BOOL(disable_certain_round_early_end, data["disable_certain_round_early_end"])
CONFIG_LOAD_BOOL(enable_gamemode_player_limit, data["enable_gamemode_player_limit"])
+ CONFIG_LOAD_BOOL(add_random_station_traits, data["add_random_station_traits"])
CONFIG_LOAD_NUM(traitor_objectives_amount, data["traitor_objective_amount"])
diff --git a/code/controllers/subsystem/processing/SSstation.dm b/code/controllers/subsystem/processing/SSstation.dm
index 62901a31c1e7..f177094db081 100644
--- a/code/controllers/subsystem/processing/SSstation.dm
+++ b/code/controllers/subsystem/processing/SSstation.dm
@@ -34,6 +34,9 @@ PROCESSING_SUBSYSTEM_DEF(station)
return
+ if(!GLOB.configuration.gamemode.add_random_station_traits)
+ return
+
for(var/i in subtypesof(/datum/station_trait))
var/datum/station_trait/trait_typepath = i
diff --git a/config/example/config.toml b/config/example/config.toml
index 53d5fd378219..bb01c052363a 100644
--- a/config/example/config.toml
+++ b/config/example/config.toml
@@ -254,6 +254,8 @@ disable_certain_round_early_end = false
traitor_objective_amount = 2
# Enable player limits on gamemodes. Disable if testing
enable_gamemode_player_limit = true
+# Enable to generate zero or more random station traits on game start.
+add_random_station_traits = false
################################################################
From d01d3e4f027ffa1dcae365b410107b67b1c45ff8 Mon Sep 17 00:00:00 2001
From: Charlie Nolan
Date: Sat, 16 Mar 2024 09:24:46 -0700
Subject: [PATCH 09/11] Don't try to run queries when the database isn't
enabled. (#24598)
---
code/controllers/subsystem/SSdbcore.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/controllers/subsystem/SSdbcore.dm b/code/controllers/subsystem/SSdbcore.dm
index 88624dc784ce..03d147e9aaca 100644
--- a/code/controllers/subsystem/SSdbcore.dm
+++ b/code/controllers/subsystem/SSdbcore.dm
@@ -382,6 +382,8 @@ SUBSYSTEM_DEF(dbcore)
* * log_error - Do we want to log errors this creates? Disable this if you are running sensitive queries where you dont want errors logged in plain text (EG: Auth token stuff)
*/
/datum/db_query/proc/warn_execute(async = TRUE, log_error = TRUE)
+ if(!GLOB.configuration.database.enabled)
+ return
. = Execute(async, log_error)
if(!.)
SSdbcore.total_errors++
From 08f9a8129b944af5bf7d3cfc5e106c1e19cf444d Mon Sep 17 00:00:00 2001
From: warriorstar-orion
Date: Sat, 16 Mar 2024 12:25:30 -0400
Subject: [PATCH 10/11] use directional helpers for ATMs (#24426)
* use directional helpers for ATMs
* updatepaths script PR number
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
---
_maps/map_files/Delta/delta.dmm | 112 ++++++++----------
_maps/map_files/MetaStation/MetaStation.dmm | 46 +++----
_maps/map_files/cerestation/cerestation.dmm | 100 +++++++---------
_maps/map_files/cyberiad/cyberiad.dmm | 44 ++-----
_maps/map_files/generic/centcomm.dmm | 4 +-
code/modules/economy/economy_machinery/atm.dm | 2 +
icons/obj/terminals.dmi | Bin 36847 -> 34499 bytes
.../Scripts/24426_atm_directionals.txt | 4 +
tools/maplint/lints/directional_atms.yml | 9 ++
9 files changed, 135 insertions(+), 186 deletions(-)
create mode 100644 tools/UpdatePaths/Scripts/24426_atm_directionals.txt
create mode 100644 tools/maplint/lints/directional_atms.yml
diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 9b7e943362f0..aa026618a9d5 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -1038,9 +1038,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
"ait" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -60021,9 +60019,7 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -64411,16 +64407,6 @@
/obj/item/crowbar/red,
/turf/simulated/floor/plasteel/dark,
/area/station/maintenance/apmaint)
-"dSB" = (
-/obj/machinery/atmospherics/unary/portables_connector{
- dir = 8
- },
-/obj/machinery/atmospherics/portable/canister/air,
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/turf/simulated/floor/plasteel,
-/area/station/hallway/secondary/exit)
"dSD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -67200,9 +67186,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/hardsuitstorage)
"eEG" = (
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/segment,
@@ -69068,9 +69052,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"fJp" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -71544,6 +71526,16 @@
},
/turf/simulated/floor/plating,
/area/station/command/office/rd)
+"hli" = (
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
+ },
+/obj/machinery/atmospherics/portable/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/simulated/floor/plasteel,
+/area/station/hallway/secondary/exit)
"hly" = (
/obj/structure/table/wood,
/turf/simulated/floor/plasteel/dark,
@@ -74289,10 +74281,12 @@
icon_state = "bar"
},
/area/station/service/kitchen)
+"iVe" = (
+/obj/effect/spawner/airlock,
+/turf/simulated/wall,
+/area/station/service/chapel/office)
"iVg" = (
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutralcorner"
@@ -76136,15 +76130,6 @@
icon_state = "whiteblue"
},
/area/station/medical/storage)
-"kdg" = (
-/obj/structure/sign/vacuum{
- pixel_x = -32
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/simulated/floor/plasteel,
-/area/station/hallway/secondary/exit)
"kdm" = (
/obj/machinery/power/apc/critical/directional/north,
/obj/machinery/firealarm{
@@ -76245,6 +76230,15 @@
},
/turf/simulated/floor/plasteel/dark,
/area/station/medical/morgue)
+"kfC" = (
+/obj/structure/sign/vacuum{
+ pixel_x = -32
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/simulated/floor/plasteel,
+/area/station/hallway/secondary/exit)
"kfT" = (
/obj/structure/cable{
d2 = 4;
@@ -77036,9 +77030,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/library)
"kGm" = (
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutralcorner"
@@ -77686,9 +77678,7 @@
},
/area/station/service/hydroponics)
"lbc" = (
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable{
@@ -91901,6 +91891,21 @@
},
/turf/simulated/floor/plasteel,
/area/station/science/research)
+"tjT" = (
+/obj/item/radio/intercom{
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/machinery/newscaster{
+ dir = 1;
+ name = "south bump";
+ pixel_y = -28
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/simulated/floor/plasteel,
+/area/station/hallway/secondary/exit)
"tkb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
@@ -92940,21 +92945,6 @@
/obj/effect/spawner/window/reinforced/grilled,
/turf/simulated/floor/plating,
/area/station/security/prison/cell_block)
-"tSp" = (
-/obj/item/radio/intercom{
- name = "west bump";
- pixel_x = -28
- },
-/obj/machinery/newscaster{
- dir = 1;
- name = "south bump";
- pixel_y = -28
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/turf/simulated/floor/plasteel,
-/area/station/hallway/secondary/exit)
"tSt" = (
/obj/structure/table,
/obj/item/reagent_containers/drinks/drinkingglass{
@@ -93598,10 +93588,6 @@
icon_state = "darkred"
},
/area/station/security/processing)
-"uil" = (
-/obj/effect/spawner/airlock,
-/turf/simulated/wall,
-/area/station/service/chapel/office)
"uit" = (
/obj/machinery/atmospherics/unary/vent_pump{
dir = 4;
@@ -137312,7 +137298,7 @@ dIx
dIx
dIx
dIx
-uil
+iVe
abj
aaa
aaa
@@ -137823,7 +137809,7 @@ dPM
dkq
dSs
dSP
-dSB
+hli
dIH
dIH
dIH
@@ -138081,8 +138067,8 @@ dKo
dXJ
dKo
dUj
-kdg
-tSp
+kfC
+tjT
dIH
abj
aaa
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index dcb957cffa33..bb7dfebbc117 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -10309,9 +10309,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"aTi" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "redcorner"
@@ -24421,9 +24419,7 @@
c_tag = "Arrivals - Middle Arm";
dir = 1
},
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/obj/effect/turf_decal/stripes/line,
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
@@ -42135,9 +42131,7 @@
},
/area/station/medical/surgery/secondary)
"cRq" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -67055,6 +67049,16 @@
icon_state = "whiteblue"
},
/area/station/security/permabrig)
+"mgu" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plasteel{
+ icon_state = "darkgrey"
+ },
+/area/station/science/toxins/launch)
"mgZ" = (
/obj/machinery/atmospherics/air_sensor{
autolink_id = "air_sensor";
@@ -68569,16 +68573,6 @@
icon_state = "greenblue"
},
/area/station/service/hydroponics)
-"mQW" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plasteel{
- icon_state = "darkgrey"
- },
-/area/station/science/toxins/launch)
"mRj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
@@ -73031,9 +73025,7 @@
},
/area/station/maintenance/asmaint)
"oPi" = (
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/turf/simulated/floor/wood,
/area/station/public/mrchangs)
"oPO" = (
@@ -78974,9 +78966,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/control)
"rmg" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/obj/machinery/light,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
@@ -93428,9 +93418,7 @@
/area/station/service/chapel)
"xKg" = (
/obj/structure/disposalpipe/segment,
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -128756,7 +128744,7 @@ wtQ
jQZ
eGn
iXy
-mQW
+mgu
tQW
czx
naq
diff --git a/_maps/map_files/cerestation/cerestation.dmm b/_maps/map_files/cerestation/cerestation.dmm
index 215350da6e95..4dab9f0ffa71 100644
--- a/_maps/map_files/cerestation/cerestation.dmm
+++ b/_maps/map_files/cerestation/cerestation.dmm
@@ -26883,9 +26883,7 @@
"cPP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutralcorner"
@@ -33915,9 +33913,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/obj/structure/disposalpipe/segment{
dir = 4;
color = "#954535"
@@ -36276,6 +36272,27 @@
icon_state = "darkgreenfull"
},
/area/station/service/hydroponics)
+"eua" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/economy/atm/directional/north,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "bluecorner"
+ },
+/area/station/hallway/primary/fore/north)
"eul" = (
/obj/structure/cable/orange{
d1 = 4;
@@ -43313,9 +43330,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/obj/effect/spawner/random_spawners/dirt_often,
/turf/simulated/floor/plasteel{
dir = 4;
@@ -43964,14 +43979,6 @@
},
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/exit)
-"hiN" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
-/turf/simulated/floor/plasteel{
- icon_state = "arrival"
- },
-/area/station/hallway/secondary/entry/west)
"hiU" = (
/obj/structure/reagent_dispensers/water_cooler,
/turf/simulated/floor/plasteel{
@@ -54619,9 +54626,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralcorner"
@@ -54837,6 +54842,12 @@
},
/turf/simulated/floor/transparent/glass/reinforced,
/area/station/maintenance/fsmaint)
+"kEV" = (
+/obj/machinery/economy/atm/directional/south,
+/turf/simulated/floor/plasteel{
+ icon_state = "arrival"
+ },
+/area/station/hallway/secondary/entry/west)
"kFj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
@@ -58619,15 +58630,6 @@
},
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
-"lME" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "yellowcorner"
- },
-/area/station/hallway/primary/central/north)
"lMW" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
@@ -63310,29 +63312,6 @@
icon_state = "whiteblue"
},
/area/station/medical/medbay)
-"nqK" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable/orange{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "bluecorner"
- },
-/area/station/hallway/primary/fore/north)
"nqO" = (
/obj/machinery/atmospherics/unary/portables_connector{
dir = 4
@@ -75765,6 +75744,13 @@
icon_state = "whiteblue"
},
/area/station/medical/surgery/primary)
+"rqJ" = (
+/obj/machinery/economy/atm/directional/south,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "yellowcorner"
+ },
+/area/station/hallway/primary/central/north)
"rrp" = (
/obj/machinery/shower{
pixel_y = 20
@@ -93069,9 +93055,7 @@
dir = 4;
color = "#954535"
},
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -132406,7 +132390,7 @@ pKj
aYJ
eQQ
bgf
-lME
+rqJ
aYJ
bhQ
dcG
@@ -134688,7 +134672,7 @@ dGA
eDi
djn
dmA
-nqK
+eua
vuY
pwc
fXC
@@ -138140,7 +138124,7 @@ dbg
sFj
dbg
eWu
-hiN
+kEV
qHn
rNK
rNK
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 73f571166df0..b86b572be3a1 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -18714,9 +18714,7 @@
dir = 4
},
/obj/machinery/light,
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -21815,9 +21813,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/ne)
"bnu" = (
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/obj/machinery/camera{
c_tag = "Arrivals Hallway";
dir = 8
@@ -22881,9 +22877,7 @@
/turf/simulated/floor/wood,
/area/station/service/bar)
"bql" = (
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/port/east)
"bqm" = (
@@ -25163,9 +25157,7 @@
/turf/simulated/floor/carpet,
/area/station/service/chapel)
"bxE" = (
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/obj/item/kirbyplants,
/turf/simulated/floor/wood,
/area/station/service/bar)
@@ -25858,9 +25850,7 @@
/turf/simulated/floor/wood,
/area/station/public/vacant_office)
"bAn" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/starboard/west)
"bAo" = (
@@ -26128,9 +26118,7 @@
},
/area/station/supply/sorting)
"bBq" = (
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -27054,9 +27042,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/starboard/east)
"bFo" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -28436,9 +28422,7 @@
},
/area/station/medical/chemistry)
"bJP" = (
-/obj/machinery/economy/atm{
- pixel_y = -32
- },
+/obj/machinery/economy/atm/directional/south,
/turf/simulated/floor/plasteel{
icon_state = "whitehall"
},
@@ -32421,9 +32405,7 @@
c_tag = "Cargo Bay Entrance";
dir = 4
},
-/obj/machinery/economy/atm{
- pixel_x = -32
- },
+/obj/machinery/economy/atm/directional/west,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "browncorner"
@@ -33489,9 +33471,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/se)
"ccn" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/se)
"cco" = (
@@ -51622,9 +51602,7 @@
},
/area/station/turret_protected/ai)
"dnk" = (
-/obj/machinery/economy/atm{
- pixel_x = 32
- },
+/obj/machinery/economy/atm/directional/east,
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/ne)
"dnl" = (
diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index 0520abc37123..f49696832a9a 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -5440,9 +5440,7 @@
/turf/simulated/floor/plasteel,
/area/centcom/evac)
"sq" = (
-/obj/machinery/economy/atm{
- pixel_y = 32
- },
+/obj/machinery/economy/atm/directional/north,
/obj/structure/chair/comfy/shuttle{
dir = 8
},
diff --git a/code/modules/economy/economy_machinery/atm.dm b/code/modules/economy/economy_machinery/atm.dm
index d93e39c9e488..563375fd5a20 100644
--- a/code/modules/economy/economy_machinery/atm.dm
+++ b/code/modules/economy/economy_machinery/atm.dm
@@ -314,6 +314,8 @@
return
. += "Yellow ooze is dripping from the card slot!"
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/atm, 30, 30)
+
#undef ATM_SCREEN_DEFAULT
#undef ATM_SCREEN_SECURITY
#undef ATM_SCREEN_TRANSFER
diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi
index c749a2b1360ca5c9f89266ef9cebdf5dce8ed7d3..846889e7773e24583e9c29fdba9254775b7460de 100644
GIT binary patch
literal 34499
zcmb5VcUV(fw>}Cg>J}B;DyS$C8v+7?0wN^{8&Q!WRcfRwRXPE}Vk<>O1w^D1sz{A=
z2_-5bok;IQBoH7#AR&abwQk(sIp;g)-gAG?y?-R@Su1PJtU1S=?|8>M#(ZvUsCQuB
ziG6&0dmq?WEwv)S{Klj#U8xzxxV%C%W%z?K;4N{RQz#nw@r)U1tAk-8c3
z>}m*gi=xMfdwfrExjAI^;3q>H*DB*Az6Qe^UH%fl1#QRMLyw=jWPMa8d@{7~>o00B
z?DI8XDV&^LNxfhGW?!&|{Ce(jr{oe#Oy#Fb?u93dL_avJiypJyBPimKmv43Z&r7>n
zEEFHzcQv|UEP9ePr!``%W*w7+Kj#uyy*%La;PTV`^m{pQvH0-E<985yb}S>$-GFXT
zV=JzyXcroPk#-FJZk&BT=k~=%x-X*7g(vgxK4}@HAEtfzP~Ad(>YX>^e`Ftk{q4K{
z9JO1_rRn={5Ay)F2%L~SaA-#F;n>RvTPv+J
zcSVUV7Bt9*l1~}3XA#>6-VeIGKY9FQFCSmDOQ%3!t-vFw>*EoqTj8vp#yGzKHPI$xBcNzL*_|CL&d{BzWZJG9)93=Fzwl<
z@ZmXuCc5B-3CFlwpRVqW$~Z0B_^O8AYlYE-j|gj~On6|h80*@S5el0bK;f<97VK1OL6qGuKsCn>VFVP$c)@v1v`tb}J1|W(S_EM@?Go
zyLT2+6|2+q9iBj?oU3nogEK))J1v=GW)c_br0E<}Yl@WCq4K6z`1GfU%TUuRAux&N
z)-b$@ukwuxJnQTeGT;2(_Ht1+)DqUyGJ0y#ti+@bAafZqwUj@TtDI>B);A7bhXBf(
zXhpqH)~r%cP`S)%Y3^6>adM4d?nPo)S8g3*!prJ3{cv}Njj4b$VP}OjO5d$Q)&;`4Sqd~VoO`W`F-YIIv^_imU&
zEKp#yJU3N<0dZH+jO8myM=5!?9(psjL33$k`_(AL^y-5fL(H^RKi=-i$
z`dg9|-?yRLB%=cnY_wG*2!ocru2i(o_d0Xs^s|JtL|RDVHH0xI6@bnfXJY-ngE_Sf
zVEeE={2^DfcWGY0+uDEG*L|*5r8o>7`kqy&R8#`vK-sE
zhHqIqutiP{`{ro2-&;QT{$MaDYU{TV(*){Q=;)nbCIQk+c^spz+Lea(od>3e(RN{j
zZ>EP8*rz^tBRRSKb1aZyd9wP8oEEX$HnpuY{vFJ^1So9hxJ7)N&+B5s>q;LVDkjRy
z0@Rl35lAKT@zg|Y1Q>-Sw?jGhoTTlhi5
zv+*X9r>bl;>^Y5$m8u!UNx7%NhmY{^LIj>Z*Ri?}2LPlj2p_|%N^QdKp)VUCY9nkE~_)^lT
zD#RM0d&g;jQLo}js6BJ4JUmfg6(bj+)x3NlPLJkLu{V_8E04@^IUhI=tYDgNopnBh?9?&3Pe3O1c?L#koB?Jg9~Sl
z0(Q;o9i%=eyz2&Dyb)SF3%6!(CaS62>X!)MKeGk&RqF{%Uu68rb#Lq=*hd)X^a1@E
zHhrNXb%mEb*wEOUEO(*W(M3|DYdtqiJ$M$(&!~WTLA_rMdY~r%;?PgdxGp(b%1Ysb
zKE(o#jp{Dw+h|MiyQbxH!{2BOPMWp1aMkYWNs5
z-%25