Adds the NTSS Shadow (#24778)

* WIP

* change this

* the rest of the fucking owl

* removes QWERTODO

* let us fix the CC beacons too

* makes it look better

* makes CI work on everything but shadow, asking warriorstar

* exclude ntss shadow from window spawner checks

* final changes hopefully

* moved around parts of the shuttle

* Update code/modules/atmospherics/machinery/components/trinary_devices/filter.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* moves it moves it to it's own file

* move it move it

* bobby_drop_tables

* oops

* fuck

---------

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2024-04-26 22:31:09 +00:00
committed by GitHub
co-authored by Henri215 warriorstar-orion
parent 78e782dfcb
commit 88af37bfcf
15 changed files with 2146 additions and 208 deletions
+44 -44
View File
@@ -2878,12 +2878,12 @@
"kf" = (
/obj/docking_port/stationary{
area_type = /area/syndicate_mothership;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_syndicate";
name = "404 Not Found";
turf_type = /turf/simulated/floor/plating/asteroid/snow/airless;
width = 33
width = 41
},
/turf/simulated/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
@@ -4489,11 +4489,11 @@
"pf" = (
/obj/docking_port/stationary/transit{
dir = 4;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_transit";
name = "emergency in transit";
width = 33
width = 41
},
/turf/space/transit,
/area/space/centcomm)
@@ -12184,11 +12184,11 @@
},
/obj/docking_port/stationary{
dir = 4;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_away";
name = "emergency centcom";
width = 33
width = 41
},
/turf/simulated/floor/plating,
/area/shuttle/escape)
@@ -49336,11 +49336,11 @@ aN
aN
aN
aN
aN
Db
aN
aN
aN
aN
Db
aN
aN
@@ -49375,10 +49375,10 @@ Db
aN
aN
aN
Db
aN
aN
aN
aN
Db
aN
aN
aN
@@ -50621,12 +50621,12 @@ aN
aN
aN
aN
aN
Db
aN
aN
aN
aN
aN
od
od
vy
@@ -50656,6 +50656,13 @@ XB
od
ux
ux
aN
aN
aN
aN
aN
aN
aN
Db
aN
aN
@@ -50746,13 +50753,6 @@ aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
"}
(141,1,1) = {"
aN
@@ -51906,12 +51906,12 @@ aN
aN
aN
aN
aN
Db
aN
aN
aN
aN
aN
vy
Ez
Fq
@@ -51941,6 +51941,13 @@ Pb
vy
Iv
Zp
aN
aN
aN
aN
aN
aN
aN
Db
aN
aN
@@ -52031,13 +52038,6 @@ aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
"}
(146,1,1) = {"
aN
@@ -52420,12 +52420,12 @@ aN
aN
aN
aN
aN
Db
aN
aN
aN
aN
aN
vy
EE
Fo
@@ -52455,6 +52455,13 @@ JC
vy
Iv
Zp
aN
aN
aN
aN
aN
aN
aN
Db
aN
aN
@@ -52545,13 +52552,6 @@ aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
"}
(148,1,1) = {"
aN
@@ -53705,7 +53705,6 @@ aN
aN
aN
aN
aN
Db
aN
aN
@@ -53716,6 +53715,7 @@ aN
aN
aN
aN
aN
od
JC
Mc
@@ -53740,6 +53740,13 @@ qF
od
Iv
Zp
aN
aN
aN
aN
aN
aN
aN
Db
aN
aN
@@ -53830,13 +53837,6 @@ aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
"}
(153,1,1) = {"
aN
@@ -54990,11 +54990,11 @@ aN
aN
aN
aN
aN
Db
aN
aN
aN
aN
Db
aN
aN
@@ -55029,10 +55029,10 @@ Db
aN
aN
aN
Db
aN
aN
aN
aN
Db
aN
aN
aN
File diff suppressed because it is too large Load Diff
+67 -52
View File
@@ -22947,11 +22947,11 @@
"brK" = (
/obj/docking_port/stationary{
dir = 4;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_home";
name = "emergency evac bay";
width = 33
width = 41
},
/turf/space,
/area/space)
@@ -40410,6 +40410,7 @@
d2 = 4;
icon_state = "1-4"
},
/obj/structure/closet/emcloset,
/turf/simulated/floor/plating/airless,
/area/station/science/toxins/test)
"cDL" = (
@@ -67422,13 +67423,6 @@
icon_state = "darkyellow"
},
/area/station/science/robotics/chargebay)
"kOa" = (
/obj/structure/closet/emcloset,
/obj/machinery/light/small{
dir = 4
},
/turf/simulated/floor/plating/airless,
/area/station/science/toxins/test)
"kOt" = (
/obj/machinery/hologram/holopad,
/turf/simulated/floor/plasteel,
@@ -73862,6 +73856,15 @@
icon_state = "arrival"
},
/area/station/hallway/secondary/entry/north)
"oao" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/obj/machinery/light{
dir = 8
},
/turf/simulated/floor/plasteel/airless,
/area/station/science/toxins/test)
"oap" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
@@ -76502,6 +76505,13 @@
icon_state = "dark"
},
/area/station/medical/morgue)
"pkf" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/light{
dir = 8
},
/turf/simulated/floor/plasteel/airless,
/area/station/science/toxins/test)
"pko" = (
/obj/structure/chair/stool{
dir = 8
@@ -79640,6 +79650,11 @@
/obj/item/storage/toolbox/mechanical,
/turf/simulated/floor/plating/airless,
/area/station/science/toxins/test)
"qES" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance,
/turf/simulated/floor/plasteel/airless,
/area/station/science/toxins/test)
"qFg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -152677,9 +152692,9 @@ aaa
aaa
aaa
aaa
doE
doE
doE
aaa
aaa
aaa
aaa
aaa
aab
@@ -152932,15 +152947,15 @@ aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aab
gnU
ldS
clB
cnk
cid
cie
cie
cie
cij
cvs
cie
cie
@@ -153189,18 +153204,18 @@ aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aab
aab
ldS
cjZ
cjZ
cjZ
cie
cie
ckb
cdK
pkf
cjZ
udq
ckb
oao
cie
cie
cie
clA
@@ -153446,19 +153461,19 @@ aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aab
ldS
cjZ
cjZ
cjZ
clB
ckb
ckb
aab
cie
cie
cdK
cjZ
udq
ckb
ckb
cie
cie
jgm
cjZ
@@ -153703,13 +153718,13 @@ aaa
aaa
aaa
aaa
aaa
aaa
aaa
aab
aab
ldS
clA
kOa
jgm
cie
ckb
cie
ckb
cdK
cjZ
@@ -153961,9 +153976,9 @@ aaa
aaa
aaa
aaa
cid
cid
cie
aaa
aab
aab
cie
cie
ckb
@@ -154218,13 +154233,13 @@ aaa
aaa
aaa
aaa
cid
aab
aab
cie
cie
ckb
ckb
ckb
ckb
cdK
cjZ
udq
@@ -154474,10 +154489,10 @@ aaa
aaa
aaa
aaa
aaa
cij
aab
aab
cie
cie
ckb
ckb
ckb
ckb
@@ -154731,9 +154746,9 @@ aaa
aaa
aaa
aaa
aaa
aab
cie
cie
ckb
ckb
ckb
ckb
@@ -155247,7 +155262,7 @@ aaa
aaa
aab
cie
ckb
qES
ckb
ckb
ckb
+2 -2
View File
@@ -60296,11 +60296,11 @@
"mgu" = (
/obj/docking_port/stationary{
dir = 4;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_home";
name = "emergency evac bay";
width = 33
width = 41
},
/turf/space,
/area/space)
+106 -106
View File
@@ -13792,6 +13792,10 @@
icon_state = "bar"
},
/area/station/service/bar)
"aTq" = (
/obj/effect/spawner/airlock,
/turf/simulated/wall,
/area/station/hallway/secondary/exit)
"aTr" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
@@ -61705,21 +61709,13 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/aft/south)
"dHO" = (
/obj/effect/spawner/window/reinforced/grilled,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/obj/structure/cable{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
d2 = 2;
icon_state = "1-2"
},
/obj/structure/cable,
/obj/effect/spawner/window/reinforced/grilled,
/turf/simulated/floor/plating,
/area/station/hallway/secondary/exit)
"dHQ" = (
@@ -62698,11 +62694,11 @@
"dNS" = (
/obj/docking_port/stationary{
dir = 4;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_home";
name = "emergency evac bay";
width = 33
width = 41
},
/turf/space,
/area/space)
@@ -63953,6 +63949,16 @@
/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
@@ -64687,8 +64693,8 @@
/area/station/hallway/primary/central)
"dUY" = (
/obj/machinery/light,
/obj/machinery/alarm/directional/south,
/obj/effect/turf_decal/stripes/line,
/obj/machinery/alarm/directional/south,
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/exit)
"dUZ" = (
@@ -66426,16 +66432,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/wall,
/area/station/legal/lawoffice)
"evE" = (
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/structure/cable,
/obj/effect/spawner/window/reinforced/grilled,
/turf/simulated/floor/plating,
/area/station/hallway/secondary/exit)
"evX" = (
/obj/structure/cable,
/obj/effect/spawner/window/reinforced/grilled,
@@ -66570,22 +66566,6 @@
icon_state = "yellowcorner"
},
/area/station/hallway/primary/port/east)
"ezr" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/cable{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plasteel/white,
/area/station/medical/virology)
"ezR" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
@@ -71043,16 +71023,6 @@
},
/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,
@@ -73770,10 +73740,6 @@
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/directional/west,
/turf/simulated/floor/plasteel{
@@ -75594,6 +75560,15 @@
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{
@@ -75694,15 +75669,6 @@
},
/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;
@@ -82388,6 +82354,22 @@
icon_state = "red"
},
/area/station/security/permabrig)
"ogR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/cable{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plasteel/white,
/area/station/medical/virology)
"ogX" = (
/obj/machinery/camera{
c_tag = "Experimentation Lab Office";
@@ -91325,21 +91307,6 @@
},
/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
@@ -91872,6 +91839,24 @@
icon_state = "yellowcorner"
},
/area/station/hallway/primary/port/west)
"tEp" = (
/obj/effect/spawner/window/reinforced/grilled,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/obj/structure/cable{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/simulated/floor/plating,
/area/station/hallway/secondary/exit)
"tEw" = (
/obj/structure/showcase{
density = 0;
@@ -92369,6 +92354,21 @@
/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{
@@ -136431,7 +136431,7 @@ dUQ
dYU
dIx
abj
aaa
abj
aaa
aaa
aaa
@@ -136686,7 +136686,8 @@ dIx
dIx
dIx
dIx
iVe
dIx
aTq
abj
aaa
aaa
@@ -136730,7 +136731,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(145,1,1) = {"
aaa
@@ -136931,6 +136931,7 @@ dLA
dMo
dKP
dKP
dKP
dOv
dPb
eBl
@@ -136987,7 +136988,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(146,1,1) = {"
aaa
@@ -137189,6 +137189,7 @@ sZI
dPM
dPM
dPM
dPM
rCw
dPM
dPM
@@ -137197,7 +137198,7 @@ dPM
dkq
dSs
dSP
hli
dSB
dIH
dIH
dIH
@@ -137244,7 +137245,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(147,1,1) = {"
aaa
@@ -137446,6 +137446,7 @@ hVf
dKo
dKo
dKo
dKo
rvx
dKo
dKo
@@ -137455,8 +137456,8 @@ dNa
dXJ
dKo
dUj
kfC
tjT
kdg
tSp
dIH
abj
aaa
@@ -137501,7 +137502,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(148,1,1) = {"
aaa
@@ -137700,6 +137700,7 @@ cYk
cYk
cYk
dbR
cYk
dbV
ddw
dNa
@@ -137758,7 +137759,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(149,1,1) = {"
aaa
@@ -137957,6 +137957,7 @@ dKo
dKo
dKo
hVf
dKo
dNb
dNN
dOw
@@ -138015,7 +138016,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(150,1,1) = {"
aaa
@@ -138214,6 +138214,7 @@ dKo
gkk
dKo
hVf
dKo
dNc
dNO
dXF
@@ -138272,7 +138273,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(151,1,1) = {"
aaa
@@ -138471,6 +138471,7 @@ dKo
dKo
dKo
hVf
dKo
dNb
dNP
dOw
@@ -138529,7 +138530,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(152,1,1) = {"
aaa
@@ -138728,6 +138728,7 @@ dKp
dKp
dKp
dIh
dKo
dOu
dNQ
dOx
@@ -138786,7 +138787,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(153,1,1) = {"
aaa
@@ -138985,6 +138985,7 @@ wgY
rIb
rIb
pJE
dKo
dNb
bGr
dOw
@@ -139043,7 +139044,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(154,1,1) = {"
aaa
@@ -139245,6 +139245,7 @@ iFB
iqq
iqq
iqq
iqq
uFa
sbt
sDb
@@ -139268,7 +139269,6 @@ aaa
aaa
aaa
aaa
aaa
aaZ
aaa
aaa
@@ -139501,6 +139501,7 @@ nIs
ngE
kuJ
kuJ
kuJ
tJT
dXn
dXn
@@ -139557,7 +139558,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(156,1,1) = {"
aaa
@@ -139758,6 +139758,7 @@ dTJ
dMs
jac
jac
jac
vSW
scA
ajq
@@ -139814,7 +139815,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(157,1,1) = {"
aaa
@@ -140016,6 +140016,7 @@ dVp
dKp
dKp
dKp
dKp
pGr
rev
vJu
@@ -140071,7 +140072,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(158,1,1) = {"
aaa
@@ -140273,6 +140273,7 @@ ulH
dTy
dTy
dTy
dTy
rmq
msT
dKP
@@ -140328,7 +140329,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(159,1,1) = {"
aaa
@@ -140526,9 +140526,10 @@ pIY
kuJ
kpd
kpd
tEp
dHO
dHO
dHO
evE
evE
tJT
dKQ
jpk
@@ -140585,7 +140586,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(160,1,1) = {"
aaa
@@ -140786,6 +140786,7 @@ abj
abj
abj
abj
abj
pjC
dKP
pjC
@@ -140842,7 +140843,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(161,1,1) = {"
aaa
@@ -141043,6 +141043,7 @@ aaa
aaa
aaa
aaa
aaa
pjC
dKQ
pjC
@@ -141099,7 +141100,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(162,1,1) = {"
aaa
@@ -141303,8 +141303,8 @@ aaa
aaa
aaa
aaa
dNS
aaa
dNS
aaa
aaa
aaa
@@ -149011,7 +149011,7 @@ dGw
dGw
hGZ
qgr
ezr
ogR
wWW
qfH
sRk
+2 -2
View File
@@ -42602,11 +42602,11 @@
"cZp" = (
/obj/docking_port/stationary{
dir = 2;
dwidth = 15;
dwidth = 16;
height = 21;
id = "emergency_home";
name = "emergency evac bay";
width = 33
width = 41
},
/turf/space,
/area/space)
+6
View File
@@ -119,6 +119,12 @@
This escape shuttle boasts shields and numerous anti-personnel turrets guarding its perimeter to fend off meteors and enemy boarding attempts."
admin_notes = "Comes with turrets that will target simple mobs."
/datum/map_template/shuttle/emergency/shadow
suffix = "shadow"
name = "The NTSS Shadow"
description = "Guaranteed to get you somewhere FAST. With a custom-built plasma engine, this bad boy will put more distance between you and certain danger than any other!"
admin_notes = "The aft of the ship has a plasma tank that starts ignited. May get released by crew. The plasma windows next to the engine heaters will also erupt into flame, and also risk getting released by crew."
/datum/map_template/shuttle/ferry/base
suffix = "base"
name = "transport ferry"
-1
View File
@@ -338,7 +338,6 @@
name = "heavy firelock"
icon = 'icons/obj/doors/doorfire.dmi'
glass = FALSE
opacity = TRUE
explosion_block = 2
assemblytype = /obj/structure/firelock_frame/heavy
max_integrity = 550
@@ -21,7 +21,6 @@
/obj/machinery/atmospherics/unary/passive_vent/process_atmos()
..()
if(!node)
return 0
@@ -0,0 +1,32 @@
/obj/machinery/atmospherics/unary/passive_vent/high_volume/shadow
on = FALSE
/obj/machinery/atmospherics/unary/passive_vent/high_volume/shadow/process_atmos()
if(!on)
return
..()
/obj/machinery/atmospherics/unary/passive_vent/high_volume/shadow/onTransitZ(old_z, new_z)
. = ..()
if(is_station_level(new_z))
on = TRUE
/obj/machinery/atmospherics/trinary/filter/shadow
name = "gas filter (Co2 Outlet)"
dir = 1
filter_type = 3
on = FALSE
target_pressure = 99999
/obj/machinery/atmospherics/trinary/filter/shadow/onTransitZ(old_z, new_z)
. = ..()
if(is_station_level(new_z))
on = TRUE
/obj/machinery/igniter/shadow
/obj/machinery/igniter/shadow/onTransitZ(old_z, new_z)
. = ..()
if(is_station_level(new_z))
on = TRUE
update_icon()
@@ -93,6 +93,11 @@
cost = 4500 //I do wonder about shuttle prices, especially considering how many guns you could get for this price. Perhaps a lowering in the future.
template = /datum/map_template/shuttle/emergency/raven
/datum/supply_packs/abstract/shuttle/shadow
cost = 3250
template = /datum/map_template/shuttle/emergency/shadow
speed_factor = 2 //Fast enough that it probably won't burn down entirely after the crew looses the plasma
// these, otoh, have some pretty silly features, and are hidden behind emag
/datum/supply_packs/abstract/shuttle/clown
+1
View File
@@ -1585,6 +1585,7 @@
#include "code\modules\awaymissions\maploader\writer.dm"
#include "code\modules\awaymissions\mission_code\beach.dm"
#include "code\modules\awaymissions\mission_code\challenge.dm"
#include "code\modules\awaymissions\mission_code\shuttle_shadow.dm"
#include "code\modules\awaymissions\mission_code\ghost_role_spawners\golems.dm"
#include "code\modules\awaymissions\mission_code\ghost_role_spawners\oldstation_spawns.dm"
#include "code\modules\awaymissions\mission_code\ruins\derelict5.dm"
@@ -1,4 +1,8 @@
help: "Replace the grille and window with the proper spawner."
exclude_files:
# atmos can tick before the windows from the spawner spawn, leading to gas leakage
# on this shuttle
- _maps/map_files/shuttles/emergency_shadow.dmm
/obj/structure/grille:
banned_neighbors:
- /obj/structure/window/full
+3
View File
@@ -24,8 +24,11 @@ def process_dmm(map_filename, lints: dict[str, lint.Lint]) -> list[MaplintError]
# No structured data to lint.
return problems
map_path = pathlib.Path(map_filename)
for lint_name, lint in lints.items():
try:
if map_path in lint.exclude_files:
continue
problems.extend(lint.run(map_data))
except KeyboardInterrupt:
raise
+5
View File
@@ -1,4 +1,5 @@
import re
import pathlib
from typing import Optional
from .common import Constant, Typepath
@@ -219,6 +220,7 @@ class Rules:
class Lint:
help: Optional[str] = None
rules: dict[TypepathExtra, Rules]
exclude_files: list[str] = list()
def __init__(self, data):
expect(isinstance(data, dict), "Lint must be a dictionary.")
@@ -226,6 +228,9 @@ class Lint:
if "help" in data:
self.help = data.pop("help")
if "exclude_files" in data:
self.exclude_files = [pathlib.Path(x) for x in data.pop("exclude_files")]
expect(isinstance(self.help, str) or self.help is None, "Lint help must be a string.")
self.rules = {}