diff --git a/code/citadel/cit_reagents.dm b/code/citadel/cit_reagents.dm
index 30b4da7ccf..12604f26f5 100644
--- a/code/citadel/cit_reagents.dm
+++ b/code/citadel/cit_reagents.dm
@@ -99,13 +99,14 @@
color = "#FFADFF"//PINK, rgb(255, 173, 255)
/datum/reagent/drug/aphrodisiac/on_mob_life(mob/living/M)
- if(prob(33))
- M.adjustArousalLoss(2)
- if(prob(5))
- M.emote(pick("moan","blush"))
- if(prob(5))
- var/aroused_message = pick("You feel frisky.", "You're having trouble suppressing your urges.", "You feel in the mood.")
- to_chat(M, "[aroused_message]")
+ if(M && M.canbearoused)
+ if(prob(33))
+ M.adjustArousalLoss(2)
+ if(prob(5))
+ M.emote(pick("moan","blush"))
+ if(prob(5))
+ var/aroused_message = pick("You feel frisky.", "You're having trouble suppressing your urges.", "You feel in the mood.")
+ to_chat(M, "[aroused_message]")
..()
/datum/reagent/drug/aphrodisiacplus
@@ -120,20 +121,22 @@
overdose_threshold = 20
/datum/reagent/drug/aphrodisiacplus/on_mob_life(mob/living/M)
- if(prob(33))
- M.adjustArousalLoss(6)//not quite six times as powerful, but still considerably more powerful.
- if(prob(5))
- if(M.getArousalLoss() > 75)
- M.say(pick("Hnnnnngghh...", "Ohh...", "Mmnnn..."))
- else
- M.emote(pick("moan","blush"))
- if(prob(5))
- var/aroused_message
- if(M.getArousalLoss() > 90)
- aroused_message = pick("You need to fuck someone!", "You're bursting with sexual tension!", "You can't get sex off your mind!")
- else
- aroused_message = pick("You feel a bit hot.", "You feel strong sexual urges.", "You feel in the mood.", "You're ready to go down on someone.")
- to_chat(M, "[aroused_message]")
+ if(M && M.canbearoused)
+ if(prob(33))
+ M.adjustArousalLoss(6)//not quite six times as powerful, but still considerably more powerful.
+ if(prob(5))
+ if(M.getArousalLoss() > 75)
+ M.say(pick("Hnnnnngghh...", "Ohh...", "Mmnnn..."))
+ else
+ M.emote(pick("moan","blush"))
+ if(prob(5))
+ var/aroused_message
+ if(M.getArousalLoss() > 90)
+ aroused_message = pick("You need to fuck someone!", "You're bursting with sexual tension!", "You can't get sex off your mind!")
+ else
+ aroused_message = pick("You feel a bit hot.", "You feel strong sexual urges.", "You feel in the mood.", "You're ready to go down on someone.")
+ to_chat(M, "[aroused_message]")
+ ..()
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
if(prob(30))
@@ -150,7 +153,7 @@
..()
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
- if(prob(33))
+ if(M && M.canbearoused && prob(33))
if(M.getArousalLoss() >= 100 && ishuman(M) && M.has_dna())
var/mob/living/carbon/human/H = M
if(prob(50)) //Less spam
@@ -174,7 +177,7 @@
reagent_state = SOLID
/datum/reagent/drug/anaphrodisiac/on_mob_life(mob/living/M)
- if(prob(33))
+ if(M && M.canbearoused && prob(33))
M.adjustArousalLoss(-2)
..()
@@ -188,12 +191,12 @@
overdose_threshold = 20
/datum/reagent/drug/anaphrodisiacplus/on_mob_life(mob/living/M)
- if(prob(33))
+ if(M && M.canbearoused && prob(33))
M.adjustArousalLoss(-4)
..()
/datum/reagent/drug/anaphrodisiacplus/overdose_process(mob/living/M)
- if(prob(33))
+ if(M && M.canbearoused && prob(33))
if(M.min_arousal > 0)
M.min_arousal -= 1
if(M.min_arousal > 50)