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"