diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 08b9b6c3..8b60febd 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -103,6 +103,7 @@ #define TRAIT_HOLY "holy" #define TRAIT_DEPRESSION "depression" #define TRAIT_JOLLY "jolly" +#define TRAIT_HEADPAT_SLUT "headpat_slut" #define TRAIT_NOCRITDAMAGE "no_crit" #define TRAIT_NOSLIPWATER "noslip_water" #define TRAIT_NOSLIPALL "noslip_all" diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 422ec447..01f7933c 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -113,3 +113,8 @@ /datum/mood_event/happy_empath/add_effects(var/mob/happytarget) description = "[happytarget.name]'s happiness is infectious!\n" + +/datum/mood_event/lewd_headpat + description = "I love headpats so much!\n" + mood_change = 3 + timeout = 2 MINUTES diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index f70e3a3c..61b54ca7 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -101,4 +101,11 @@ value = 0 medical_record_text = "Patient never skipped ass day." gain_text = "Your ass rivals those of golems." - lose_text = "Your butt feels more squishy and slappable." \ No newline at end of file + lose_text = "Your butt feels more squishy and slappable." + +/datum/quirk/headpat_slut + name = "Headpat Slut" + desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" + mob_trait = TRAIT_HEADPAT_SLUT + value = 0 + medical_record_text = "Patient seems overly affectionate" diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 1dbf6b69..bd9c20ae 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -282,10 +282,17 @@ else if(check_zone(M.zone_selected) == "head") var/mob/living/carbon/human/H = src var/datum/species/pref_species = H.dna.species - - M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ + + if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT)) + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!", \ + "You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much") + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat) + H.adjustArousalLoss(5) //Headpats are hot af + else + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ "You give [H] a pat on the head to make [p_them()] feel better!") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + if(HAS_TRAIT(M, TRAIT_FRIENDLY)) GET_COMPONENT_FROM(mood, /datum/component/mood, M) if (mood.sanity >= SANITY_GREAT)