From df6cbe4b7a26b707b81fc1204aa5ba6152c640f4 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 12 Feb 2024 00:06:04 +0100 Subject: [PATCH] [MIRROR] Adds a Touchy quirk (#26462) * Adds a Touchy quirk (#81387) ## About The Pull Request Adds a new quirk for -2 points that requires you to be next to something to examine them, like blindness but without the timer or actual blindness itself. ## Why It's Good For The Game For the player using the quirk, it's 2 points for losing the ability to simply examine everything around you, making it harder to tell what someone has in their hands when they are charging at you, for example. You need to get up and close to things to see what they are. For people being examined, it's just another possible excuse to be near them, opening up plausible deniability for actions such as sleepy pens, changeling stings, etc. ## Changelog :cl: Atlasle, JohnFulpWillard add: Adds the Touchy quirk, you need to be next to something to examine it, for 2 extra quirk points. /:cl: * Adds a Touchy quirk * skyrat fix --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: jjpark-kb --- .../subsystem/processing/quirks.dm | 1 + code/datums/quirks/negative_quirks/unusual.dm | 22 +++++++++++++++++++ .../master_files/code/datums/traits/good.dm | 2 +- tgstation.dme | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 code/datums/quirks/negative_quirks/unusual.dm diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index e9cfe0e4652..ecd2f0fe2a2 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -5,6 +5,7 @@ // Shifted to glob so they are generated at world start instead of risking players doing preference stuff before the subsystem inits GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list( list(/datum/quirk/item_quirk/blindness, /datum/quirk/item_quirk/nearsighted), + list(/datum/quirk/item_quirk/blindness, /datum/quirk/touchy), list(/datum/quirk/jolly, /datum/quirk/depression, /datum/quirk/apathetic, /datum/quirk/hypersensitive), list(/datum/quirk/no_taste, /datum/quirk/vegetarian, /datum/quirk/deviant_tastes, /datum/quirk/gamer), list(/datum/quirk/pineapple_liker, /datum/quirk/pineapple_hater, /datum/quirk/gamer), diff --git a/code/datums/quirks/negative_quirks/unusual.dm b/code/datums/quirks/negative_quirks/unusual.dm new file mode 100644 index 00000000000..79cfac06c13 --- /dev/null +++ b/code/datums/quirks/negative_quirks/unusual.dm @@ -0,0 +1,22 @@ +/datum/quirk/touchy + name = "Touchy" + desc = "You are very touchy and have to physically be able to touch something to examine it." + icon = FA_ICON_HAND + value = -2 + gain_text = span_danger("You feel like you can't examine things from a distance.") + lose_text = span_notice("You feel like you can examine things from a distance.") + medical_record_text = "Patient is unable to tell objects apart from a distance." + hardcore_value = 4 + +/datum/quirk/touchy/add(client/client_source) + RegisterSignal(quirk_holder, COMSIG_CLICK_SHIFT, PROC_REF(examinate_check)) + +/datum/quirk/touchy/remove() + UnregisterSignal(quirk_holder, COMSIG_CLICK_SHIFT) + +///Checks if the mob is besides the thing being examined, if they aren't then we cancel their examinate. +/datum/quirk/touchy/proc/examinate_check(mob/examiner, atom/examined) + SIGNAL_HANDLER + + if(!examined.Adjacent(examiner)) + return COMSIG_MOB_CANCEL_CLICKON diff --git a/modular_skyrat/master_files/code/datums/traits/good.dm b/modular_skyrat/master_files/code/datums/traits/good.dm index aa71af7edeb..483e19630fd 100644 --- a/modular_skyrat/master_files/code/datums/traits/good.dm +++ b/modular_skyrat/master_files/code/datums/traits/good.dm @@ -27,7 +27,7 @@ gain_text = span_notice("Your palms hurt a bit from the sharpness of your nails.") lose_text = span_danger("You feel a distinct emptiness as your nails dull; good luck scratching that itch.") medical_record_text = "Patient ended up scratching through the examination table's cushions; recommended they look into clipping their claws." - icon = FA_ICON_HAND + icon = FA_ICON_LINES_LEANING /datum/quirk/sharpclaws/add(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder diff --git a/tgstation.dme b/tgstation.dme index c13bec530c4..a3ac49dcddf 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1766,6 +1766,7 @@ #include "code\datums\quirks\negative_quirks\softspoken.dm" #include "code\datums\quirks\negative_quirks\tin_man.dm" #include "code\datums\quirks\negative_quirks\unstable.dm" +#include "code\datums\quirks\negative_quirks\unusual.dm" #include "code\datums\quirks\neutral_quirks\bald.dm" #include "code\datums\quirks\neutral_quirks\colorist.dm" #include "code\datums\quirks\neutral_quirks\deviant_tastes.dm"