diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index 0eb5a40d52f..4027079a2f8 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -216,6 +216,35 @@
occupant = null
update_icon(UPDATE_ICON_STATE)
+/obj/machinery/abductor/experiment/relaymove()
+ if(!occupant)
+ return
+ to_chat(occupant, "You start trying to break free!")
+ if(!do_after(occupant, 20 SECONDS, FALSE, src))
+ return
+ var/list/possible_results = list(
+ CALLBACK(src, PROC_REF(electrocute_abductee)) = 1,
+ CALLBACK(src, PROC_REF(sedate_abductee)) = 1,
+ CALLBACK(src, PROC_REF(eject_abductee)) = 2
+ )
+ var/datum/callback/result = pickweight(possible_results)
+ result.Invoke()
+
+/obj/machinery/abductor/experiment/proc/electrocute_abductee()
+ if(!occupant)
+ return
+ to_chat(occupant, "Something is electrifying you!")
+ sleep(1 SECONDS)
+ occupant.electrocute_act(10, src)
+ do_sparks(5, TRUE, src)
+
+/obj/machinery/abductor/experiment/proc/sedate_abductee()
+ if(!occupant)
+ return
+ to_chat(occupant, "Something is stabbing you in the back!")
+ occupant.apply_damage(5, BRUTE, BODY_ZONE_CHEST)
+ occupant.reagents.add_reagent("ether", 5)
+
/obj/machinery/abductor/experiment/force_eject_occupant(mob/target)
eject_abductee()