diff --git a/code/__SPLURTCODE/DEFINES/zeros/traits.dm b/code/__SPLURTCODE/DEFINES/zeros/traits.dm
index 497b6e1c42..b1d1b3ef64 100644
--- a/code/__SPLURTCODE/DEFINES/zeros/traits.dm
+++ b/code/__SPLURTCODE/DEFINES/zeros/traits.dm
@@ -8,4 +8,4 @@
#define TRAIT_HEAT_DETECT "heat_detect"
#define TRAIT_ILLITERATE "illiterate"
-#define TRAIT_DUMB4CUM "dumb4cum"
\ No newline at end of file
+#define TRAIT_DUMB4CUM "dumb4cum"
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index aa14d9f13c..116e213416 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -779,7 +779,7 @@ GLOBAL_LIST_EMPTY(PDAs)
return t
/obj/item/pda/proc/send_message(mob/living/user, list/obj/item/pda/targets, everyone)
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't focus on anything but cum right now!")
return
@@ -865,7 +865,7 @@ GLOBAL_LIST_EMPTY(PDAs)
else
L = get(src, /mob/living/silicon)
- if(L && L.stat != UNCONSCIOUS && !L.is_dumb4cum())
+ if(L && L.stat != UNCONSCIOUS && !HAS_TRAIT(L, TRAIT_DUMB4CUM))
var/hrefstart
var/hrefend
if (isAI(L))
diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm
index de4b63fc87..a97874b1c0 100644
--- a/code/game/objects/items/implants/implantcase.dm
+++ b/code/game/objects/items/implants/implantcase.dm
@@ -24,7 +24,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the side of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/t = stripped_input(user, "What would you like the label to be?", name, null)
diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm
index e7f3f8e7d1..c921942541 100644
--- a/code/game/objects/items/implants/implanter.dm
+++ b/code/game/objects/items/implants/implanter.dm
@@ -45,7 +45,7 @@
if(!user.is_literate())
to_chat(user, "You prod at [src] with [W]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/t = stripped_input(user, "What would you like the label to be?", name, null)
diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm
index 4e3f6e09a2..e83c88db8f 100644
--- a/code/game/objects/items/signs.dm
+++ b/code/game/objects/items/signs.dm
@@ -21,7 +21,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/txt = stripped_input(user, "What would you like to write on the sign?", "Sign Label", null , 30)
diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
index fbb1259262..706c2f65fe 100644
--- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm
+++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
@@ -20,7 +20,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/t = stripped_input(user, "What would you like the label to be?", name, null, 53)
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 2e66a2a96a..59d60f2812 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -85,7 +85,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the side of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/t = stripped_input(user, "What would you like the label to be?", text("[]", name), null)
diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm
index e2da89681c..16ae047729 100644
--- a/code/modules/events/holiday/vday.dm
+++ b/code/modules/events/holiday/vday.dm
@@ -55,7 +55,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/recipient = stripped_input(user, "Who is receiving this valentine?", "To:", null , 20)
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index a2ad4020e3..0a4fde4171 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -195,7 +195,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src
diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm
index 899b3307a4..59766fad1d 100644
--- a/code/modules/games/cas.dm
+++ b/code/modules/games/cas.dm
@@ -147,7 +147,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
if(!blank)
diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm
index d6482259f2..7eabdb9d3a 100644
--- a/code/modules/library/lib_codex_gigas.dm
+++ b/code/modules/library/lib_codex_gigas.dm
@@ -27,7 +27,7 @@
if(!user.is_literate())
to_chat(user, "You skim through the book but can't comprehend any of it.")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
if(inUse)
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index eb670aa15d..ca5e3b78c2 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -113,7 +113,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the side of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/newname = stripped_input(user, "What would you like to title this bookshelf?")
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index e366e4e673..3a036c2bb8 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -591,7 +591,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
if(!is_literate())
to_chat(src, "You try to read [O], but can't comprehend any of it.")
return
- if(is_dumb4cum())
+ if(HAS_TRAIT(src, TRAIT_DUMB4CUM))
to_chat(src, "You try reading [O] but only warm seed comes to your mind.")
return
return TRUE
diff --git a/code/modules/newscaster/newspaper.dm b/code/modules/newscaster/newspaper.dm
index db92d5f647..57fa8ae913 100644
--- a/code/modules/newscaster/newspaper.dm
+++ b/code/modules/newscaster/newspaper.dm
@@ -158,7 +158,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
if(scribble_page == curr_page)
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index cf164e7338..fef3bbdade 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -190,7 +190,7 @@
if(!user.IsAdvancedToolUser() || !user.is_literate())
to_chat(user, "You don't know how to read or write.")
return 0
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
if(user.mind != target)
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 67b647595f..707ff06a8f 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -46,7 +46,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the cover of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm
index 2531566901..4f39ccb048 100644
--- a/code/modules/photography/photos/photo.dm
+++ b/code/modules/photography/photos/photo.dm
@@ -57,7 +57,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/txt = stripped_input(user, "What would you like to write on the back?", "Photo Writing", "", 128)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 54d0872288..87bb204afe 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -2510,13 +2510,6 @@
nutriment_factor = 0.5 * REAGENTS_METABOLISM
var/decal_path = /obj/effect/decal/cleanable/semen
-/datum/reagent/consumable/semen/on_mob_add(mob/living/carbon/M)
- var/datum/quirk/dumb4cum/d4c
- for(var/datum/quirk/Q in M.roundstart_quirks)
- if(Q.type == /datum/quirk/dumb4cum)
- d4c = Q
- d4c.uncrave()
-
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
..()
if(!istype(T))
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index d3f6b609f7..6548727746 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -89,7 +89,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the label of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/t = stripped_input(user, "What would you like to label the blood pack?", name, null, 53)
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 75ab481c39..572fb392df 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -36,7 +36,7 @@
if(!user.is_literate())
to_chat(user, "You scribble illegibly on the side of [src]!")
return
- if(user.is_dumb4cum())
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
to_chat(user, "You can't think of anything but cum right now.")
return
var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN)
@@ -122,9 +122,12 @@
playsound(loc, 'sound/machines/twobeep.ogg', 100, 1)
else if(istype(W, /obj/item/pen))
- if(!user.is_literate() || user.is_dumb4cum())
+ if(!user.is_literate())
to_chat(user, "You scribble illegibly on the side of [src]!")
return
+ if(HAS_TRAIT(user, TRAIT_DUMB4CUM))
+ to_chat(user, "You can't think of anything but cum right now.")
+ return
var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN)
if(!user.canUseTopic(src, BE_CLOSE))
return
diff --git a/modular_splurt/code/datums/mood_events/needs_events.dm b/modular_splurt/code/datums/mood_events/needs_events.dm
index fd15e074b8..3cce41244d 100644
--- a/modular_splurt/code/datums/mood_events/needs_events.dm
+++ b/modular_splurt/code/datums/mood_events/needs_events.dm
@@ -13,4 +13,4 @@
/datum/mood_event/cum_stuffed
description = "It feels so good inside me!\n"
mood_change = 8
- timeout = 5 MINUTES
\ No newline at end of file
+ timeout = 5 MINUTES
diff --git a/modular_splurt/code/datums/traits/neutral.dm b/modular_splurt/code/datums/traits/neutral.dm
index a238fc8bcf..780d3a3388 100644
--- a/modular_splurt/code/datums/traits/neutral.dm
+++ b/modular_splurt/code/datums/traits/neutral.dm
@@ -330,4 +330,4 @@
deltimer(timer)
timer = null
- timer = addtimer(CALLBACK(src, .proc/crave), craving_after, TIMER_STOPPABLE)
\ No newline at end of file
+ timer = addtimer(CALLBACK(src, .proc/crave), craving_after, TIMER_STOPPABLE)
diff --git a/modular_splurt/code/modules/mob/mob.dm b/modular_splurt/code/modules/mob/mob.dm
index 406aaa8387..c9a70933d3 100644
--- a/modular_splurt/code/modules/mob/mob.dm
+++ b/modular_splurt/code/modules/mob/mob.dm
@@ -41,8 +41,3 @@
if (.)
return
to_chat(A, "[src] seems to be checking you out.")
-
-/mob/proc/is_dumb4cum()
- if(HAS_TRAIT(src, TRAIT_DUMB4CUM))
- return TRUE
- return FALSE
\ No newline at end of file
diff --git a/modular_splurt/code/modules/reagents/chemistry/reagents/other_reagents.dm b/modular_splurt/code/modules/reagents/chemistry/reagents/other_reagents.dm
new file mode 100644
index 0000000000..bbf0ab8172
--- /dev/null
+++ b/modular_splurt/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -0,0 +1,7 @@
+/datum/reagent/consumable/semen/on_mob_add(mob/living/carbon/M)
+ . = ..()
+ var/datum/quirk/dumb4cum/d4c
+ for(var/datum/quirk/Q in M.roundstart_quirks)
+ if(Q.type == /datum/quirk/dumb4cum)
+ d4c = Q
+ d4c.uncrave()
\ No newline at end of file