diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index cdfde011079..efd2c527409 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -453,23 +453,18 @@
if(istype(turf,/turf/space))
continue
- if(istype(src,/mob/living/carbon/human/)) // Only humans can wear magboots, so we give them a chance to.
- var/mob/living/carbon/human/H = src
- if((istype(turf,/turf/simulated/floor)) && (src.lastarea.has_gravity == 0) && !(istype(H.shoes, /obj/item/clothing/shoes/magboots) && (H.shoes.flags & NOSLIP)))
- continue
-
-
- else
- if((istype(turf,/turf/simulated/floor)) && (src.lastarea.has_gravity == 0)) // No one else gets a chance.
- continue
-
-
-
- /*
- if(istype(turf,/turf/simulated/floor) && (src.flags & NOGRAV))
- continue
- */
-
+ if(istype(turf,/turf/simulated/floor)) // Floors don't count if they don't have gravity
+ var/area/A = turf.loc
+ if(istype(A) && A.has_gravity == 0)
+ var/can_walk = 0
+
+ if(ishuman(src)) // Only humans can wear magboots, so we give them a chance to.
+ var/mob/living/carbon/human/H = src
+ if(istype(H.shoes, /obj/item/clothing/shoes/magboots) && (H.shoes.flags & NOSLIP))
+ can_walk = 1
+
+ if(!can_walk)
+ continue
dense_object++
break
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 5bb1dde1957..67eb5c9aeba 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -147,16 +147,18 @@
if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"]))
M = R
break
- var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
- P.info = "
Medical Record
"
- P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
"
- P.info += "
\nMedical Data
\nBlood Type: [M.fields["b_type"]]
\nDNA: [M.fields["b_dna"]]
\n
\nMinor Disabilities: [M.fields["mi_dis"]]
\nDetails: [M.fields["mi_dis_d"]]
\n
\nMajor Disabilities: [M.fields["ma_dis"]]
\nDetails: [M.fields["ma_dis_d"]]
\n
\nAllergies: [M.fields["alg"]]
\nDetails: [M.fields["alg_d"]]
\n
\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)
\nDetails: [M.fields["cdi_d"]]
\n
\nImportant Notes:
\n\t[M.fields["notes"]]
\n
\nComments/Log
"
- var/counter = 1
- while(M.fields["com_[counter]"])
- P.info += "[M.fields["com_[counter]"]]
"
- counter++
- P.info += ""
- P.name = "Medical Record ([G.fields["name"]])"
+ if(M)
+ var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
+ P.info = "Medical Record
"
+ P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
"
+
+ P.info += "
\nMedical Data
\nBlood Type: [M.fields["b_type"]]
\nDNA: [M.fields["b_dna"]]
\n
\nMinor Disabilities: [M.fields["mi_dis"]]
\nDetails: [M.fields["mi_dis_d"]]
\n
\nMajor Disabilities: [M.fields["ma_dis"]]
\nDetails: [M.fields["ma_dis_d"]]
\n
\nAllergies: [M.fields["alg"]]
\nDetails: [M.fields["alg_d"]]
\n
\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)
\nDetails: [M.fields["cdi_d"]]
\n
\nImportant Notes:
\n\t[M.fields["notes"]]
\n
\nComments/Log
"
+ var/counter = 1
+ while(M.fields["com_[counter]"])
+ P.info += "[M.fields["com_[counter]"]]
"
+ counter++
+ P.info += ""
+ P.name = "Medical Record ([G.fields["name"]])"
virgin = 0 //tabbing here is correct- it's possible for people to try and use it
//before the records have been generated, so we do this inside the loop.
..()