From 53dd4fc85780ba8435864b5f323b9db8e782f3af Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 18 Jul 2020 20:50:28 -0700
Subject: [PATCH 1/3] Update areas.dm
---
code/game/area/areas.dm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index dabbe93bec..f87f7a757c 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -516,7 +516,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
used_environ += amount
-/area/Entered(atom/movable/M)
+/area/Entered(atom/movable/M, atom/OldLoc)
set waitfor = FALSE
SEND_SIGNAL(src, COMSIG_AREA_ENTERED, M)
SEND_SIGNAL(M, COMSIG_ENTER_AREA, src) //The atom that enters the area
@@ -524,6 +524,11 @@ GLOBAL_LIST_EMPTY(teleportlocs)
return
var/mob/living/L = M
+ var/turf/oldTurf = get_turf(OldLoc)
+ var/area/A = oldTurf?.loc
+ if(A && (A.has_gravity != has_gravity))
+ L.update_gravity(L.mob_has_gravity())
+
if(!L.ckey)
return
From 9b1aa3949700fda6c4d1eed6232f868306f5caf8 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 18 Jul 2020 20:51:30 -0700
Subject: [PATCH 2/3] Update space.dm
---
code/game/turfs/space/space.dm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index b131a1ed70..42096866c4 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -133,10 +133,15 @@
else
to_chat(user, "The plating is going to need some support! Place metal rods first.")
-/turf/open/space/Entered(atom/movable/A)
+/turf/open/space/Entered(atom/movable/A, atom/OldLoc)
..()
if ((!(A) || src != A.loc))
return
+
+ var/turf/old = get_turf(OldLoc)
+ if(!isspaceturf(old) && ismob(A))
+ var/mob/M = A
+ M.update_gravity(M.mob_has_gravity())
if(destination_z && destination_x && destination_y && !(A.pulledby || !A.can_be_z_moved))
var/tx = destination_x
From 5b408d5b33c0f039f43abf3f7962b48cfe0d918f Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 18 Jul 2020 20:52:15 -0700
Subject: [PATCH 3/3] Update space.dm
---
code/game/turfs/space/space.dm | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 42096866c4..0e028ed4af 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -134,9 +134,7 @@
to_chat(user, "The plating is going to need some support! Place metal rods first.")
/turf/open/space/Entered(atom/movable/A, atom/OldLoc)
- ..()
- if ((!(A) || src != A.loc))
- return
+ . = ..()
var/turf/old = get_turf(OldLoc)
if(!isspaceturf(old) && ismob(A))
@@ -175,6 +173,12 @@
stoplag()//Let a diagonal move finish, if necessary
A.newtonian_move(A.inertia_dir)
+/turf/open/space/Exited(atom/movable/AM, atom/OldLoc)
+ . = ..()
+ var/turf/old = get_turf(OldLoc)
+ if(!isspaceturf(old) && ismob(AM))
+ var/mob/M = AM
+ M.update_gravity(M.mob_has_gravity())
/turf/open/space/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent)
return