Remaps sleepers to stasis beds and make stasis actually leave you

This commit is contained in:
Artur
2022-04-06 15:58:27 +03:00
parent c36019bf56
commit 813ca511b5
15 changed files with 43 additions and 96 deletions
+3 -9
View File
@@ -12673,9 +12673,7 @@
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"aCW" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/stasis,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aCX" = (
@@ -30331,9 +30329,7 @@
/turf/open/floor/plasteel/dark,
/area/medical/surgery)
"bwD" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/medbay/central)
"bwE" = (
@@ -32058,14 +32054,12 @@
/turf/open/floor/plating,
/area/maintenance/port/aft)
"bAq" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/camera{
c_tag = "Medbay Treatment Center";
dir = 8;
network = list("ss13","medbay")
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/medbay/central)
"bAr" = (
+5 -15
View File
@@ -8805,12 +8805,11 @@
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/airalarm{
pixel_y = 24
},
/obj/structure/table,
/obj/item/stack/medical/suture/five,
/turf/open/floor/plasteel/white,
/area/medical/clinic)
"auS" = (
@@ -8876,9 +8875,7 @@
name = "Station Intercom (Common)";
pixel_y = 26
},
/obj/machinery/sleep_console{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/clinic)
"auZ" = (
@@ -36751,9 +36748,6 @@
/obj/machinery/light/small{
dir = 4
},
/obj/item/storage/box/engineer{
pixel_y = 4
},
/turf/open/floor/plasteel,
/area/maintenance/disposal)
"bCu" = (
@@ -58329,9 +58323,7 @@
dir = 1
},
/obj/structure/window/reinforced/spawner/west,
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"ctZ" = (
@@ -58340,9 +58332,7 @@
dir = 4
},
/obj/structure/window/reinforced/spawner/east,
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"cua" = (
@@ -46910,12 +46910,10 @@
dir = 4;
pixel_x = -23
},
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/abandoned)
"ddn" = (
@@ -47559,12 +47557,10 @@
/turf/open/floor/plating,
/area/security/checkpoint/medical)
"deC" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/stripes/end{
dir = 4
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/medbay/central)
"deD" = (
@@ -47584,12 +47580,10 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"deF" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/effect/turf_decal/stripes/end{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/medbay/central)
"deG" = (
@@ -29800,8 +29800,8 @@
/turf/open/floor/carpet/green,
/area/medical/surgery)
"byn" = (
/obj/machinery/sleeper,
/obj/effect/decal/festive/christmas_ivy_string,
/obj/machinery/stasis,
/turf/open/floor/plasteel/white/side,
/area/medical/exam_room)
"byo" = (
@@ -29882,7 +29882,7 @@
/turf/open/floor/plasteel/white/side,
/area/medical/exam_room)
"byy" = (
/obj/machinery/sleeper,
/obj/machinery/stasis,
/turf/open/floor/plasteel/white/side,
/area/medical/exam_room)
"byz" = (
@@ -33048,9 +33048,7 @@
},
/area/medical/genetics/cloning)
"bEC" = (
/obj/machinery/sleeper{
dir = 1
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white/side{
dir = 1
},
+1 -3
View File
@@ -22447,9 +22447,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/dark,
/area/medical/medbay/central)
"aLj" = (
+2 -2
View File
@@ -38153,17 +38153,17 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"bDq" = (
/obj/machinery/sleeper,
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 9
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/cryo)
"bDr" = (
/obj/machinery/sleeper,
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 5
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/cryo)
"bDs" = (
+2 -6
View File
@@ -50579,9 +50579,6 @@
/turf/open/floor/plasteel/dark,
/area/engineering/storage/tech)
"eAe" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -50595,6 +50592,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/treatment_center)
"eAy" = (
@@ -81033,9 +81031,6 @@
/turf/open/space/basic,
/area/space)
"vLV" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
@@ -81046,6 +81041,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/treatment_center)
"vMm" = (
@@ -26813,12 +26813,10 @@
/turf/open/floor/plating,
/area/medical/medbay/zone3)
"aXS" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/dark/side{
dir = 8
},
@@ -28157,9 +28155,6 @@
/turf/open/floor/plating,
/area/medical/medbay/zone3)
"bax" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/newscaster{
pixel_y = -32
},
@@ -28169,6 +28164,7 @@
/obj/effect/turf_decal/stripes/end{
dir = 4
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/dark/side{
dir = 8
},
@@ -32728,9 +32728,6 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"bzP" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -32747,6 +32744,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/treatment_center)
"bzQ" = (
@@ -33960,9 +33958,6 @@
/turf/open/floor/plasteel,
/area/medical/treatment_center)
"bCj" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
@@ -33973,6 +33968,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/medical/treatment_center)
"bCl" = (
+6 -18
View File
@@ -11007,9 +11007,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"aPZ" = (
@@ -20516,9 +20514,6 @@
/turf/open/floor/plating,
/area/maintenance/solars/starboard/aft)
"fUX" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/structure/window/reinforced{
dir = 1
},
@@ -20528,6 +20523,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"fVm" = (
@@ -23736,9 +23732,6 @@
/turf/open/floor/plasteel/dark,
/area/security/office)
"hWn" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/structure/window/reinforced{
dir = 1
},
@@ -23755,6 +23748,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"hWp" = (
@@ -29421,9 +29415,6 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/ai_upload_foyer)
"lOX" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/structure/window/reinforced,
/obj/structure/mirror{
pixel_x = 25
@@ -29433,6 +29424,7 @@
},
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/stripes/line,
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"lPB" = (
@@ -44164,9 +44156,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"vkk" = (
@@ -46270,9 +46260,6 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"wut" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 8
@@ -46281,6 +46268,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/obj/machinery/stasis,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"wuC" = (
+4 -10
View File
@@ -11916,12 +11916,10 @@
/turf/open/floor/plasteel/white,
/area/centcom/control)
"BH" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/centcom/control)
"BI" = (
@@ -11936,12 +11934,10 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"BJ" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/obj/machinery/stasis,
/turf/open/floor/plasteel,
/area/centcom/control)
"BK" = (
@@ -16445,9 +16441,7 @@
/turf/open/floor/holofloor/wood,
/area/holodeck/rec_center/wrestlingarena)
"Lh" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/stasis,
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
"Li" = (
@@ -46321,7 +46315,7 @@ KO
KV
KV
KV
Lb
Lh
Lb
Lp
Lp
+2
View File
@@ -152,6 +152,8 @@
// GROUPED //
/////////////
#define STASIS_MACHINE_EFFECT "stasis_machine"
#define STASIS_ASCENSION_EFFECT "heretic_ascension"
/// If the incapacitated status effect will ignore a mob in stasis (stasis beds)
+6 -5
View File
@@ -44,7 +44,7 @@
/obj/machinery/stasis/Exited(atom/movable/AM, atom/newloc)
if(AM == occupant)
var/mob/living/L = AM
if(L.IsInStasis())
if(IS_IN_STASIS(L))
thaw_them(L)
. = ..()
@@ -95,12 +95,13 @@
return
var/freq = rand(24750, 26550)
playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 2, frequency = freq)
target.SetStasis(TRUE)
target.apply_status_effect(/datum/status_effect/grouped/stasis, STASIS_MACHINE_EFFECT)
target.ExtinguishMob()
use_power = ACTIVE_POWER_USE
/obj/machinery/stasis/proc/thaw_them(mob/living/target)
target.SetStasis(FALSE)
target.remove_status_effect(/datum/status_effect/grouped/stasis, STASIS_MACHINE_EFFECT)
if(target == occupant)
use_power = IDLE_POWER_USE
@@ -124,9 +125,9 @@
return
var/mob/living/L_occupant = occupant
if(stasis_running())
if(!L_occupant.IsInStasis())
if(!IS_IN_STASIS(L_occupant))
chill_out(L_occupant)
else if(L_occupant.IsInStasis())
else if(IS_IN_STASIS(L_occupant))
thaw_them(L_occupant)
/obj/machinery/stasis/screwdriver_act(mob/living/user, obj/item/I)
+1 -1
View File
@@ -11,7 +11,7 @@
. = SEND_SIGNAL(src, COMSIG_LIVING_LIFE, seconds, times_fired)
if(!(. & COMPONENT_INTERRUPT_LIFE_PHYSICAL))
PhysicalLife(seconds, times_fired)
if(!(. & COMPONENT_INTERRUPT_LIFE_BIOLOGICAL) && !IS_IN_STASIS())
if(!(. & COMPONENT_INTERRUPT_LIFE_BIOLOGICAL) && !IS_IN_STASIS(src))
BiologicalLife(seconds, times_fired)
// CODE BELOW SHOULD ONLY BE THINGS THAT SHOULD HAPPEN NO MATTER WHAT AND CAN NOT BE SUSPENDED!
+1 -1
View File
@@ -434,7 +434,7 @@
death()
/mob/living/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, check_immobilized = FALSE, ignore_stasis = FALSE)
if(stat || IsUnconscious() || IsStun() || IsParalyzed() || (combat_flags & COMBAT_FLAG_HARD_STAMCRIT) || (check_immobilized && IsImmobilized()) || (!ignore_restraints && restrained(ignore_grab)) || (!ignore_stasis && IS_IN_STASIS()))
if(stat || IsUnconscious() || IsStun() || IsParalyzed() || (combat_flags & COMBAT_FLAG_HARD_STAMCRIT) || (check_immobilized && IsImmobilized()) || (!ignore_restraints && restrained(ignore_grab)) || (!ignore_stasis && IS_IN_STASIS(src)))
return TRUE
/mob/living/canUseStorage()