Files
Bubberstation/code/datums/quirks/negative_quirks/bad_touch.dm
SkyratBot c83ac65e63 [MIRROR] Breaks up the three quirk code files into individual quirks [MDB IGNORE] (#23781)
* Breaks up the three quirk code files into individual quirks

* Removals + skyrat edits

* Delete positive_quirks.dm

* Update tgstation.dme

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-18 17:19:28 -04:00

32 lines
1.3 KiB
Plaintext

/datum/quirk/bad_touch
name = "Bad Touch"
desc = "You don't like hugs. You'd really prefer if people just left you alone."
icon = "tg-bad-touch"
mob_trait = TRAIT_BADTOUCH
value = -1
gain_text = span_danger("You just want people to leave you alone.")
lose_text = span_notice("You could use a big hug.")
medical_record_text = "Patient has disdain for being touched. Potentially has undiagnosed haphephobia."
quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED
hardcore_value = 1
mail_goodies = list(/obj/item/reagent_containers/spray/pepper) // show me on the doll where the bad man touched you
/datum/quirk/bad_touch/add(client/client_source)
RegisterSignals(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT), PROC_REF(uncomfortable_touch))
/datum/quirk/bad_touch/remove()
UnregisterSignal(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT))
/// Causes a negative moodlet to our quirk holder on signal
/datum/quirk/bad_touch/proc/uncomfortable_touch(datum/source)
SIGNAL_HANDLER
if(quirk_holder.stat == DEAD)
return
new /obj/effect/temp_visual/annoyed(quirk_holder.loc)
if(quirk_holder.mob_mood.sanity <= SANITY_NEUTRAL)
quirk_holder.add_mood_event("bad_touch", /datum/mood_event/very_bad_touch)
else
quirk_holder.add_mood_event("bad_touch", /datum/mood_event/bad_touch)