-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
it's something!
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
/datum/quirk/dumb_for_cum | ||
name = "Dumb For Cum" | ||
desc = "For one reason or another, you're totally obsessed with seminal fluids. The heat of it, the smell... the taste... It's quite simply euphoric." | ||
value = -1 | ||
mob_trait = TRAIT_DUMB_CUM | ||
gain_text = span_notice("You feel an insatiable craving for seminal fluids.") | ||
lose_text = span_notice("Cum didn't even taste that good, anyways.") | ||
medical_record_text = "Patient seems to have an unhealthy psychological obsession with seminal fluids." | ||
quirk_flags = /datum/quirk::quirk_flags | QUIRK_MOODLET_BASED | ||
var/timer | ||
var/timer_trigger = 15 MINUTES | ||
|
||
/datum/quirk/dumb_for_cum/add(client/client_source) | ||
. = ..() | ||
|
||
// Set timer | ||
timer = addtimer(CALLBACK(src, PROC_REF(crave)), timer_trigger, TIMER_STOPPABLE) | ||
|
||
/datum/quirk/dumb_for_cum/remove() | ||
. = ..() | ||
|
||
// Remove status trait | ||
REMOVE_TRAIT(quirk_holder, TRAIT_DUMB_CUM_CRAVE, QUIRK_TRAIT) | ||
|
||
// Remove penalty traits | ||
REMOVE_TRAIT(quirk_holder, TRAIT_ILLITERATE, QUIRK_TRAIT) | ||
REMOVE_TRAIT(quirk_holder, TRAIT_DUMB, QUIRK_TRAIT) | ||
REMOVE_TRAIT(quirk_holder, TRAIT_PACIFISM, QUIRK_TRAIT) | ||
|
||
// Remove mood event | ||
SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, QMOOD_DUMB_CUM) | ||
Check failure on line 31 in modular_zzplurt/code/datums/quirks/negative_quirks/dumb_for_cum.dm GitHub Actions / Run Linters
|
||
|
||
// Remove timer | ||
deltimer(timer) | ||
|
||
/datum/quirk/dumb_for_cum/proc/crave() | ||
// Check if conscious | ||
if(quirk_holder.stat == CONSCIOUS) | ||
// Display emote | ||
quirk_holder.emote("sigh") | ||
|
||
// Define list of phrases | ||
var/list/trigger_phrases = list( | ||
"Your stomach rumbles a bit and cum comes to your mind.",\ | ||
"Urgh, you should really get some cum...",\ | ||
"Some jizz wouldn't be so bad right now!",\ | ||
"You're starting to long for some more cum..." | ||
) | ||
// Alert user in chat | ||
to_chat(quirk_holder, span_love("[pick(trigger_phrases)]")) | ||
|
||
// Add active status trait | ||
ADD_TRAIT(quirk_holder, TRAIT_DUMB_CUM_CRAVE, QUIRK_TRAIT) | ||
|
||
// Add illiterate, dumb, and pacifist | ||
ADD_TRAIT(quirk_holder, TRAIT_ILLITERATE, QUIRK_TRAIT) | ||
ADD_TRAIT(quirk_holder, TRAIT_DUMB, QUIRK_TRAIT) | ||
ADD_TRAIT(quirk_holder, TRAIT_PACIFISM, QUIRK_TRAIT) | ||
|
||
// Add negative mood effect | ||
SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, QMOOD_DUMB_CUM, /datum/mood_event/cum_craving) | ||
Check failure on line 61 in modular_zzplurt/code/datums/quirks/negative_quirks/dumb_for_cum.dm GitHub Actions / Run Linters
Check failure on line 61 in modular_zzplurt/code/datums/quirks/negative_quirks/dumb_for_cum.dm GitHub Actions / Run Linters
|
||
|
||
/datum/quirk/dumb_for_cum/proc/uncrave() | ||
// Remove active status trait | ||
REMOVE_TRAIT(quirk_holder, TRAIT_DUMB_CUM_CRAVE, QUIRK_TRAIT) | ||
|
||
// Remove penalty traits | ||
REMOVE_TRAIT(quirk_holder, TRAIT_ILLITERATE, QUIRK_TRAIT) | ||
REMOVE_TRAIT(quirk_holder, TRAIT_DUMB, QUIRK_TRAIT) | ||
REMOVE_TRAIT(quirk_holder, TRAIT_PACIFISM, QUIRK_TRAIT) | ||
|
||
// Add positive mood event | ||
SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, QMOOD_DUMB_CUM, /datum/mood_event/cum_stuffed) | ||
Check failure on line 73 in modular_zzplurt/code/datums/quirks/negative_quirks/dumb_for_cum.dm GitHub Actions / Run Linters
Check failure on line 73 in modular_zzplurt/code/datums/quirks/negative_quirks/dumb_for_cum.dm GitHub Actions / Run Linters
|
||
|
||
// Remove timer | ||
deltimer(timer) | ||
timer = null | ||
|
||
// Add new timer | ||
timer = addtimer(CALLBACK(src, PROC_REF(crave)), timer_trigger, TIMER_STOPPABLE) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/datum/quirk/flimsy | ||
name = "Flimsy" | ||
desc = "Your body is a little more fragile then most, decreasing total health by 20%." | ||
value = -2 | ||
medical_record_text = "Patient has abnormally low capacity for injury." | ||
gain_text = span_notice("You feel like you could break with a single hit.") | ||
lose_text = span_notice("You feel more durable.") | ||
|
||
/datum/quirk/flimsy/add(client/client_source) | ||
. = ..() | ||
|
||
quirk_holder.maxHealth *= 0.8 | ||
|
||
/datum/quirk/flimsy/remove() | ||
. = ..() | ||
|
||
if(!quirk_holder) | ||
return | ||
quirk_holder.maxHealth *= 1.25 |