diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 964da2ca2b9..cc4ddb95856 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -236,20 +236,26 @@ obj/machinery/gateway/centerstation/process()
if(!ready) return
if(!active) return
if(istype(M, /mob/living/carbon))
- for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents
- if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket
- M << "\black The station gate has detected your exile implant and is blocking your entry."
- return
+ if (exilecheck(M)) return
+ if(istype(M, /obj))
+ for(var/mob/living/carbon/F in M)
+ if (exilecheck(F)) return
M.forceMove(get_step(stationgate.loc, SOUTH))
M.dir = SOUTH
+/obj/machinery/gateway/centeraway/proc/exilecheck(var/mob/living/carbon/M)
+ for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents
+ if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket
+ M << "The station gate has detected your exile implant and is blocking your entry."
+ return 1
+ return 0
/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool))
if(calibrated)
- user << "\black The gate is already calibrated, there is no work for you to do here."
+ user << "The gate is already calibrated, there is no work for you to do here."
return
else
- user << "Recalibration successful!: \black This gate's systems have been fine tuned. Travel to this gate will now be on target."
+ user << "Recalibration successful!: This gate's systems have been fine tuned. Travel to this gate will now be on target."
calibrated = 1
return