From 144fbcca022921669ea255da0691b24241bff4e5 Mon Sep 17 00:00:00 2001 From: Doxxmedearly <38594443+Doxxmedearly@users.noreply.github.com> Date: Sun, 12 Jun 2022 16:47:57 -0400 Subject: [PATCH] Magboot Fixes (#14306) --- code/modules/mob/living/carbon/human/human_movement.dm | 2 +- code/modules/mob/mob_movement.dm | 4 ++-- html/changelogs/doxxmedearly-bootsaremadeforwalking.yml | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/doxxmedearly-bootsaremadeforwalking.yml diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 2fd18e142bf..12e7aba99e2 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -103,7 +103,7 @@ return prob_slip /mob/living/carbon/human/Check_Shoegrip(checkSpecies = TRUE) - if(shoes && (shoes.item_flags & NOSLIP) && istype(shoes, /obj/item/clothing/shoes/magboots) && !lying && !buckled_to && !grabbed_by) //magboots + dense_object = no floating. Doesn't work if lying. Grabbedby and buckled_to are for mob carrying, wheelchairs, roller beds, etc. + if(shoes && (shoes.item_flags & NOSLIP) && istype(shoes, /obj/item/clothing/shoes/magboots) && !lying && !buckled_to && !length(grabbed_by)) //magboots + dense_object = no floating. Doesn't work if lying. Grabbedby and buckled_to are for mob carrying, wheelchairs, roller beds, etc. return TRUE return FALSE diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index c893c99e28b..a35267211bf 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -472,7 +472,7 @@ return -1 //Checks if a mob has solid ground to stand on -//If there's no gravity then there's no up or down so naturally you can't stand on anything. +//If there's no gravity then there's no up or down so naturally you can't stand on anything, unless you have grip. //For the same reason lattices in space don't count - those are things you grip, presumably. /mob/proc/check_solid_ground() var/turf/T = get_turf(src) @@ -484,7 +484,7 @@ var/area/A = T.loc - if (!A.has_gravity()) + if (!A.has_gravity() && !Check_Shoegrip()) return 0 return 1 diff --git a/html/changelogs/doxxmedearly-bootsaremadeforwalking.yml b/html/changelogs/doxxmedearly-bootsaremadeforwalking.yml new file mode 100644 index 00000000000..f5151b9abfc --- /dev/null +++ b/html/changelogs/doxxmedearly-bootsaremadeforwalking.yml @@ -0,0 +1,5 @@ +author: Doxxmedearly +delete-after: True +changes: + - bugfix: "Magboots should once more prevent you from being flung about during shuttle launches." + - bugfix: "Magboots should now always function if there's solid ground beneath you, including at away sites, and newly built floors in space."