diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm index 439e1084ec5..d6572ba8000 100644 --- a/code/game/objects/items/weapons/capture_crystal.dm +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -337,8 +337,15 @@ else if(!M.capture_crystal || M.capture_caught) to_chat(U, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - else if(tgui_alert(M, "Would you like to be caught by in [src] by [U]? You will be bound to their will.", "Become Caught",list("No","Yes")) == "Yes") - if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No","Yes")) == "Yes") + //What if someone slips and tries to capture themselves? + else if(M == U && tgui_alert(M, "Would you like to be caught by [src]? You will be bound to the will of whomever claims ownership of the crystal.", "Become Caught",list("No","Yes")) == "Yes") + if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No", "Yes")) == "Yes") + log_admin("[key_name(M)] has, by their own volition and discretion, decided to catch themselves with [src].") + capture(M, null) + return + //Make sure the player can opt out of getting captured + else if(M != U && tgui_alert(M, "Would you like to be caught in [src] by [U]? You will be bound to their will.", "Become Caught",list("No", "Yes")) == "Yes") + if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No", "Yes")) == "Yes") log_admin("[key_name(M)] has agreed to become caught by [key_name(U)].") capture(M, U) recall(U) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 02bd2b32ba9..22cdcb3f40a 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -580,8 +580,7 @@ else if(iscapturecrystal(loc)) var/obj/item/capture_crystal/crystal = loc crystal.unleash() - crystal.bound_mob = null - crystal.bound_mob = capture_crystal = 0 + crystal.mob_was_deleted() clear_fullscreen(ATOM_BELLY_FULLSCREEN) log_and_message_admins("used the OOC escape button to get out of [crystal] owned by [crystal.owner]. [ADMIN_FLW(src)]", src)