diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index fee7ba3cb6..fb721e9fcb 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -72,6 +72,7 @@ #define TRAIT_PHOTOGRAPHER "photographer" #define TRAIT_MUSICIAN "musician" #define TRAIT_CROCRIN_IMMUNE "crocin_immune" +#define TRAIT_NYMPHO "nymphomania" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 30ccf16c7e..e3225291bd 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -575,7 +575,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/carbon/human/H = V - if(H.canbearoused && H.has_dna()) // probably a redundant check but for good measure + if(H.canbearoused && H.has_dna() && H.has_trait(TRAIT_NYMPHO)) // probably a redundant check but for good measure H.mob_climax(forced_climax=TRUE) //DAB diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 3a0a11ddf5..6598904afb 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -528,7 +528,7 @@ //Speak (Forces player to talk) works if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2 var/saytext = "Your mouth moves on it's own before you can even catch it." - if(M.has_trait(TRAIT_NYMPHO)) + if(C.has_trait(TRAIT_NYMPHO)) saytext += " You find yourself fully believing in the validity of what you just said and don't think to question it." to_chat(C, "[saytext]") (C.say(customTriggers[trigger][2]))//trigger3 @@ -549,7 +549,7 @@ //wah intensifies wah-rks else if (lowertext(customTriggers[trigger]) == "cum")//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - if (M.has_trait(TRAIT_NYMPHO)) + if (C.has_trait(TRAIT_NYMPHO)) if (C.getArousalLoss() > 80) C.mob_climax(forced_climax=TRUE) else diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 1782601257..30abe29074 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -57,7 +57,7 @@ /datum/reagent/fermi/on_merge(data, amount, mob/living/carbon/M, purity)//basically on_mob_add but for merging . = ..() message_admins("purity of chem is [purity]") - if(M.istype(/mob/living/carbon/M)) + if(istype(M, /mob/living/carbon)) return message_admins("purity of chem is [purity]") if (purity < 0) @@ -728,6 +728,17 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING InverseChem = "PEsmaller" //At really impure vols, it just becomes 100% inverse //var/mob/living/carbon/human/H +/datum/reagent/fermi/BElarger/on_mob_add(mob/living/carbon/M) + . = ..() + var/mob/living/carbon/human/H = M + var/obj/item/organ/genital/penis/P = H.getorganslot("penis") + if(!P) + message_admins("No penis found on init!") + return + P.prev_size = P.length + P.cached_length = P.length + message_admins("init P len: [P.length], prev: [P.prev_size], cache = [P.cached_length]") + /datum/reagent/fermi/PElarger/on_mob_life(mob/living/carbon/M) //Increases penis size, 5u = +1 inch. var/mob/living/carbon/human/H = M var/obj/item/organ/genital/penis/P = M.getorganslot("penis") @@ -762,7 +773,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING message_admins("PE Breast status: [B]") if(M.gender == FEMALE) M.gender = MALE - M.visible_message("[M] suddenly looks more masculine!", "You suddenly feel more masculine as your !") + M.visible_message("[M] suddenly looks more masculine!", "You suddenly feel more masculine!") if(B) B.cached_size = B.cached_size - 0.1