diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index 70e871e0b52f..3c73fa6c9021 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -155,6 +155,7 @@
/obj/machinery/door/airlock/titanium{
name = "Escape Pod Airlock"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/mineral/titanium/blue,
/area/ruin/powered)
"I" = (
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm
index 8a3108315bb6..d6bbb5279bdf 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm
@@ -2,15 +2,27 @@
"bm" = (
/obj/effect/landmark/burnturf,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
+/area/ruin/unpowered/misc_lavaruin)
+"bz" = (
+/mob/living/simple_animal/hostile/asteroid/hivelord/legion,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"bF" = (
/obj/machinery/door/airlock/public,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"bK" = (
/obj/machinery/economy/vending/snack,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"cl" = (
/obj/effect/decal/cleanable/blood,
@@ -33,12 +45,12 @@
name = "emergency autoinjector";
icon_state = "autoinjector0"
},
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"eo" = (
/obj/structure/table_frame,
/obj/effect/decal/cleanable/ash,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/mineral/titanium/blue,
/area/ruin/unpowered/misc_lavaruin)
"eG" = (
/obj/effect/landmark/burnturf,
@@ -50,13 +62,17 @@
"fU" = (
/obj/structure/table_frame,
/obj/item/stack/sheet/metal,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"ge" = (
/obj/effect/landmark/burnturf,
/obj/effect/decal/cleanable/blood,
/obj/item/cigbutt,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"gY" = (
/obj/machinery/computer/nonfunctional{
@@ -81,13 +97,17 @@
"jU" = (
/obj/item/stack/sheet/metal,
/obj/structure/closet/firecloset,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"kk" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"kv" = (
/obj/effect/landmark/damageturf,
@@ -103,7 +123,7 @@
/area/lavaland/surface/outdoors)
"mA" = (
/obj/effect/mob_spawn/human/corpse/skeleton,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"mN" = (
/obj/effect/spawner/random_spawners/blood_maybe,
@@ -117,7 +137,7 @@
/area/ruin/unpowered/misc_lavaruin)
"nG" = (
/obj/machinery/door/airlock/public,
-/turf/simulated/floor/mineral/titanium/airless,
+/turf/simulated/floor/mineral/titanium,
/area/ruin/unpowered/misc_lavaruin)
"oD" = (
/obj/effect/spawner/random_spawners/blood_maybe,
@@ -126,7 +146,6 @@
pixel_y = -5
},
/obj/item/storage/briefcase{
- pixel_y = 0;
pixel_x = -3
},
/turf/simulated/floor/plating,
@@ -138,7 +157,9 @@
"oV" = (
/obj/effect/decal/cleanable/generic,
/obj/machinery/light/built,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"qG" = (
/obj/effect/decal/cleanable/blood,
@@ -148,7 +169,9 @@
},
/area/lavaland/surface/outdoors)
"rw" = (
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
/area/ruin/unpowered/misc_lavaruin)
"rx" = (
/obj/structure/chair/comfy/shuttle{
@@ -156,13 +179,15 @@
},
/mob/living/simple_animal/hostile/asteroid/hivelord/legion,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"sa" = (
/obj/effect/landmark/damageturf,
/obj/effect/spawner/random_spawners/blood_maybe,
/obj/effect/decal/cleanable/molten_object,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"sf" = (
/obj/structure/reagent_dispensers/watertank,
@@ -190,7 +215,9 @@
dir = 8
},
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"tH" = (
/obj/structure/shuttle/engine/heater{
@@ -209,7 +236,9 @@
"uQ" = (
/obj/effect/landmark/burnturf,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
/area/ruin/unpowered/misc_lavaruin)
"vA" = (
/obj/effect/spawner/random_spawners/oil_maybe,
@@ -232,13 +261,20 @@
/obj/effect/decal/cleanable/ash,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"wN" = (
+/obj/machinery/door/airlock/public,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/mineral/titanium/blue,
+/area/ruin/unpowered/misc_lavaruin)
"xc" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/obj/effect/mob_spawn/human/corpse/skeleton,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"xd" = (
/obj/item/stack/rods,
@@ -261,6 +297,7 @@
/area/ruin/unpowered/misc_lavaruin)
"zo" = (
/obj/machinery/door/airlock/public,
+/obj/structure/fans/tiny,
/turf/simulated/floor/mineral/plastitanium,
/area/ruin/unpowered/misc_lavaruin)
"zv" = (
@@ -268,13 +305,13 @@
/obj/item/light/tube{
status = 2
},
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"zG" = (
-/obj/structure/toilet{
- dir = 2
- },
-/turf/simulated/floor/mineral/titanium/airless,
+/obj/structure/toilet,
+/turf/simulated/floor/mineral/titanium,
/area/ruin/unpowered/misc_lavaruin)
"zM" = (
/obj/structure/window/reinforced{
@@ -310,32 +347,39 @@
icon_state = "mirror_broke";
pixel_y = -32
},
-/turf/simulated/floor/mineral/titanium/airless,
+/turf/simulated/floor/mineral/titanium,
/area/ruin/unpowered/misc_lavaruin)
"AO" = (
/obj/machinery/economy/vending/cigarette,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Bf" = (
/obj/structure/closet/firecloset,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"BX" = (
/obj/effect/decal/cleanable/glass,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"Ca" = (
/obj/effect/landmark/burnturf,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"Dt" = (
/obj/effect/spawner/window/shuttle,
-/turf/simulated/floor/plating,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"DM" = (
/obj/item/stack/rods/ten,
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Et" = (
/obj/effect/decal/cleanable/glass,
@@ -348,12 +392,18 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
+"FN" = (
+/obj/effect/spawner/random_spawners/blood_maybe,
+/turf/simulated/floor/plating/lavaland_air,
+/area/ruin/unpowered/misc_lavaruin)
"FO" = (
/turf/simulated/floor/mineral/plastitanium,
/area/ruin/unpowered/misc_lavaruin)
"FY" = (
/obj/structure/table,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Gt" = (
/obj/effect/mapping_helpers/no_lava,
@@ -364,11 +414,11 @@
dir = 8
},
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"HJ" = (
/mob/living/simple_animal/hostile/asteroid/hivelord/legion,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"It" = (
/turf/simulated/wall/mineral/titanium,
@@ -391,7 +441,7 @@
/obj/item/stack/sheet/metal,
/obj/effect/spawner/random_spawners/dirt_maybe,
/obj/effect/decal/cleanable/ash,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"Ks" = (
/obj/effect/mob_spawn/human/corpse/skeleton,
@@ -413,7 +463,9 @@
/obj/structure/extinguisher_cabinet{
pixel_y = -32
},
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Mb" = (
/obj/item/shard{
@@ -430,12 +482,15 @@
/area/ruin/unpowered/misc_lavaruin)
"Mf" = (
/obj/effect/landmark/damageturf,
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
/area/ruin/unpowered/misc_lavaruin)
"My" = (
/obj/machinery/door/airlock/public,
/obj/effect/landmark/damageturf,
/obj/effect/spawner/random_spawners/oil_maybe,
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/ruin/unpowered/misc_lavaruin)
"MC" = (
@@ -447,7 +502,9 @@
/area/ruin/unpowered/misc_lavaruin)
"MS" = (
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"NE" = (
/obj/structure/table,
@@ -478,21 +535,24 @@
/area/lavaland/surface/outdoors)
"QD" = (
/obj/machinery/light{
- dir = 2;
brightness_color = "#FF3232";
emergency_mode = 1;
fire_mode = 1
},
/turf/simulated/floor/mineral/titanium/blue,
/area/ruin/unpowered/misc_lavaruin)
+"QK" = (
+/obj/effect/spawner/window/shuttle,
+/turf/simulated/floor/plating/lavaland_air,
+/area/ruin/unpowered/misc_lavaruin)
"RH" = (
/obj/effect/decal/cleanable/blood,
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
/area/ruin/unpowered/misc_lavaruin)
"RK" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 2
- },
+/obj/structure/shuttle/engine/propulsion,
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface{
icon_state = "basalt_dug"
@@ -506,7 +566,10 @@
"Sd" = (
/obj/effect/spawner/random_spawners/dirt_maybe,
/obj/effect/decal/cleanable/ash,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
+/area/ruin/unpowered/misc_lavaruin)
+"Sj" = (
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"SH" = (
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface{
@@ -524,14 +587,18 @@
/area/ruin/unpowered/misc_lavaruin)
"Tm" = (
/obj/effect/decal/cleanable/ash,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Ts" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/obj/effect/mob_spawn/human/corpse/skeleton,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"TU" = (
/obj/machinery/light{
@@ -540,7 +607,9 @@
emergency_mode = 1;
fire_mode = 1
},
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Ua" = (
/obj/structure/table/reinforced,
@@ -550,34 +619,51 @@
"Uw" = (
/obj/structure/closet/walllocker/emerglocker/north,
/obj/effect/decal/cleanable/cobweb,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Uz" = (
/obj/effect/landmark/burnturf,
-/turf/simulated/floor/mineral/titanium/blue,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"UV" = (
/obj/effect/landmark/burnturf,
/obj/item/stack/rods,
/obj/effect/spawner/random_spawners/dirt_maybe,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"Vs" = (
/mob/living/simple_animal/hostile/asteroid/hivelord/legion,
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"VO" = (
+/obj/effect/mob_spawn/human/corpse/skeleton,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
+/area/ruin/unpowered/misc_lavaruin)
"WF" = (
/obj/effect/decal/cleanable/glass,
/obj/effect/decal/cleanable/molten_object/large,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
"WI" = (
/obj/item/stack/sheet/metal,
/obj/item/light/tube{
status = 2
},
-/turf/simulated/floor/mineral/titanium,
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium"
+ },
+/area/ruin/unpowered/misc_lavaruin)
+"WU" = (
+/turf/simulated/floor/plasteel/lavaland_air{
+ icon_state = "titanium_blue"
+ },
/area/ruin/unpowered/misc_lavaruin)
"Yf" = (
/obj/effect/decal/cleanable/ash,
@@ -775,7 +861,7 @@ It
fU
Tm
rw
-ng
+WU
FY
It
It
@@ -793,11 +879,11 @@ dD
dD
It
TU
-ng
-ng
+WU
+WU
rw
-ng
-ng
+WU
+WU
zv
It
dD
@@ -812,15 +898,15 @@ NG
NG
dD
Gt
-Dt
+QK
kk
-ng
+WU
kk
DM
kk
-ng
+WU
Ts
-Dt
+QK
dD
dD
NG
@@ -833,15 +919,15 @@ NG
NG
dD
Gt
-Dt
+QK
kk
-Ks
+VO
kk
rw
kk
-ng
+WU
Ts
-Dt
+QK
dD
SH
NG
@@ -854,15 +940,15 @@ NG
dD
Gt
Gt
-Dt
+QK
kk
-ng
+WU
Ts
Mf
IQ
-ng
+WU
kk
-Dt
+QK
dD
dD
dD
@@ -875,15 +961,15 @@ Gt
Vs
Gt
Gt
-Dt
-ng
-ng
+QK
+WU
+WU
Ts
Mf
Ts
-ng
+WU
Ts
-Dt
+QK
dD
dD
dD
@@ -902,9 +988,9 @@ MS
xc
Mf
kk
-ng
+WU
kk
-Dt
+QK
dD
It
dD
@@ -925,7 +1011,7 @@ sa
bm
Uz
kk
-Dt
+QK
dD
dD
dD
@@ -1134,7 +1220,7 @@ It
RP
Gt
It
-bF
+wN
It
It
It
@@ -1147,13 +1233,13 @@ dD
It
Gt
cl
-ng
-tN
-ng
+WU
+bz
+WU
It
Uw
RH
-ng
+WU
It
ng
ng
@@ -1169,15 +1255,15 @@ dD
Gt
It
TU
-ng
+WU
LJ
It
-tN
+bz
WI
oV
It
NE
-sJ
+ng
QD
It
dD
@@ -1191,7 +1277,7 @@ Gt
cl
WF
mA
-hb
+FN
It
bK
Mf
@@ -1231,8 +1317,8 @@ dD
SH
Aj
It
-ng
-sJ
+WU
+Sj
It
IL
sf
diff --git a/_maps/map_files220/stations/boxstation.dmm b/_maps/map_files220/stations/boxstation.dmm
index 4a89fbc37b5b..8a5a3ff39a18 100644
--- a/_maps/map_files220/stations/boxstation.dmm
+++ b/_maps/map_files220/stations/boxstation.dmm
@@ -19149,7 +19149,7 @@
/obj/structure/rack,
/obj/item/wrench,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"bua" = (
/obj/machinery/light/small/directional/north,
/obj/item/rcs,
@@ -21345,7 +21345,7 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"bEK" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -21771,7 +21771,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"bGt" = (
/obj/structure/sign/directions/engineering{
pixel_y = -39
@@ -25664,7 +25664,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"bYd" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -4;
@@ -25685,7 +25685,7 @@
dir = 4;
icon_state = "darkbluecorners"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"bYf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
@@ -27378,7 +27378,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cen" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -27680,7 +27680,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cfI" = (
/obj/effect/turf_decal/delivery/blue/hollow,
/obj/machinery/sleeper,
@@ -27727,7 +27727,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cfP" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance/two,
@@ -28362,7 +28362,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ciK" = (
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
@@ -28395,7 +28395,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ciQ" = (
/obj/structure/table,
/obj/item/storage/belt/medical{
@@ -28424,7 +28424,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ciX" = (
/obj/structure/chair,
/turf/simulated/floor/plasteel{
@@ -28575,7 +28575,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cjF" = (
/obj/structure/closet/firecloset,
/turf/simulated/floor/plating,
@@ -28774,7 +28774,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ckB" = (
/obj/machinery/camera{
c_tag = "Medbay Hallway Center";
@@ -28923,7 +28923,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ckX" = (
/obj/structure/table,
/obj/item/folder/white,
@@ -29874,7 +29874,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cou" = (
/obj/structure/disposalpipe/segment/corner{
dir = 1
@@ -30631,12 +30631,12 @@
"crY" = (
/obj/effect/spawner/window/reinforced/grilled,
/turf/simulated/floor/plating,
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"crZ" = (
/obj/effect/spawner/window/reinforced/grilled,
/obj/structure/sign/examroom,
/turf/simulated/floor/plating,
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"csa" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
@@ -31221,7 +31221,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cuh" = (
/obj/effect/decal/cleanable/cobweb2,
/obj/structure/safe,
@@ -31394,7 +31394,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"cuE" = (
/obj/structure/grille/broken,
/turf/simulated/floor/plating,
@@ -34183,7 +34183,7 @@
/obj/machinery/atmospherics/meter,
/obj/machinery/light/small/directional/north,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"cFT" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -50282,7 +50282,7 @@
},
/obj/effect/spawner/lootdrop/maintenance,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"fko" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -52542,7 +52542,7 @@
dir = 8;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"fZD" = (
/obj/structure/table/reinforced,
/obj/item/book/manual/wiki/sop_engineering{
@@ -52778,7 +52778,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"gff" = (
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/visible/green{
@@ -55867,7 +55867,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"hbq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -55912,7 +55912,7 @@
dir = 1;
icon_state = "darkbluecorners"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"hcE" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
@@ -58249,7 +58249,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"hTu" = (
/obj/effect/spawner/window/reinforced/grilled,
/obj/machinery/door/poddoor/preopen{
@@ -58568,7 +58568,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"hZH" = (
/obj/structure/closet/crate,
/obj/item/stack/nanopaste,
@@ -61260,7 +61260,7 @@
dir = 8;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"jdi" = (
/obj/effect/spawner/window/reinforced/polarized/grilled{
id = "qm"
@@ -62454,7 +62454,7 @@
dir = 8
},
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"jza" = (
/turf/simulated/floor/plasteel{
dir = 1;
@@ -66510,7 +66510,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"kXD" = (
/obj/structure/chair/office/light{
dir = 4
@@ -67489,7 +67489,7 @@
/area/station/hallway/primary/aft)
"lsh" = (
/turf/simulated/wall/r_wall,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"lsk" = (
/obj/structure/window/reinforced,
/turf/simulated/floor/plasteel{
@@ -68595,7 +68595,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"lLM" = (
/obj/structure/closet/crate/can,
/obj/effect/spawner/lootdrop/maintenance/two,
@@ -69800,7 +69800,7 @@
dir = 9;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"mev" = (
/obj/structure/window/reinforced{
dir = 4
@@ -72844,7 +72844,7 @@
/obj/machinery/atmospherics/binary/valve,
/obj/machinery/alarm/directional/west,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"njM" = (
/obj/structure/sign/electricshock{
pixel_y = -32
@@ -79063,7 +79063,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"pou" = (
/obj/effect/spawner/window/reinforced/grilled,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -81220,7 +81220,7 @@
/turf/simulated/floor/plasteel{
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"qdQ" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green{
@@ -81603,7 +81603,7 @@
},
/obj/effect/spawner/random_spawners/cobweb_left_frequent,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"qlt" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -83431,7 +83431,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"qNB" = (
/obj/machinery/disposal,
/obj/machinery/light_switch/south,
@@ -88573,7 +88573,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"sHW" = (
/obj/machinery/door/airlock/welded,
/obj/effect/mapping_helpers/airlock/autoname,
@@ -88774,7 +88774,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"sNy" = (
/obj/structure/chair{
dir = 8
@@ -89470,7 +89470,7 @@
dir = 4;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"sZJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -91580,7 +91580,7 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"tOs" = (
/obj/effect/spawner/random_spawners/cobweb_right_frequent,
/turf/simulated/floor/plating,
@@ -91826,7 +91826,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"tSu" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -99888,7 +99888,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"wJv" = (
/obj/structure/chair,
/obj/structure/sign/nosmoking_1{
@@ -99899,14 +99899,14 @@
dir = 1;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"wJK" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
/obj/machinery/atmospherics/portable/scrubber,
/turf/simulated/floor/plating,
-/area/station/maintenance/maintcentral2)
+/area/station/maintenance/maintcentral)
"wKx" = (
/obj/structure/flora/ausbushes/brflowers,
/obj/structure/railing{
@@ -100296,7 +100296,7 @@
dir = 10;
icon_state = "darkblue"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"wQO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -101580,7 +101580,7 @@
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"xoT" = (
/obj/effect/turf_decal/siding/white/corner{
dir = 1
@@ -104458,7 +104458,7 @@
/area/station/engineering/hallway)
"ylO" = (
/turf/simulated/wall,
-/area/station/medical/ward)
+/area/station/medical/surgery/observation)
"ylS" = (
/obj/machinery/computer/atmos_alert{
dir = 4
diff --git a/code/__HELPERS/trait_helpers.dm b/code/__HELPERS/trait_helpers.dm
index cb1146caf35e..dc47f48dad1f 100644
--- a/code/__HELPERS/trait_helpers.dm
+++ b/code/__HELPERS/trait_helpers.dm
@@ -231,6 +231,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_CAN_STRIP "can_strip" // This mob can strip other mobs.
#define TRAIT_CLING_BURSTING "cling_bursting" // This changeling is about to burst into a headslug, block cremation / gibber to prevent nullspace issues
#define TRAIT_I_WANT_BRAINS "mob_zombie" // A general trait for tracking if the mob is a zombie.
+#define TRAIT_NON_INFECTIOUS_ZOMBIE "non_infectious_zombie" // A trait for checking if a zombie shouldn't be able to infect other people
+#define TRAIT_NPC_ZOMBIE "npc_zombie" // A trait for checking if a zombie should act like an NPC and attack
#define TRAIT_ABSTRACT_HANDS "abstract_hands" // Mobs with this trait can only pick up abstract items.
#define TRAIT_LANGUAGE_LOCKED "language_locked" // cant add/remove languages until removed (excludes babel because fuck everything i guess)
#define TRAIT_HAS_IV_BAG "iv_bag" // Used to check if there is an active IV bag. Currently blocks another IV bags from being inserted.
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index 03b2aa2b9b1e..841cbcebe230 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -96,7 +96,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_I_WANT_BRAINS" = TRAIT_I_WANT_BRAINS,
"TRAIT_ABSTRACT_HANDS" = TRAIT_ABSTRACT_HANDS,
"TRAIT_LANGUAGE_LOCKED" = TRAIT_LANGUAGE_LOCKED,
- "TRAIT_HAS_IV_BAG" = TRAIT_HAS_IV_BAG
+ "TRAIT_HAS_IV_BAG" = TRAIT_HAS_IV_BAG,
+ "TRAIT_NON_INFECTIOUS_ZOMBIE" = TRAIT_NON_INFECTIOUS_ZOMBIE
),
/datum/mind = list(
diff --git a/code/datums/components/parry.dm b/code/datums/components/parry.dm
index 69a6f1821fa5..f0d82912a7ce 100644
--- a/code/datums/components/parry.dm
+++ b/code/datums/components/parry.dm
@@ -73,7 +73,7 @@
/datum/component/parry/proc/start_parry(mob/living/L)
SIGNAL_HANDLER
var/time_since_parry = world.time - time_parried
- if(time_since_parry < parry_cooldown + parry_time_out_time) // stops spam
+ if(time_since_parry < parry_cooldown) // stops spam
return
time_parried = world.time
diff --git a/code/datums/components/zombie_regen.dm b/code/datums/components/zombie_regen.dm
index a23f2e810374..561446571e3a 100644
--- a/code/datums/components/zombie_regen.dm
+++ b/code/datums/components/zombie_regen.dm
@@ -36,7 +36,7 @@
return
if(zomboid.client || isLivingSSD(zomboid))
return
- if(zomboid.last_known_ckey && !zomboid.key) // make sure they were player inhabited and not admin ghosted
+ if((zomboid.last_known_ckey || HAS_TRAIT(zomboid, TRAIT_NPC_ZOMBIE)) && !zomboid.key) // make sure they were player inhabited and not admin ghosted
mindless_hunger()
/datum/component/zombie_regen/proc/zombie_rejuv()
diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm
index 2fa237fac10e..9e821b15e313 100644
--- a/code/datums/uplink_items/uplink_traitor.dm
+++ b/code/datums/uplink_items/uplink_traitor.dm
@@ -351,7 +351,7 @@
desc = "An energy based weapon that launches high velocity plasma spikes. These spikes hit with enough force to knock the target down and leave a nasty wound."
reference = "STG"
item = /obj/item/gun/energy/spikethrower
- cost = 60
+ cost = 50
species = list("Vox")
surplus = 0
diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm
index 269ae378f99a..93516308bd04 100644
--- a/code/game/area/ai_monitored.dm
+++ b/code/game/area/ai_monitored.dm
@@ -33,7 +33,3 @@
name = "EVA Storage"
icon_state = "eva"
ambientsounds = HIGHSEC_SOUNDS
-
-/area/station/ai_monitored/storage/secure
- name = "Secure Storage"
- icon_state = "storage"
diff --git a/code/game/area/areas/mining_areas.dm b/code/game/area/areas/mining_areas.dm
index aa4802ffabbc..2162e914109b 100644
--- a/code/game/area/areas/mining_areas.dm
+++ b/code/game/area/areas/mining_areas.dm
@@ -4,23 +4,6 @@
icon_state = "mining"
has_gravity = TRUE
-/area/mine/explored
- name = "Mine"
- icon_state = "explored"
- always_unpowered = TRUE
- requires_power = TRUE
- poweralm = FALSE
- apc_starts_off = TRUE
- outdoors = TRUE
- ambientsounds = MINING_SOUNDS
- flags = NONE
- sound_environment = SOUND_AREA_STANDARD_STATION
- min_ambience_cooldown = 70 SECONDS
- max_ambience_cooldown = 220 SECONDS
-
-/area/mine/dangerous/explored/golem
- name = "Small Asteroid"
-
/area/mine/unexplored
name = "Mine"
icon_state = "unexplored"
@@ -47,9 +30,6 @@
/area/mine/unexplored/cere/command
name = "Command Asteroid"
-/area/mine/unexplored/cere/docking
- name = "Docking Asteroid"
-
/area/mine/unexplored/cere/engineering
name = "Engineering Asteroid"
@@ -171,17 +151,6 @@
min_ambience_cooldown = 70 SECONDS
max_ambience_cooldown = 220 SECONDS
-/area/lavaland/underground
- name = "Lavaland Caves"
- icon_state = "unexplored"
- always_unpowered = TRUE
- requires_power = TRUE
- poweralm = FALSE
- apc_starts_off = TRUE
- ambientsounds = MINING_SOUNDS
- min_ambience_cooldown = 70 SECONDS
- max_ambience_cooldown = 220 SECONDS
-
/area/lavaland/surface/outdoors
name = "Lavaland Wastes"
outdoors = TRUE
diff --git a/code/game/area/asteroid_areas.dm b/code/game/area/asteroid_areas.dm
deleted file mode 100644
index 97935e23bc25..000000000000
--- a/code/game/area/asteroid_areas.dm
+++ /dev/null
@@ -1,24 +0,0 @@
-// Asteroids
-
-/// -- TLE
-/area/asteroid
- name = "\improper Asteroid"
- icon_state = "asteroid"
- requires_power = FALSE
- valid_territory = FALSE
- dynamic_lighting = DYNAMIC_LIGHTING_FORCED
- ambientsounds = MINING_SOUNDS
- sound_environment = SOUND_AREA_ASTEROID
- min_ambience_cooldown = 70 SECONDS
- max_ambience_cooldown = 220 SECONDS
-
-/// -- TLE
-/area/asteroid/cave
- name = "\improper Asteroid - Underground"
- icon_state = "cave"
- requires_power = FALSE
- outdoors = TRUE
-
-/area/asteroid/artifactroom
- name = "\improper Asteroid - Artifact"
- icon_state = "cave"
diff --git a/code/game/area/centcom_areas.dm b/code/game/area/centcom_areas.dm
index 455911a1b118..98674bf344a8 100644
--- a/code/game/area/centcom_areas.dm
+++ b/code/game/area/centcom_areas.dm
@@ -85,14 +85,6 @@
name = "\improper Thunderdome Arena"
icon_state = "thunder"
-/area/tdome/tdome1
- name = "\improper Thunderdome (Team 1)"
- icon_state = "green"
-
-/area/tdome/tdome2
- name = "\improper Thunderdome (Team 2)"
- icon_state = "yellow"
-
/area/tdome/tdomeadmin
name = "\improper Thunderdome (Admin.)"
icon_state = "purple"
diff --git a/code/game/area/misc_areas.dm b/code/game/area/misc_areas.dm
index 64595545136a..b7239cda7ec6 100644
--- a/code/game/area/misc_areas.dm
+++ b/code/game/area/misc_areas.dm
@@ -1,8 +1,3 @@
-
-/area/generic
- name = "Unknown"
- icon_state = "storage"
-
/// will be unused once kurper gets his login interface patch done
/area/start
name = "start area"
@@ -55,27 +50,5 @@
nad_allowed = TRUE
ambientsounds = HIGHSEC_SOUNDS
-/area/syndicate_mothership/control
- name = "\improper Syndicate Control Room"
- icon_state = "syndie-control"
-
-/area/syndicate_mothership/elite_squad
- name = "\improper Syndicate Elite Squad"
- icon_state = "syndie-elite"
-
-/area/syndicate_mothership/infteam
- name = "\improper Syndicate Infiltrators"
- icon_state = "syndie-elite"
-
/area/syndicate_mothership/jail
name = "\improper Syndicate Jail"
-
-// idk what this area is
-/area/mint
- name = "\improper Mint"
- icon_state = "green"
-
-//GAYBAR
-/area/secret/gaybar
- name = "\improper Dance Bar"
- icon_state = "dancebar"
diff --git a/code/game/area/shuttle_areas.dm b/code/game/area/shuttle_areas.dm
index 4ab5b70b3eca..52cf9ec79281 100644
--- a/code/game/area/shuttle_areas.dm
+++ b/code/game/area/shuttle_areas.dm
@@ -14,9 +14,6 @@
name = "\improper Arrival Shuttle"
parallax_move_direction = EAST
-/area/shuttle/arrival/pre_game
- icon_state = "shuttle2"
-
/area/shuttle/arrival/station
icon_state = "shuttle"
@@ -50,59 +47,6 @@
nad_allowed = TRUE
parallax_move_direction = EAST
-/area/shuttle/escape_pod1
- name = "\improper Escape Pod One"
- nad_allowed = TRUE
-
-/area/shuttle/escape_pod1/station
- icon_state = "shuttle2"
-
-/area/shuttle/escape_pod1/centcom
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod1/transit
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod2
- name = "\improper Escape Pod Two"
- nad_allowed = TRUE
-
-/area/shuttle/escape_pod2/station
- icon_state = "shuttle2"
-
-/area/shuttle/escape_pod2/centcom
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod2/transit
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod3
- name = "\improper Escape Pod Three"
- nad_allowed = TRUE
-
-/area/shuttle/escape_pod3/station
- icon_state = "shuttle2"
-
-/area/shuttle/escape_pod3/centcom
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod3/transit
- icon_state = "shuttle"
-
-/// Pod 4 was lost to meteors
-/area/shuttle/escape_pod5
- name = "\improper Escape Pod Five"
- nad_allowed = TRUE
-
-/area/shuttle/escape_pod5/station
- icon_state = "shuttle2"
-
-/area/shuttle/escape_pod5/centcom
- icon_state = "shuttle"
-
-/area/shuttle/escape_pod5/transit
- icon_state = "shuttle"
-
/area/shuttle/mining
name = "\improper Mining Shuttle"
icon_state = "shuttle"
@@ -112,20 +56,6 @@
name = "\improper Transport Shuttle"
parallax_move_direction = EAST
-/area/shuttle/transport1
- icon_state = "shuttle"
- name = "\improper Transport Shuttle"
-
-/area/shuttle/alien/base
- icon_state = "shuttle"
- name = "\improper Alien Shuttle Base"
- requires_power = 1
-
-/area/shuttle/alien/mine
- icon_state = "shuttle"
- name = "\improper Alien Shuttle Mine"
- requires_power = 1
-
/area/shuttle/gamma/space
icon_state = "shuttle"
name = "\improper Gamma Armory"
@@ -134,15 +64,6 @@
icon_state = "shuttle"
name = "\improper Gamma Armory Station"
-/area/shuttle/prison/
- name = "\improper Prison Shuttle"
-
-/area/shuttle/prison/station
- icon_state = "shuttle"
-
-/area/shuttle/prison/prison
- icon_state = "shuttle2"
-
/area/shuttle/siberia
name = "\improper Labor Camp Shuttle"
icon_state = "shuttle"
@@ -152,28 +73,12 @@
icon_state = "shuttlered"
parallax_move_direction = EAST
-/area/shuttle/specops/centcom
- name = "\improper Special Ops Shuttle"
- icon_state = "shuttlered"
-
-/area/shuttle/specops/station
- name = "\improper Special Ops Shuttle"
- icon_state = "shuttlered2"
-
/area/shuttle/syndicate_elite
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered"
nad_allowed = TRUE
parallax_move_direction = SOUTH
-/area/shuttle/syndicate_elite/mothership
- name = "\improper Syndicate Elite Shuttle"
- icon_state = "shuttlered"
-
-/area/shuttle/syndicate_elite/station
- name = "\improper Syndicate Elite Shuttle"
- icon_state = "shuttlered2"
-
/area/shuttle/syndicate_sit
name = "\improper Syndicate SIT Shuttle"
icon_state = "shuttlered"
@@ -197,44 +102,8 @@
name = "\improper Nanotrasen Vessel"
icon_state = "shuttlered2"
-/area/shuttle/thunderdome
- name = "honk"
-
-/area/shuttle/thunderdome/grnshuttle
- name = "\improper Thunderdome GRN Shuttle"
- icon_state = "green"
-
-/area/shuttle/thunderdome/grnshuttle/dome
- name = "\improper GRN Shuttle"
- icon_state = "shuttlegrn"
-
-/area/shuttle/thunderdome/grnshuttle/station
- name = "\improper GRN Station"
- icon_state = "shuttlegrn2"
-
-/area/shuttle/thunderdome/redshuttle
- name = "\improper Thunderdome RED Shuttle"
- icon_state = "red"
-
-/area/shuttle/thunderdome/redshuttle/dome
- name = "\improper RED Shuttle"
- icon_state = "shuttlered"
-
-/area/shuttle/thunderdome/redshuttle/station
- name = "\improper RED Station"
- icon_state = "shuttlered2"
// === Trying to remove these areas:
-/area/shuttle/research
- name = "\improper Research Shuttle"
- icon_state = "shuttle"
-
-/area/shuttle/research/station
- icon_state = "shuttle2"
-
-/area/shuttle/research/outpost
- icon_state = "shuttle"
-
/area/shuttle/supply
name = "Supply Shuttle"
icon_state = "shuttle3"
@@ -260,19 +129,3 @@
name = "Free Golem Ship"
icon_state = "purple"
xenobiology_compatible = TRUE
-
-/area/shuttle/derelict/ship/start
- name = "\improper Abandoned Ship"
- icon_state = "yellow"
-
-/area/shuttle/derelict/ship/transit
- name = "\improper Abandoned Ship"
- icon_state = "yellow"
-
-/area/shuttle/derelict/ship/engipost
- name = "\improper Engineering Outpost"
- icon_state = "yellow"
-
-/area/shuttle/derelict/ship/station
- name = "\improper North of SS13"
- icon_state = "yellow"
diff --git a/code/game/area/ss13_areas/ai_areas.dm b/code/game/area/ss13_areas/ai_areas.dm
index a1a5177deada..dc745d0a4099 100644
--- a/code/game/area/ss13_areas/ai_areas.dm
+++ b/code/game/area/ss13_areas/ai_areas.dm
@@ -21,14 +21,6 @@
name = "\improper AI Satellite Exterior"
icon_state = "ai"
-/area/station/aisat/entrance
- name = "\improper AI Satellite Entrance"
- icon_state = "ai"
-
-/area/station/aisat/maintenance
- name = "\improper AI Satellite Maintenance"
- icon_state = "ai"
-
/area/station/aisat/atmos
name = "\improper AI Satellite Atmospherics"
@@ -57,21 +49,7 @@
icon_state = "tcomms"
// These areas are needed for MetaStation's AI sat
-/area/station/turret_protected/tcomfoyer
- name = "\improper Telecoms Foyer"
- icon_state = "tcomms"
- ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg')
-
-/area/station/turret_protected/tcomeast
- name = "\improper Telecoms East Wing"
- icon_state = "tcomms"
- ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg')
-
/area/station/telecomms/computer
name = "\improper Telecoms Control Room"
icon_state = "tcomms"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
-
-/area/station/telecomms/server
- name = "\improper Telecoms Server Room"
- icon_state = "tcomms"
diff --git a/code/game/area/ss13_areas/command_areas.dm b/code/game/area/ss13_areas/command_areas.dm
index 1e63b839053e..ab9865943fc7 100644
--- a/code/game/area/ss13_areas/command_areas.dm
+++ b/code/game/area/ss13_areas/command_areas.dm
@@ -54,12 +54,6 @@
icon_state = "teleporter"
ambientsounds = ENGINEERING_SOUNDS
-/area/station/command/gateway
- name = "\improper Gateway"
- icon_state = "gateway"
- ambientsounds = ENGINEERING_SOUNDS
- sound_environment = SOUND_AREA_STANDARD_STATION
-
/area/station/command/vault
name = "\improper Vault"
icon_state = "nuke_storage"
diff --git a/code/game/area/ss13_areas/engineering_areas.dm b/code/game/area/ss13_areas/engineering_areas.dm
index aa68e2d90e61..dc3fe13d7ce2 100644
--- a/code/game/area/ss13_areas/engineering_areas.dm
+++ b/code/game/area/ss13_areas/engineering_areas.dm
@@ -82,14 +82,6 @@
name = "\improper Fore Starboard Solar Array"
icon_state = "FSsolars"
-/area/station/engineering/solar/fore
- name = "\improper Fore Solar Array"
- icon_state = "yellow"
-
-/area/station/engineering/solar/aft
- name = "\improper Aft Solar Array"
- icon_state = "Asolars"
-
/area/station/engineering/solar/starboard
name = "\improper Starboard Solar Array"
icon_state = "Ssolars"
diff --git a/code/game/area/ss13_areas/maintenance_areas.dm b/code/game/area/ss13_areas/maintenance_areas.dm
index 5cdf15bb5ee3..c2e3256b3a03 100644
--- a/code/game/area/ss13_areas/maintenance_areas.dm
+++ b/code/game/area/ss13_areas/maintenance_areas.dm
@@ -5,10 +5,6 @@
valid_territory = FALSE
sound_environment = SOUND_AREA_TUNNEL_ENCLOSED
-/area/station/maintenance/atmos_control
- name = "Atmospherics Maintenance"
- icon_state = "fpmaint"
-
/area/station/maintenance/engimaint
name = "Engineering Maintenance"
icon_state = "engimaint"
@@ -53,10 +49,6 @@
name = "Central Maintenance"
icon_state = "maintcentral"
-/area/station/maintenance/maintcentral2
- name = "Central Secondary Maintenance"
- icon_state = "maintcentral"
-
/area/station/maintenance/fore
name = "Fore Maintenance"
icon_state = "fmaint"
@@ -105,10 +97,6 @@
name = "Waste Disposal"
icon_state = "disposals"
-/area/station/maintenance/genetics
- name = "Genetics Maintenance"
- icon_state = "asmaint"
-
/area/station/maintenance/electrical
name = "Electrical Maintenance"
icon_state = "elect"
@@ -141,10 +129,6 @@
name = "Gambling Den"
icon_state = "yellow"
-/area/station/maintenance/consarea
- name = "Alternate Construction Area"
- icon_state = "construction"
-
/area/station/maintenance/auxsolarport
name = "\improper Fore Port Solar Maintenance"
icon_state = "FPctrl"
@@ -217,8 +201,5 @@
/area/station/maintenance/disposal/external/southeast
name = "South-Eastern External Waste Belt"
-/area/station/maintenance/disposal/external/east
- name="Eastern External Waste Belt"
-
/area/station/maintenance/disposal/external/north
name = "Northern External Waste Belt"
diff --git a/code/game/area/ss13_areas/medical_areas.dm b/code/game/area/ss13_areas/medical_areas.dm
index 12c18beab250..f0d7f8c3cf1c 100644
--- a/code/game/area/ss13_areas/medical_areas.dm
+++ b/code/game/area/ss13_areas/medical_areas.dm
@@ -49,10 +49,6 @@
icon_state = "patients"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
-/area/station/medical/ward
- name = "\improper Medbay Patient Ward"
- icon_state = "patientsward"
-
/area/station/medical/coldroom
name = "Cold Room"
icon_state = "coldroom"
diff --git a/code/game/area/ss13_areas/public_areas.dm b/code/game/area/ss13_areas/public_areas.dm
index 7fc9f2922630..0a06add2481b 100644
--- a/code/game/area/ss13_areas/public_areas.dm
+++ b/code/game/area/ss13_areas/public_areas.dm
@@ -150,10 +150,6 @@
icon_state = "dorms"
sound_environment = SOUND_AREA_STANDARD_STATION
-
-/area/crew_quarters/toilet/aux
- name = "\improper Auxiliary Toilets"
-
/area/station/public/sleep
name = "\improper Primary Cryogenic Dormitories"
icon_state = "Sleep"
@@ -198,8 +194,6 @@
name = "\improper Vacant Office"
icon_state = "vacantoffice"
-/area/station/public/vacant_office/secondary
-
//Storage
/area/station/public/storage
sound_environment = SOUND_AREA_STANDARD_STATION
diff --git a/code/game/area/ss13_areas/science_areas.dm b/code/game/area/ss13_areas/science_areas.dm
index 2691f30a5b65..7702c345640c 100644
--- a/code/game/area/ss13_areas/science_areas.dm
+++ b/code/game/area/ss13_areas/science_areas.dm
@@ -50,23 +50,11 @@
name = "\improper Research Lab"
icon_state = "sci"
-/area/station/science/supermatter
- name = "\improper Supermatter Lab"
- icon_state = "scilab"
-
/area/station/science/xenobiology
name = "\improper Xenobiology Lab"
icon_state = "xenobio"
xenobiology_compatible = TRUE
-/area/station/science/xenobiology/xenoflora_storage
- name = "Xenoflora Storage"
- icon_state = "scilab"
-
-/area/station/science/xenobiology/xenoflora
- name = "\improper Xenoflora Lab"
- icon_state = "scilab"
-
/area/station/science/storage
name = "\improper Science Toxins Storage"
icon_state = "toxstorage"
diff --git a/code/game/area/ss13_areas/supply_areas.dm b/code/game/area/ss13_areas/supply_areas.dm
index 0266aebe7ab1..c198c44b31c4 100644
--- a/code/game/area/ss13_areas/supply_areas.dm
+++ b/code/game/area/ss13_areas/supply_areas.dm
@@ -30,14 +30,6 @@
name = "\improper Mining Dock"
icon_state = "mining"
-/area/station/supply/miningstorage
- name = "Mining Storage"
- icon_state = "green"
-
-/area/station/supply/mechbay
- name = "\improper Mech Bay"
- icon_state = "yellow"
-
/area/station/supply/expedition
name = "\improper Expedition Room"
icon_state = "expedition"
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 7456d2ea38a6..7c78039342c2 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -567,7 +567,7 @@
/obj/item/cult_spear/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.4, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (2 / 3) SECONDS ) // 0.666667 seconds for 60% uptime.
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.4, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (5 / 3) SECONDS ) // 0.666667 seconds for 60% uptime.
AddComponent(/datum/component/two_handed, force_wielded = 24, force_unwielded = force, icon_wielded = "[base_icon_state]1")
/obj/item/cult_spear/Destroy()
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index b050b254e850..c47a80a6a1e2 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -170,10 +170,16 @@
var/escaped_on_pod_1 = 0
var/escaped_on_pod_2 = 0
var/escaped_on_pod_3 = 0
- var/escaped_on_pod_5 = 0
+ var/escaped_on_pod_4 = 0
var/escaped_on_shuttle = 0
- var/list/area/escape_locations = list(/area/shuttle/escape, /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom)
+ var/list/area/escape_locations = list(
+ /area/shuttle/escape,
+ /area/shuttle/pod_1,
+ /area/shuttle/pod_2,
+ /area/shuttle/pod_3,
+ /area/shuttle/pod_4
+ )
if(SSshuttle.emergency.mode < SHUTTLE_ENDGAME) //shuttle didn't get to centcom
escape_locations -= /area/shuttle/escape
@@ -194,14 +200,14 @@
if(M.loc && M.loc.loc && M.loc.loc.type == SSshuttle.emergency.areaInstance.type && SSshuttle.emergency.mode >= SHUTTLE_ENDGAME)
escaped_on_shuttle++
- if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod1/centcom)
+ if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/pod_1)
escaped_on_pod_1++
- if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod2/centcom)
+ if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/pod_2)
escaped_on_pod_2++
- if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod3/centcom)
+ if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/pod_3)
escaped_on_pod_3++
- if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod5/centcom)
- escaped_on_pod_5++
+ if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/pod_4)
+ escaped_on_pod_4++
if(isobserver(M))
ghosts++
@@ -226,8 +232,8 @@
SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_on_pod_2, list("escapees", "on_pod_2"))
if(escaped_on_pod_3)
SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_on_pod_3, list("escapees", "on_pod_3"))
- if(escaped_on_pod_5)
- SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_on_pod_5, list("escapees", "on_pod_5"))
+ if(escaped_on_pod_4)
+ SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_on_pod_4, list("escapees", "on_pod_4"))
for(var/tech_id in SSeconomy.tech_levels)
SSblackbox.record_feedback("tally", "cargo max tech level sold", SSeconomy.tech_levels[tech_id], tech_id)
diff --git a/code/game/gamemodes/wizard/magic_tarot.dm b/code/game/gamemodes/wizard/magic_tarot.dm
index ce05763ceb3e..10b7e1f64673 100644
--- a/code/game/gamemodes/wizard/magic_tarot.dm
+++ b/code/game/gamemodes/wizard/magic_tarot.dm
@@ -147,6 +147,8 @@
var/card_desc = "Untold answers... wait what? This is a bug, report this as an issue on github!"
///Is the card face down? Shows the card back, hides the examine / name.
var/face_down = FALSE
+ ///Has the card been activated? If it has, don't activate it again
+ var/has_been_activated = FALSE
/obj/item/magic_tarot_card/Initialize(mapload, obj/item/tarot_generator/source, datum/tarot/chosen_tarot)
. = ..()
@@ -174,9 +176,12 @@
/obj/item/magic_tarot_card/attack_self(mob/user)
poof()
+ if(has_been_activated)
+ return
if(face_down)
flip()
if(our_tarot)
+ user.drop_item()
pre_activate(user)
return
qdel(src)
@@ -189,6 +194,8 @@
/obj/item/magic_tarot_card/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
. = ..()
poof()
+ if(has_been_activated)
+ return
if(isliving(hit_atom) && our_tarot)
pre_activate(hit_atom)
return
@@ -216,6 +223,7 @@
qdel(src)
/obj/item/magic_tarot_card/proc/pre_activate(mob/user)
+ has_been_activated = TRUE
forceMove(user)
var/obj/effect/temp_visual/tarot_preview/draft = new /obj/effect/temp_visual/tarot_preview(user, our_tarot.card_icon)
user.vis_contents += draft
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index 1a71c1d73ccb..55387f2711c6 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -175,7 +175,6 @@
/area/shuttle,
/area/admin,
/area/centcom,
- /area/asteroid,
/area/tdome,
/area/wizard_station
)
diff --git a/code/game/objects/items/hand_item.dm b/code/game/objects/items/hand_item.dm
index a874987ca623..793cb9976e9d 100644
--- a/code/game/objects/items/hand_item.dm
+++ b/code/game/objects/items/hand_item.dm
@@ -66,7 +66,7 @@
table_smacks_left = 10 //Much more smackitude
/obj/item/slapper/parry/Initialize(mapload)
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS, _parry_cooldown = (1 / 3) SECONDS) //75% uptime
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS, _parry_cooldown = (4 / 3) SECONDS) //75% uptime
return ..()
/obj/item/slapper/parry/attack(mob/M, mob/living/carbon/human/user)
diff --git a/code/game/objects/items/weapons/dnascrambler.dm b/code/game/objects/items/weapons/dnascrambler.dm
index c977da3fda7a..3fb6d3d81220 100644
--- a/code/game/objects/items/weapons/dnascrambler.dm
+++ b/code/game/objects/items/weapons/dnascrambler.dm
@@ -40,14 +40,7 @@
/obj/item/dnascrambler/proc/injected(mob/living/carbon/human/target, mob/living/carbon/user)
if(istype(target))
var/mob/living/carbon/human/H = target
- scramble(1, H, 100)
- H.real_name = random_name(H.gender, H.dna.species.name) //Give them a name that makes sense for their species.
- H.sync_organ_dna(assimilate = 1)
- H.update_body()
- H.reset_hair() //No more winding up with hairstyles you're not supposed to have, and blowing your cover.
- H.reset_markings() //...Or markings.
- H.dna.ResetUIFrom(H)
- H.flavor_text = ""
+ H.get_dna_scrambled()
target.update_icons()
add_attack_logs(user, target, "injected with [src]")
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 884989b976f7..5fcb242846cf 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -503,7 +503,7 @@
/obj/item/nullrod/claymore/bostaff/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.4, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (2 / 3) SECONDS ) // will remove the other component, 0.666667 seconds for 60% uptime.
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.4, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (5 / 3) SECONDS ) // will remove the other component, 0.666667 seconds for 60% uptime.
/obj/item/nullrod/tribal_knife
name = "arrhythmic knife"
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 398b6c4d4ed8..3f260fb977b4 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -66,7 +66,7 @@
resistance_flags = FLAMMABLE
/obj/item/shield/riot/buckler/add_parry_component()
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (7 / 3) SECONDS) // 2.3333 seconds of cooldown for 30% uptime
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (10 / 3) SECONDS) // 2.3333 seconds of cooldown for 30% uptime
/obj/item/shield/energy
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 629a85c2f094..249eabc2f6b4 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -134,7 +134,7 @@
. = ..()
if(!blade_color)
blade_color = pick("red", "blue", "green", "purple")
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.25, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (1 / 3) SECONDS) // 0.3333 seconds of cooldown for 75% uptime
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.25, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (4 / 3) SECONDS) // 0.3333 seconds of cooldown for 75% uptime
AddComponent(/datum/component/two_handed, force_wielded = force_wielded, force_unwielded = force_unwielded, wieldsound = wieldsound, unwieldsound = unwieldsound, wield_callback = CALLBACK(src, PROC_REF(on_wield)), unwield_callback = CALLBACK(src, PROC_REF(on_unwield)), only_sharp_when_wielded = TRUE)
/obj/item/dualsaber/update_icon_state()
diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm
index 31d0aeb81f21..ed49637dec62 100644
--- a/code/game/turfs/simulated/floor/asteroid_floors.dm
+++ b/code/game/turfs/simulated/floor/asteroid_floors.dm
@@ -363,7 +363,7 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me
for(var/S in RANGE_TURFS(1, src))
var/turf/NT = S
- if(!NT || isspaceturf(NT) || istype(NT.loc, /area/mine/explored) || istype(NT.loc, /area/lavaland/surface/outdoors/explored))
+ if(!NT || isspaceturf(NT) || istype(NT.loc, /area/lavaland/surface/outdoors/explored))
sanity = 0
break
if(!sanity)
@@ -378,7 +378,7 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me
return
if(prob(monsterprob))
- if(istype(loc, /area/mine/explored) || !istype(loc, /area/lavaland/surface/outdoors/unexplored))
+ if(!istype(loc, /area/lavaland/surface/outdoors/unexplored))
return
var/randumb = pickweight(mob_spawn_list)
while(randumb == SPAWN_MEGAFAUNA)
@@ -426,7 +426,7 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me
if(BLOCKED_BURROWS)
floraprob = 30 //Lots of folliage, lots of blockage
if(prob(floraprob))
- if(istype(loc, /area/mine/explored) || istype(loc, /area/lavaland/surface/outdoors/explored))
+ if(istype(loc, /area/lavaland/surface/outdoors/explored))
return
var/randumb = pickweight(flora_spawn_list)
for(var/obj/structure/flora/ash/F in range(4, T)) //Allows for growing patches, but not ridiculous stacks of flora
diff --git a/code/modules/antagonists/zombie/zombie_spells.dm b/code/modules/antagonists/zombie/zombie_spells.dm
index b1526e8a2542..5d30f5a6d27b 100644
--- a/code/modules/antagonists/zombie/zombie_spells.dm
+++ b/code/modules/antagonists/zombie/zombie_spells.dm
@@ -128,7 +128,7 @@
/obj/item/zombie_claw/proc/try_infect(mob/living/carbon/human/target, mob/living/user)
- if(!ishuman(target))
+ if(!ishuman(target) || HAS_TRAIT(user, TRAIT_NON_INFECTIOUS_ZOMBIE))
return
if(!(user.zone_selected in list(BODY_ZONE_CHEST, BODY_ZONE_HEAD)))
to_chat(user, "Our infection cannot spread without their head or chest.")
diff --git a/code/modules/atmospherics/machinery/atmospherics.dm b/code/modules/atmospherics/machinery/atmospherics.dm
index 08cd2b0382b9..ca4a16fdb832 100644
--- a/code/modules/atmospherics/machinery/atmospherics.dm
+++ b/code/modules/atmospherics/machinery/atmospherics.dm
@@ -260,6 +260,9 @@ Pipelines + Other Objects -> Pipe network
pressures = int_air.return_pressure() - env_air.return_pressure()
var/fuck_you_dir = get_dir(src, user)
+ if(!fuck_you_dir)
+ fuck_you_dir = pick(GLOB.alldirs)
+
var/turf/general_direction = get_edge_target_turf(user, fuck_you_dir)
user.visible_message("[user] is sent flying by pressure!","The pressure sends you flying!")
//Values based on 2*ONE_ATMOS (the unsafe pressure), resulting in 20 range and 4 speed
diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
index 48dfa356f44f..b407d0624ad8 100644
--- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm
+++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
@@ -464,11 +464,6 @@
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
-/area/ruin/ancientstation/space
- name = "Exposed To Space"
- icon_state = "teleporter"
- has_gravity = FALSE
-
/area/ruin/ancientstation/atmo
name = "Beta Station Atmospherics"
icon_state = "red"
@@ -479,10 +474,6 @@
name = "Beta Station North Corridor"
icon_state = "purple"
-/area/ruin/ancientstation/solar
- name = "Station Solar Array"
- icon_state = "panelsAP"
-
/area/ruin/ancientstation/engi
name = "Charlie Station Engineering"
icon_state = "engine"
diff --git a/code/modules/awaymissions/mob_spawn.dm b/code/modules/awaymissions/mob_spawn.dm
index f750c7d850d1..399e91b41177 100644
--- a/code/modules/awaymissions/mob_spawn.dm
+++ b/code/modules/awaymissions/mob_spawn.dm
@@ -183,6 +183,8 @@
assignedrole = "Ghost Role"
var/husk = null
+ /// Should we fully dna-scramble these humans?
+ var/dna_scrambled = FALSE
//these vars are for lazy mappers to override parts of the outfit
//these cannot be null by default, or mappers cannot set them to null if they want nothing in that slot
var/uniform = -1
@@ -259,6 +261,9 @@
H.s_tone = random_skin_tone()
H.skin_colour = rand_hex_color()
+ if(dna_scrambled)
+ H.get_dna_scrambled()
+
H.update_body(rebuild_base = TRUE)
if(outfit)
@@ -581,6 +586,28 @@
mob_species = /datum/species/skeleton/brittle
mob_gender = NEUTER
+/obj/effect/mob_spawn/human/alive/zombie
+ name = "NPC Zombie (Infectious)"
+ icon = 'icons/mob/human.dmi'
+ icon_state = "zombie_s"
+ roundstart = TRUE
+ dna_scrambled = TRUE
+
+/obj/effect/mob_spawn/human/alive/zombie/equip(mob/living/carbon/human/H)
+ ADD_TRAIT(H, TRAIT_NPC_ZOMBIE, ROUNDSTART_TRAIT)
+ H.ForceContractDisease(new /datum/disease/zombie)
+ for(var/datum/disease/zombie/zomb in H.viruses)
+ zomb.stage = 8
+
+ return ..()
+
+/obj/effect/mob_spawn/human/alive/zombie/non_infectious
+ name = "NPC Zombie (Non-infectious)"
+
+/obj/effect/mob_spawn/human/alive/zombie/non_infectious/equip(mob/living/carbon/human/H)
+ ADD_TRAIT(H, TRAIT_NON_INFECTIOUS_ZOMBIE, ROUNDSTART_TRAIT)
+ return ..()
+
////////Non-human spawners////////
/obj/effect/mob_spawn/mouse
diff --git a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
index d3333052aeda..fa48191c8f97 100644
--- a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
+++ b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
@@ -38,14 +38,18 @@
resistance_flags = FIRE_PROOF
/obj/item/clothing/under/rank/engineering/atmospheric_technician/contortionist/equipped(mob/living/carbon/human/user, slot)
+ . = ..()
+ if(slot != SLOT_HUD_JUMPSUIT)
+ return
if(!user.ventcrawler)
user.ventcrawler = VENTCRAWLER_ALWAYS
- ..()
/obj/item/clothing/under/rank/engineering/atmospheric_technician/contortionist/dropped(mob/living/carbon/human/user)
- if(!user.get_int_organ(/obj/item/organ/internal/heart/gland/ventcrawling))
+ . = ..()
+ if(user.get_item_by_slot(SLOT_HUD_JUMPSUIT) != src)
+ return
+ if(!user.get_int_organ(/obj/item/organ/internal/heart/gland/ventcrawling)) // This is such a snowflaky check
user.ventcrawler = VENTCRAWLER_NONE
- ..()
/obj/item/clothing/under/rank/engineering/atmospheric_technician/contortionist/proc/check_clothing(mob/user as mob)
//Allowed to wear: glasses, shoes, gloves, pockets, mask, and jumpsuit (obviously)
diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm
index 097961d21588..b8835808ded6 100644
--- a/code/modules/events/prison_break.dm
+++ b/code/modules/events/prison_break.dm
@@ -13,19 +13,17 @@
/datum/event/prison_break/virology
eventDept = "Medical"
areaName = list("Virology")
- areaType = list(/area/station/medical/virology, /area/station/medical/virology/lab)
+ areaType = list(/area/station/medical/virology)
/datum/event/prison_break/xenobiology
eventDept = "Science"
areaName = list("Xenobiology")
areaType = list(/area/station/science/xenobiology)
- areaNotType = list(/area/station/science/xenobiology/xenoflora, /area/station/science/xenobiology/xenoflora_storage)
/datum/event/prison_break/station
eventDept = "Station"
areaName = list("Brig","Virology","Xenobiology")
areaType = list(/area/station/security/prison, /area/station/security/brig, /area/station/security/permabrig, /area/station/medical/virology, /area/station/medical/virology/lab, /area/station/science/xenobiology)
- areaNotType = list(/area/station/science/xenobiology/xenoflora, /area/station/science/xenobiology/xenoflora_storage)
/datum/event/prison_break/setup()
diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm
index b1b44250c9a1..d22d7752df8d 100644
--- a/code/modules/mining/equipment/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher.dm
@@ -36,7 +36,7 @@
/obj/item/kinetic_crusher/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = MELEE_ATTACK, _parry_cooldown = (7 / 3) SECONDS ) // 2.3333 seconds of cooldown for 30% uptime
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = MELEE_ATTACK, _parry_cooldown = (10 / 3) SECONDS ) // 2.3333 seconds of cooldown for 30% uptime
AddComponent(/datum/component/two_handed, force_wielded = force_wielded, force_unwielded = force)
/obj/item/kinetic_crusher/Destroy()
diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm
index 93f7b6ecf15f..07f388cc4c17 100644
--- a/code/modules/mob/living/carbon/human/human_mob.dm
+++ b/code/modules/mob/living/carbon/human/human_mob.dm
@@ -2046,3 +2046,13 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
return dna.species.unarmed
return zombie.claw_attack
+/mob/living/carbon/human/proc/get_dna_scrambled()
+ scramble(1, src, 100)
+ real_name = random_name(gender, dna.species.name) // Give them a name that makes sense for their species.
+ sync_organ_dna(assimilate = 1)
+ update_body()
+ reset_hair() // No more winding up with hairstyles you're not supposed to have, and blowing your cover.
+ reset_markings() // ...Or markings.
+ dna.ResetUIFrom(src)
+ flavor_text = ""
+
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index 56fdac5bc748..b81dace99f12 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -1087,17 +1087,18 @@ It'll return null if the organ doesn't correspond, so include null checks when u
playsound(user.loc, 'sound/misc/moist_impact.ogg', 50, TRUE)
user.do_attack_animation(target, ATTACK_EFFECT_BITE)
target.apply_damage(20, BRUTE, user.zone_selected)
- if(!target.HasDisease(/datum/disease/zombie))
- var/datum/disease/zombie/zomb = new /datum/disease/zombie
- if(target.CanContractDisease(zomb)) // biosuit aint going to protect you buddy
- target.ForceContractDisease(zomb)
- target.Dizzy(10 SECONDS)
- target.Confused(10 SECONDS)
- else
- qdel(zomb)
-
- for(var/datum/disease/zombie/zomb in target.viruses)
- zomb.stage = max(rand(3, 4), zomb.stage)
+ if(!HAS_TRAIT(user, TRAIT_NON_INFECTIOUS_ZOMBIE))
+ if(!target.HasDisease(/datum/disease/zombie))
+ var/datum/disease/zombie/zomb = new /datum/disease/zombie
+ if(target.CanContractDisease(zomb)) // biosuit aint going to protect you buddy
+ target.ForceContractDisease(zomb)
+ target.Dizzy(10 SECONDS)
+ target.Confused(10 SECONDS)
+ else
+ qdel(zomb)
+
+ for(var/datum/disease/zombie/zomb in target.viruses)
+ zomb.stage = max(rand(3, 4), zomb.stage)
qdel(grabby)
return TRUE
@@ -1126,12 +1127,13 @@ It'll return null if the organ doesn't correspond, so include null checks when u
eat_brain.custom_pain("OH GOD!!! THEY'RE EATING MY [uppertext(eat_brain.name)]!!") // gnarly
user.visible_message("[user] digs their claws into [target]'s [brain_house.name], eating their [eat_brain]!", "We feast on [target]'s brains.")
- if(!target.HasDisease(/datum/disease/zombie))
- var/datum/disease/zombie/zomb = new /datum/disease/zombie
- target.ContractDisease(zomb)
+ if(!HAS_TRAIT(user, TRAIT_NON_INFECTIOUS_ZOMBIE))
+ if(!target.HasDisease(/datum/disease/zombie))
+ var/datum/disease/zombie/zomb = new /datum/disease/zombie
+ target.ContractDisease(zomb)
- for(var/datum/disease/zombie/zomb in target.viruses)
- zomb.stage = max(5, zomb.stage)
+ for(var/datum/disease/zombie/zomb in target.viruses)
+ zomb.stage = max(5, zomb.stage)
if(!do_mob(user, target, 1 SECONDS))
return
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index 169d9bcc28bd..3a65cecc384f 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -379,7 +379,7 @@
/datum/species/golem/sand/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H)
if(!(P.original == H && P.firer == H))
- if(P.flag == BULLET || P.flag == BOMB)
+ if((P.flag == BULLET || P.flag == BOMB) && P.armour_penetration_percentage < 100)
playsound(H, 'sound/effects/shovel_dig.ogg', 70, 1)
H.visible_message("[P] sinks harmlessly in [H]'s sandy body!", \
"[P] sinks harmlessly in [H]'s sandy body!")
diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm
index 8e034ea140b3..835de26f048a 100644
--- a/code/modules/mod/modules/modules_antag.dm
+++ b/code/modules/mod/modules/modules_antag.dm
@@ -388,6 +388,7 @@
icon_state = "eradicationlock" //looks like a bluespace transmitter or something, probably could use an actual camera look.
complexity = 1
incompatible_modules = list(/obj/item/mod/module/ert_camera)
+ removable = FALSE
var/obj/machinery/camera/portable/camera
/obj/item/mod/module/ert_camera/on_suit_activation()
diff --git a/code/modules/ruins/ruin_areas.dm b/code/modules/ruins/ruin_areas.dm
index 66e036eae4c0..02cc3722e893 100644
--- a/code/modules/ruins/ruin_areas.dm
+++ b/code/modules/ruins/ruin_areas.dm
@@ -12,9 +12,6 @@
/area/ruin/unpowered
always_unpowered = FALSE
-/area/ruin/unpowered/no_grav
- has_gravity = FALSE
-
/area/ruin/powered
requires_power = FALSE
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 76d261a859dc..953c03227479 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -742,7 +742,7 @@
force = initial(force)
/obj/item/shield/v1_arm/add_parry_component()
- AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.35, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (1 / 3) SECONDS, _no_parry_sound = TRUE) // 0.3333 seconds of cooldown for 75% uptime, countered by ions and plasma pistols
+ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.35, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (4 / 3) SECONDS, _no_parry_sound = TRUE) // 0.3333 seconds of cooldown for 75% uptime, countered by ions and plasma pistols
/obj/item/shield/v1_arm/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(disabled)
diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm
index 427b07d51f38..b6f30d5e1cc2 100644
--- a/code/modules/surgery/organs/autosurgeon.dm
+++ b/code/modules/surgery/organs/autosurgeon.dm
@@ -135,15 +135,17 @@
if(storedorgan)
return storedorgan.examine_more()
+/obj/item/autosurgeon/organ/syndicate/scope_eyes
+ desc = "A single use autosurgeon that contains Hardened Kaleido Optics eyes. A screwdriver can be used to remove it, but implants can't be placed back in."
+ uses = 1
+ starting_organ = /obj/item/organ/internal/eyes/cybernetic/scope/hardened
+
/obj/item/autosurgeon/organ/syndicate/thermal_eyes
starting_organ = /obj/item/organ/internal/eyes/cybernetic/thermals/hardened
/obj/item/autosurgeon/organ/syndicate/xray_eyes
starting_organ = /obj/item/organ/internal/eyes/cybernetic/xray/hardened
-/obj/item/autosurgeon/organ/syndicate/scope_eyes
- starting_organ = /obj/item/organ/internal/eyes/cybernetic/scope/hardened
-
/obj/item/autosurgeon/organ/syndicate/anti_stam
starting_organ = /obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
diff --git a/modular_ss220/maps220/code/Station/station_areas.dm b/modular_ss220/maps220/code/Station/station_areas.dm
index 9364cf8eee7e..5b07af36edb1 100644
--- a/modular_ss220/maps220/code/Station/station_areas.dm
+++ b/modular_ss220/maps220/code/Station/station_areas.dm
@@ -100,6 +100,8 @@
name = "Атриум"
icon_state = "bar"
+/area/station/public/vacant_office/secondary
+
/* CentCom */
/area/centcom/ss220
name = "ЦК"
diff --git a/paradise.dme b/paradise.dme
index dd1d512f7e7d..d9a43e5309dc 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -661,7 +661,6 @@
#include "code\game\world.dm"
#include "code\game\area\ai_monitored.dm"
#include "code\game\area\areas.dm"
-#include "code\game\area\asteroid_areas.dm"
#include "code\game\area\away_content_areas.dm"
#include "code\game\area\centcom_areas.dm"
#include "code\game\area\holodeck_areas.dm"