diff --git a/modular_citadel/code/datums/mood_events/generic_positive_events.dm b/modular_citadel/code/datums/mood_events/generic_positive_events.dm
index 40df233fbf..798d77db99 100644
--- a/modular_citadel/code/datums/mood_events/generic_positive_events.dm
+++ b/modular_citadel/code/datums/mood_events/generic_positive_events.dm
@@ -19,3 +19,8 @@
description = "I've played with plushes recently.\n"
mood_change = 3
timeout = 3000
+
+/datum/mood_event/orgasm
+ description = "I came!" //funny meme haha
+ mood_change = 3
+ timeout = 1000
\ No newline at end of file
diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm
index bcebbde032..7ef696ee91 100644
--- a/modular_citadel/code/modules/arousal/arousal.dm
+++ b/modular_citadel/code/modules/arousal/arousal.dm
@@ -173,6 +173,7 @@
if(do_after(src, 30, target = src))
src.visible_message("[src] relieves [p_them()]self!", \
"You have relieved yourself.")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
setArousalLoss(min_arousal)
/*
switch(gender)
@@ -211,6 +212,7 @@
src.visible_message("[src] orgasms, cumming[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""]!", \
"You cum[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""].", \
"You have relieved yourself.")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
if(G.can_climax)
setArousalLoss(min_arousal)
@@ -247,6 +249,7 @@
src.visible_message("[src] orgasms[istype(src.loc, /turf/open/floor) ? ", spilling onto [src.loc]" : ""], using [p_their()] [G.name]!", \
"You climax[istype(src.loc, /turf/open/floor) ? ", spilling onto [src.loc]" : ""] with your [G.name].", \
"You climax using your [G.name].")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
if(G.can_climax)
setArousalLoss(min_arousal)
@@ -277,6 +280,8 @@
src.visible_message("[src] climaxes with [L][spillage ? ", overflowing and spilling":""], using [p_their()] [G.name]!", \
"You orgasm with [L][spillage ? ", spilling out of them":""], using your [G.name].", \
"You have climaxed with someone[spillage ? ", spilling out of them":""], using your [G.name].")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
+ SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
if(G.can_climax)
setArousalLoss(min_arousal)
else //knots and other non-spilling orgasms
@@ -286,6 +291,8 @@
src.visible_message("[src] climaxes with [L], [p_their()] [G.name] spilling nothing!", \
"You ejaculate with [L], your [G.name] spilling nothing.", \
"You have climaxed inside someone, your [G.name] spilling nothing.")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
+ SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
if(G.can_climax)
setArousalLoss(min_arousal)
@@ -315,6 +322,7 @@
src.visible_message("[src] uses [p_their()] [G.name] to fill [container]!", \
"You used your [G.name] to fill [container].", \
"You have relieved some pressure.")
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
if(G.can_climax)
setArousalLoss(min_arousal)