Make abductor retrieval error messages more helpful. (#32463)

This commit is contained in:
Alan
2026-08-25 04:58:30 +00:00
committed by GitHub
parent c96e164309
commit 34f6c77d21
3 changed files with 25 additions and 10 deletions
@@ -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
@@ -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)
@@ -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)