mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] Better Tourette's (#11583)
Co-authored-by: MeepleMuncher <76881946+MeepleMuncher@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
0fee82d7f9
commit
2e63a86d17
@@ -161,7 +161,7 @@ var/SMALLSIZEBLOCK = 0
|
||||
// Needs to match the highest number above.
|
||||
#define DNA_UI_LENGTH 65
|
||||
|
||||
#define DNA_SE_LENGTH 90 // Traitgenes (Expanded from 49 to 84, there have been a considerable expansion of genes.
|
||||
#define DNA_SE_LENGTH 91 // Traitgenes (Expanded from 49 to 84, there have been a considerable expansion of genes. //CHOMPEdit: Upped to 91. NOTE: Ensure it's increased when there is a conflict here! Thanks!
|
||||
// This leaves room for future expansion. This can be arbitrarily raised without worry if genes start to get crowded.
|
||||
// Should have more than 10 empty genes after setup. - Willbird)
|
||||
|
||||
|
||||
36
code/datums/components/disabilities/coprolalia.dm
Normal file
36
code/datums/components/disabilities/coprolalia.dm
Normal file
@@ -0,0 +1,36 @@
|
||||
/datum/component/coprolalia_disability
|
||||
var/mob/living/owner
|
||||
|
||||
/datum/component/coprolalia_disability/Initialize()
|
||||
if (!ishuman(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
owner = parent
|
||||
RegisterSignal(owner, COMSIG_HANDLE_DISABILITIES, PROC_REF(process_component))
|
||||
|
||||
/datum/component/coprolalia_disability/proc/process_component()
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(QDELETED(parent))
|
||||
return
|
||||
if(isbelly(owner.loc))
|
||||
return
|
||||
if(owner.stat != CONSCIOUS)
|
||||
return
|
||||
if(owner.transforming)
|
||||
return
|
||||
if(owner.client && (owner.client.prefs.muted & MUTE_IC))
|
||||
return
|
||||
if((prob(1) && prob(2) && owner.paralysis <= 1))
|
||||
owner.Stun(10)
|
||||
owner.make_jittery(100)
|
||||
switch(rand(1, 3))
|
||||
if(1)
|
||||
owner.emote("twitch")
|
||||
if(2 to 3)
|
||||
owner.direct_say("[prob(50) ? ";" : ""][pick("SHIT", "PISS", "FUCK", "CUNT", "COCKSUCKER", "MOTHERFUCKER", "TITS")]")
|
||||
|
||||
/datum/component/coprolalia_disability/Destroy(force = FALSE)
|
||||
UnregisterSignal(owner, COMSIG_HANDLE_DISABILITIES)
|
||||
owner = null
|
||||
. = ..()
|
||||
@@ -1,17 +1,50 @@
|
||||
/datum/component/tourettes_disability
|
||||
var/mob/living/owner
|
||||
var/gutdeathpressure = 0
|
||||
var/list/motor_tics = list()
|
||||
|
||||
/datum/component/tourettes_disability/Initialize()
|
||||
if (!ishuman(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
owner = parent
|
||||
var/list/possible_tics = list(
|
||||
"nod",
|
||||
"shake",
|
||||
"shiver",
|
||||
"twitch",
|
||||
"salute",
|
||||
"blink",
|
||||
"blink_r",
|
||||
"wink",
|
||||
"shrug",
|
||||
"eyebrow",
|
||||
"afold",
|
||||
"hshrug",
|
||||
"ftap",
|
||||
"sniff",
|
||||
"cough",
|
||||
"snap",
|
||||
"whistle",
|
||||
"qwhistle",
|
||||
"wwhistle",
|
||||
"swhistle",
|
||||
"awoo",
|
||||
"prbt",
|
||||
"snort",
|
||||
"merp",
|
||||
"nya",
|
||||
"crack",
|
||||
"rshoulder"
|
||||
)
|
||||
for(var/i = 0, i < rand(4, 6), i++)
|
||||
motor_tics += pick(possible_tics)
|
||||
RegisterSignal(owner, COMSIG_HANDLE_DISABILITIES, PROC_REF(process_component))
|
||||
|
||||
/datum/component/tourettes_disability/proc/process_component()
|
||||
SIGNAL_HANDLER
|
||||
|
||||
var/mob/living/carbon/human/H = owner
|
||||
|
||||
if(QDELETED(parent))
|
||||
return
|
||||
if(isbelly(owner.loc))
|
||||
@@ -22,15 +55,9 @@
|
||||
return
|
||||
if(owner.client && (owner.client.prefs.muted & MUTE_IC))
|
||||
return
|
||||
if((prob(1) && prob(2) && owner.paralysis <= 1))
|
||||
owner.Stun(10)
|
||||
owner.make_jittery(100)
|
||||
switch(rand(1, 3))
|
||||
if(1)
|
||||
owner.emote("twitch")
|
||||
if(2 to 3)
|
||||
owner.direct_say("[prob(50) ? ";" : ""][pick("SHIT", "PISS", "FUCK", "CUNT", "COCKSUCKER", "MOTHERFUCKER", "TITS")]")
|
||||
|
||||
if(owner.paralysis <= 1 && (H.pulse == PULSE_NORM ? (prob(1)) : (prob(50))))
|
||||
owner.make_jittery(30 + rand(10, 30))
|
||||
owner.emote(pick(motor_tics))
|
||||
|
||||
/datum/component/tourettes_disability/Destroy(force = FALSE)
|
||||
UnregisterSignal(owner, COMSIG_HANDLE_DISABILITIES)
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
disabling = TRUE
|
||||
//VOREStation Note: TRAITGENETICS - tourettes Disabled on VS //CHOMPStation Edit - Enable
|
||||
/obj/item/dnainjector/set_trait/tourettes // tour
|
||||
trait_path = /datum/trait/negative/disability_tourettes
|
||||
trait_path = /datum/trait/neutral/disability_tourettes
|
||||
/obj/item/dnainjector/set_trait/tourettes/disable
|
||||
disabling = TRUE
|
||||
//VOREStation Note: TRAITGENETICS - tourettes Disabled on VS //CHOMPStation Edit - Enable
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
activation_message="You feel lightheaded."
|
||||
primitive_expression_messages=list("trips.")
|
||||
|
||||
/datum/trait/negative/disability_tourettes
|
||||
name = "Tourettes Syndrome"
|
||||
/datum/trait/negative/disability_coprolalia
|
||||
name = "Coprolalia"
|
||||
desc = "You have periodic motor seizures, and cannot stop yourself from yelling profanity."
|
||||
cost = -2
|
||||
custom_only = FALSE
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
activation_message="You twitch."
|
||||
primitive_expression_messages=list("twitches and chitters.")
|
||||
added_component_path = /datum/component/tourettes_disability
|
||||
added_component_path = /datum/component/coprolalia_disability
|
||||
|
||||
/* Replaced by /datum/trait/negative/blindness
|
||||
/datum/trait/negative/disability_blind
|
||||
|
||||
@@ -26,3 +26,16 @@
|
||||
activation_message="You feel nervous."
|
||||
primitive_expression_messages=list("nervously chitters.")
|
||||
added_component_path = /datum/component/nervousness_disability
|
||||
|
||||
/datum/trait/neutral/disability_tourettes
|
||||
name = "Tourettes Syndrome"
|
||||
desc = "You suffer from occasional motor and vocal tics, which are exacerbated during times of stress."
|
||||
cost = 0 // Originally was -2
|
||||
custom_only = FALSE
|
||||
|
||||
is_genetrait = TRUE //CHOMPEdit - Enable tourettes
|
||||
hidden = FALSE //CHOMPEdit - Enable tourettes
|
||||
|
||||
activation_message="You twitch."
|
||||
primitive_expression_messages=list("twitches and chitters.")
|
||||
added_component_path = /datum/component/tourettes_disability
|
||||
|
||||
@@ -638,6 +638,7 @@
|
||||
#include "code\datums\components\crafting\recipes\primitive.dm"
|
||||
#include "code\datums\components\crafting\recipes\survival.dm"
|
||||
#include "code\datums\components\crafting\recipes\weapons.dm"
|
||||
#include "code\datums\components\disabilities\coprolalia.dm"
|
||||
#include "code\datums\components\disabilities\coughing.dm"
|
||||
#include "code\datums\components\disabilities\epilepsy.dm"
|
||||
#include "code\datums\components\disabilities\gibbing.dm"
|
||||
|
||||
Reference in New Issue
Block a user