back by popular demand: maso/nympho

This commit is contained in:
Putnam
2020-01-07 17:01:14 -08:00
parent 32043a9062
commit cd35e516ac
9 changed files with 93 additions and 44 deletions
@@ -633,6 +633,9 @@
//Shocking truth!
else if (lowertext(customTriggers[trigger]) == "shock")
if (lewd && ishuman(C))
var/mob/living/carbon/human/H = C
H.adjust_arousal(5)
C.jitteriness += 100
C.stuttering += 25
C.Knockdown(60)
@@ -41,6 +41,27 @@
update_body()
/mob/living/carbon/human/proc/adjust_arousal(strength,aphro = FALSE,maso = FALSE) // returns all genitals that were adjust
var/list/obj/item/organ/genital/genit_list = list()
if(!client?.prefs.arousable || (aphro && (client?.prefs.cit_toggles & NO_APHRO)) || (maso && !HAS_TRAIT(src, TRAIT_MASO)))
return // no adjusting made here
if(strength>0)
for(var/obj/item/organ/genital/G in internal_organs)
if(!G.aroused_state && prob(strength*G.sensitivity))
G.set_aroused_state(TRUE)
G.update_appearance()
if(G.aroused_state)
genit_list += G
else
for(var/obj/item/organ/genital/G in internal_organs)
if(G.aroused_state && prob(strength*G.sensitivity))
G.set_aroused_state(FALSE)
G.update_appearance()
if(G.aroused_state)
genit_list += G
return genit_list
/obj/item/organ/genital/proc/climaxable(mob/living/carbon/human/H, silent = FALSE) //returns the fluid source (ergo reagents holder) if found.
if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION))
. = reagents
@@ -108,12 +108,10 @@
to_chat(M, "<span class='userlove'>[aroused_message]</span>")
if(ishuman(M))
var/mob/living/carbon/human/H = M
for(var/obj/item/organ/genital/G in H.internal_organs)
if(!G.aroused_state && prob(current_cycle*G.sensitivity))
G.set_aroused_state(TRUE)
G.update_appearance()
if(G.aroused_state)
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
var/list/genits = H.adjust_arousal(current_cycle, aphro = TRUE) // redundant but should still be here
for(var/g in genits)
var/obj/item/organ/genital/G = g
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
..()
/datum/reagent/drug/aphrodisiacplus
@@ -144,12 +142,10 @@
REMOVE_TRAIT(M,TRAIT_NEVERBONER,"aphro")
if(ishuman(M))
var/mob/living/carbon/human/H = M
for(var/obj/item/organ/genital/G in H.internal_organs)
if(!G.aroused_state)
G.set_aroused_state(TRUE)
G.update_appearance()
if(G.aroused_state)
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
var/list/genits = H.adjust_arousal(100, aphro = TRUE) // redundant but should still be here
for(var/g in genits)
var/obj/item/organ/genital/G = g
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
..()
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
@@ -169,9 +165,9 @@
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
if(prob(5) && ishuman(M) && M.has_dna() && (M.client?.prefs.cit_toggles & BIMBOFICATION))
if(!HAS_TRAIT(M,TRAIT_PERMABONER)) //Less spam
if(!HAS_TRAIT(M,TRAIT_PERMABONER))
to_chat(M, "<span class='userlove'>Your libido is going haywire!</span>")
ADD_TRAIT(M,TRAIT_PERMABONER,"aphro")
ADD_TRAIT(M,TRAIT_PERMABONER,"aphro")
..()
/datum/reagent/drug/anaphrodisiac
@@ -187,14 +183,9 @@
/datum/reagent/drug/anaphrodisiac/on_mob_life(mob/living/M)
if(M && M.client?.prefs.arousable && prob(16))
if(ishuman(M))
var/unboner = FALSE
var/mob/living/carbon/human/H = M
for(var/obj/item/organ/genital/G in H.internal_organs)
if(G.aroused_state)
G.set_aroused_state(FALSE)
G.update_appearance()
unboner = (G.aroused_state == FALSE)
if(unboner)
var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
if(genits.len)
to_chat(M, "<span class='notice'>You no longer feel aroused.")
..()
@@ -211,19 +202,16 @@
if(M && M.client?.prefs.arousable)
REMOVE_TRAIT(M,TRAIT_PERMABONER,"aphro")
if(ishuman(M))
var/unboner = FALSE
var/mob/living/carbon/human/H = M
for(var/obj/item/organ/genital/G in H.internal_organs)
if(G.aroused_state)
G.set_aroused_state(FALSE)
G.update_appearance()
unboner = (G.aroused_state == FALSE)
if(unboner)
var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
if(genits.len)
to_chat(M, "<span class='notice'>You no longer feel aroused.")
..()
/datum/reagent/drug/anaphrodisiacplus/overdose_process(mob/living/M)
if(M && M.client?.prefs.arousable && prob(5))
to_chat(M, "<span class='userlove'>You feel like you'll never feel aroused again...</span>")
ADD_TRAIT(M,TRAIT_NEVERBONER,"aphro")
..()