diff --git a/code/defines/obj/clothing.dm b/code/defines/obj/clothing.dm index 40abf9adead..800451c4947 100644 --- a/code/defines/obj/clothing.dm +++ b/code/defines/obj/clothing.dm @@ -479,6 +479,7 @@ icon_state = "magboots0" protective_temperature = 800 heat_transfer_coefficient = 0.01 + var/magpulse = 0 // flags = NOSLIP //disabled by default /obj/item/clothing/shoes/clown_shoes diff --git a/code/game/machinery/singularity.dm b/code/game/machinery/singularity.dm index 84de93a018a..0ae9b99d3b9 100644 --- a/code/game/machinery/singularity.dm +++ b/code/game/machinery/singularity.dm @@ -189,8 +189,17 @@ However people seem to like it for some reason. if(0 to 2) src.Bumped(X) else if(!isturf(X)) - if(!X:anchored) - step_towards(X,src) + if(!istype(X,/mob/living/carbon/human)) + if(!X:anchored) + step_towards(X,src) + else + var/mob/living/carbon/human/H = X + if(istype(H.shoes,/obj/item/clothing/shoes/magboots)) + var/obj/item/clothing/shoes/magboots/M = H.shoes + if(M.magpulse) + continue + else + step_towards(H,src) /obj/machinery/the_singularity/proc/move() var/direction_go = pick(cardinal) diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm index 1daf2e5c913..b157befcc2f 100644 --- a/code/game/objects/items/clothing.dm +++ b/code/game/objects/items/clothing.dm @@ -220,14 +220,16 @@ DEATH COMMANDO GAS MASK /obj/item/clothing/under/color/orange/mode = 3 /obj/item/clothing/shoes/magboots/attack_self(mob/user as mob) - if(src.flags&NOSLIP) + if(src.magpulse) src.flags &= ~NOSLIP src.slowdown = SHOES_SLOWDOWN + src.magpulse = 0 icon_state = "magboots0" user << "You disable the mag-pulse traction system." else src.flags |= NOSLIP src.slowdown = 2 + src.magpulse = 1 icon_state = "magboots1" user << "You enable the mag-pulse traction system."