From e10285df29f10ac8b881fba1cda5e8cb5b9b1095 Mon Sep 17 00:00:00 2001 From: Cheshify <73589390+Cheshify@users.noreply.github.com> Date: Mon, 8 Feb 2021 19:54:34 -0500 Subject: [PATCH] Sensitive Snout Negative Quirk! (#3183) * Sensitive Snout Negative Quirk! Adds the "Sensitive Snout" quirk, that causes anyone afflicted with it to drop to the ground upon being booped. * Fixing Defines Fixing a small trait definition conflict. * I fucking hate this PR Fixed Linter BS * Linters go brrr fixed * Boop Nerf? * Final Edit --- code/__DEFINES/~skyrat_defines/traits.dm | 2 +- code/modules/mob/living/carbon/carbon_defense.dm | 10 +++++++--- .../master_files/code/datums/traits/negative.dm | 9 +++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/~skyrat_defines/traits.dm b/code/__DEFINES/~skyrat_defines/traits.dm index 333881d36b9..946ed974f2e 100644 --- a/code/__DEFINES/~skyrat_defines/traits.dm +++ b/code/__DEFINES/~skyrat_defines/traits.dm @@ -8,5 +8,5 @@ #define TRAIT_DNC "cant_clone" #define TRAIT_DNR "cant_revive" //You just can't be revived without supernatural means #define TRAIT_HARD_SOLES "hard_soles" // No step on glass - +#define TRAIT_SENSITIVESNOUT "sensitive_snout" // Snout hurts when booped #define TRAIT_DETECTIVE "detective_ability" //Given to the detective, if they have this, they can see syndicate special descriptions. diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index f0728cf297f..aa74c9f0998 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -485,12 +485,16 @@ to_chat(M, "You shake [src] trying to pick [p_them()] up!") to_chat(src, "[M] shakes you to get you up!") - //SKYRAT EDIT ADDITION BEGIN - EMOTES + //SKYRAT EDIT ADDITION BEGIN - EMOTES -- SENSITIVE SNOUT TRAIT ADDITION else if(M.zone_selected == BODY_ZONE_PRECISE_MOUTH) nosound = TRUE - M.visible_message("[M] boops [src]'s nose.", \ - "You boop [src] on the nose.") playsound(src, 'modular_skyrat/modules/emotes/sound/emotes/Nose_boop.ogg', 50, 0) + if(HAS_TRAIT(src, TRAIT_SENSITIVESNOUT) && get_location_accessible(src, BODY_ZONE_PRECISE_MOUTH)) + to_chat(src, "[M] boops you on your sensitive nose, sending you to the ground!") + src.Knockdown(20) + src.apply_damage(30, STAMINA, BODY_ZONE_CHEST) + M.visible_message("[M] boops [src]'s nose.", \ + "You boop [src] on the nose.") //SKYRAT EDIT ADDITION END else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) //Headpats! diff --git a/modular_skyrat/master_files/code/datums/traits/negative.dm b/modular_skyrat/master_files/code/datums/traits/negative.dm index 4c0f9dc541d..9f404861dd5 100644 --- a/modular_skyrat/master_files/code/datums/traits/negative.dm +++ b/modular_skyrat/master_files/code/datums/traits/negative.dm @@ -6,3 +6,12 @@ value = -4 mob_trait = TRAIT_MOOD_NOEXAMINE medical_record_text = "Patient is incapable of communicating their emotions." + +/datum/quirk/sensitivesnout + name = "Sensitive Snout" + desc = "Your face has always been sensitive, and it really hurts when someone pokes it!" + gain_text = "Your face is awfully sensitive." + lose_text = "Your face feels numb." + medical_record_text = "Patient's nose seems to have a cluster of nerves in the tip, would advise against direct contact." + value = -2 + mob_trait = TRAIT_SENSITIVESNOUT