diff --git a/code/modules/reagents/chemistry/reagents/blood/blood_holder.dm b/code/modules/reagents/chemistry/reagents/blood/blood_holder.dm
index d66157cff92..f2419d8faca 100644
--- a/code/modules/reagents/chemistry/reagents/blood/blood_holder.dm
+++ b/code/modules/reagents/chemistry/reagents/blood/blood_holder.dm
@@ -154,7 +154,7 @@
if(!total)
return null
amount = min(amount, total)
- if(amount <= 0) return null
+ if(amount < 0) return null
var/multiplier = max(0, 1 - (amount / total))
var/datum/blood_mixture/creating = new
diff --git a/code/modules/reagents/machinery/coffeemaker.dm b/code/modules/reagents/machinery/coffeemaker.dm
index 7dc09eede36..bad418b50d5 100644
--- a/code/modules/reagents/machinery/coffeemaker.dm
+++ b/code/modules/reagents/machinery/coffeemaker.dm
@@ -279,6 +279,8 @@
/obj/machinery/coffeemaker/ui_interact(mob/user) // The microwave Menu //I am reasonably certain that this is not a microwave //I am positively certain that this is not a microwave
. = ..()
+ if(!can_interact(user) || !user.canUseTopic(src, !issilicon(user)))
+ return FALSE
if(brewing)
return
diff --git a/code/modules/vore/fluffstuff/life_crystals.dm b/code/modules/vore/fluffstuff/life_crystals.dm
index b2a1f9810b7..8f6a9c14e3e 100644
--- a/code/modules/vore/fluffstuff/life_crystals.dm
+++ b/code/modules/vore/fluffstuff/life_crystals.dm
@@ -37,8 +37,15 @@
. = ..()
if(.)
return
- if(state > 0) //Can't re-pair, one time only, for security reasons.
- to_chat(user, "The [name] doesn't do anything.")
+ if(state > 0) //Can't re-pair, one time only, for security reasons. But you can prematurely deactivate it if you're the owner, so you can take it off freely.
+ if(alert(user, "Would you like to permanently deactivate \the [name]?",, "Yes", "No") == "Yes")
+ if(user == owner)
+ to_chat(user, SPAN_NOTICE("\The [name] quietly crumbles into dust in your hand as its connection to you is severed."))
+ update_state(3)
+ name = "broken [initial(name)]"
+ desc = "This seems like a necklace, but the actual pendant is missing."
+ return
+ to_chat(user, SPAN_NOTICE("The [name] doesn't do anything."))
return 0
owner = user //We're paired to this person
@@ -66,17 +73,17 @@
/obj/item/clothing/accessory/collar/vmcrystal/proc/become_alert()
update_state(2)
- audible_message(SPAN_WARNING("The [name] begins flashing red and vibrating in at a low frequency."),
- SPAN_WARNING("The [name] begins vibrating in at a low frequency."))
+ audible_message(SPAN_WARNING("\The [name] begins flashing red and vibrating in at a low frequency."),
+ SPAN_WARNING("\The [name] begins vibrating in at a low frequency."))
last_vitals = world.time
/obj/item/clothing/accessory/collar/vmcrystal/proc/become_calm()
update_state(1)
- audible_message(SPAN_NOTICE("[src] stops flashing red and vibrating as it resyncronises with its linked owner."),
- SPAN_NOTICE("[src] stops vibrating in at a low frequency"))
+ audible_message(SPAN_NOTICE("\The [src] stops flashing red and vibrating as it resyncronises with its linked owner."),
+ SPAN_NOTICE("\The [src] stops vibrating in at a low frequency"))
/obj/item/clothing/accessory/collar/vmcrystal/proc/send_message()
- visible_message(SPAN_WARNING("The [name] shatters into dust!"))
+ visible_message(SPAN_WARNING("\The [name] shatters into dust!"))
GLOB.global_announcer.autosay("[owner] has died!", "[owner]'s Life Crystal")
if(owner_c)
to_chat(owner_c, "The HAVENS system is notified of your demise via \the [name].")