diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm index 5e492eec349..d9c4d79a3dd 100644 --- a/code/game/objects/items/weapons/capture_crystal.dm +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -99,6 +99,10 @@ else if(bound_mob.client) to_chat(bound_mob, "\The [owner] wishes for you to follow them.") else if(bound_mob in contents) + if(!bound_mob.ai_holder) + to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + return var/datum/ai_holder/AI = bound_mob.ai_holder if(AI.leader) to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") @@ -109,13 +113,17 @@ else if(!(bound_mob in view(M))) to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.") playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - var/datum/ai_holder/AI = bound_mob.ai_holder - if(AI.leader) - to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") - AI.lose_follow(AI.leader) - else - AI.set_follow(M) - to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") + if(!bound_mob.ai_holder) + to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + return + var/datum/ai_holder/AI = bound_mob.ai_holder + if(AI.leader) + to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") + AI.lose_follow(AI.leader) + else + AI.set_follow(M) + to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") //Don't really want people 'haha funny' capturing and releasing one another willy nilly. So! If you wanna release someone, you gotta destroy the thingy. //(Which is consistent with how it works with digestion anyway.)