From 34f6c77d2109b1400d2a28462881bebb94947dd6 Mon Sep 17 00:00:00 2001 From: Alan Date: Tue, 25 Aug 2026 04:58:30 +0000 Subject: [PATCH] Make abductor retrieval error messages more helpful. (#32463) --- .../abduction/machinery/abductor_camera.dm | 4 ++-- .../miniantags/abduction/machinery/console.dm | 19 +++++++++++++++---- .../miniantags/abduction/machinery/pad.dm | 12 ++++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm index 7cfd213715a..ff7e256a395 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm @@ -90,8 +90,8 @@ return var/obj/machinery/abductor/console/console = target - if(!console.TeleporterRetrieve()) - to_chat(owner, SPAN_WARNING("Error, unable to recall target. Please ensure they are not buckled, and that you have waited the required 10000 milliseconds!")) + if(!console.TeleporterRetrieve(owner)) + to_chat(owner, SPAN_WARNING("Error, unable to recall target.")) playsound(owner, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) /datum/action/innate/teleport_self diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index 6dda00ff2ce..b6702cb0f7f 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -113,7 +113,7 @@ if(href_list["teleporter_send"]) TeleporterSend() else if(href_list["teleporter_retrieve"]) - TeleporterRetrieve() + TeleporterRetrieve(usr) else if(href_list["flip_vest"]) FlipVest() else if(href_list["toggle_vest"]) @@ -140,9 +140,20 @@ updateUsrDialog() -/obj/machinery/abductor/console/proc/TeleporterRetrieve() - if(pad && gizmo && gizmo.marked) - return pad.Retrieve(gizmo.marked) +/obj/machinery/abductor/console/proc/TeleporterRetrieve(mob/user) + if(!pad) + to_chat(user, SPAN_WARNING("You don't have a working Telepad to retrieve to!")) + return FALSE + + if(!gizmo) + to_chat(user, SPAN_WARNING("You don't have a working science tool to mark your target with!")) + return FALSE + + if(!gizmo.marked) + to_chat(user, SPAN_WARNING("Mark the creature you want to teleport before retrieving it!")) + return FALSE + + return pad.Retrieve(gizmo.marked, user) /obj/machinery/abductor/console/proc/TeleporterSend() if(pad) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index b15eb3d0365..e3077919f46 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -6,8 +6,12 @@ anchored = TRUE var/turf/teleport_target -/obj/machinery/abductor/pad/proc/Warp(mob/living/target) - if(target.buckled || target.has_status_effect(STATUS_EFFECT_ABDUCTOR_COOLDOWN)) +/obj/machinery/abductor/pad/proc/Warp(mob/living/target, mob/user) + if(target.buckled) + to_chat(user, SPAN_WARNING("Please ensure the target is not buckled!")) + return FALSE + if(target.has_status_effect(STATUS_EFFECT_ABDUCTOR_COOLDOWN)) + to_chat(user, SPAN_WARNING("Please wait at least 10,000 milliseconds before teleporting the same target again!")) return FALSE target.forceMove(get_turf(src)) target.apply_status_effect(STATUS_EFFECT_ABDUCTOR_COOLDOWN) @@ -23,10 +27,10 @@ to_chat(target, SPAN_WARNING("The instability of the warp leaves you disoriented!")) target.Stun(6 SECONDS) -/obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) +/obj/machinery/abductor/pad/proc/Retrieve(mob/living/target, mob/user) flick("alien-pad", src) new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) - return Warp(target) + return Warp(target, user) /obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target) new/obj/effect/temp_visual/teleport_abductor(place)