From 0cab26cd2180598b3a7ae92eee1e928858f0422d Mon Sep 17 00:00:00 2001 From: Arturlang <24881678+Arturlang@users.noreply.github.com> Date: Tue, 19 Nov 2024 00:52:29 +0000 Subject: [PATCH] Prevents using sign language in frenzy (#2453) ## About The Pull Request In terms of flavour of frenzy, you're supposed to not quite be sane enough to do much of anything besides try to get blood, or maybe act monstrously, that's why you are mute and deaf, but you could bypass via sign language, so this fixes that. ## Why It's Good For The Game It's wierd when the frenzying vampire literally starving and frenzying can speak, even though they should be really animal-like at that point ## Proof Of Testing
Screenshots/Videos
## Changelog :cl: fix: You can no longer use sign language while frenzying /:cl: --- code/__DEFINES/~~bubber_defines/traits/declarations.dm | 1 + code/_globalvars/traits/_traits.dm | 1 + code/datums/components/sign_language.dm | 2 +- modular_zubbers/code/datums/components/sign_language.dm | 4 ++++ modular_zubbers/code/modules/status_effects/buffs/frenzy.dm | 2 +- tgstation.dme | 1 + 6 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 modular_zubbers/code/datums/components/sign_language.dm diff --git a/code/__DEFINES/~~bubber_defines/traits/declarations.dm b/code/__DEFINES/~~bubber_defines/traits/declarations.dm index 0f8e7df54c3..db94c6156a6 100644 --- a/code/__DEFINES/~~bubber_defines/traits/declarations.dm +++ b/code/__DEFINES/~~bubber_defines/traits/declarations.dm @@ -25,3 +25,4 @@ // Shows extended examine option when worn #define TRAIT_WORN_EXAMINE "worn_examine" +#define TRAIT_SIGN_LANGUAGE_BLOCKED "sign_language_blocked" diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 6cd4e326d04..de05b37c0bb 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -557,6 +557,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SPEECH_BOOSTER" = TRAIT_SPEECH_BOOSTER, "TRAIT_MINING_PARRYING" = TRAIT_MINING_PARRYING, "TRAIT_ILLUSORY_EFFECT" = TRAIT_ILLUSORY_EFFECT, + "TRAIT_SIGN_LANGUAGE_BLOCKED" = TRAIT_SIGN_LANGUAGE_BLOCKED ), /obj/item = list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, diff --git a/code/datums/components/sign_language.dm b/code/datums/components/sign_language.dm index 054a4de4af0..34b8f041c03 100644 --- a/code/datums/components/sign_language.dm +++ b/code/datums/components/sign_language.dm @@ -332,7 +332,7 @@ #undef SIGN_HANDS_FULL #undef SIGN_ARMLESS #undef SIGN_ARMS_DISABLED -#undef SIGN_TRAIT_BLOCKED +// #undef SIGN_TRAIT_BLOCKED BUBBER CHANGE now used out of the file #undef SIGN_HANDS_COMPLETELY_RESTRAINED #undef SIGN_SLOWLY_FROM_CUFFS #undef TONE_NEUTRAL diff --git a/modular_zubbers/code/datums/components/sign_language.dm b/modular_zubbers/code/datums/components/sign_language.dm new file mode 100644 index 00000000000..9c5fa03ccba --- /dev/null +++ b/modular_zubbers/code/datums/components/sign_language.dm @@ -0,0 +1,4 @@ +/datum/component/sign_language/check_signables_state() + . = ..() + if(HAS_TRAIT(parent, TRAIT_SIGN_LANGUAGE_BLOCKED)) // BUBBER CHANGE add a trait to prevent sign language usage + return SIGN_TRAIT_BLOCKED diff --git a/modular_zubbers/code/modules/status_effects/buffs/frenzy.dm b/modular_zubbers/code/modules/status_effects/buffs/frenzy.dm index 12d9ea9b34c..12626b4da07 100644 --- a/modular_zubbers/code/modules/status_effects/buffs/frenzy.dm +++ b/modular_zubbers/code/modules/status_effects/buffs/frenzy.dm @@ -22,7 +22,7 @@ var/was_tooluser = FALSE /// The stored Bloodsucker antag datum var/datum/antagonist/bloodsucker/bloodsuckerdatum - var/trait_list = list(TRAIT_MUTE, TRAIT_DEAF, TRAIT_STRONG_GRABBER) + var/trait_list = list(TRAIT_MUTE, TRAIT_SIGN_LANGUAGE_BLOCKED, TRAIT_DEAF, TRAIT_STRONG_GRABBER) /datum/status_effect/frenzy/get_examine_text() return span_notice("They seem... inhumane, and feral!") diff --git a/tgstation.dme b/tgstation.dme index 36396a1c0d5..707fe693f5a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8676,6 +8676,7 @@ #include "modular_zubbers\code\datums\bubber_quirks\hydrophilic.dm" #include "modular_zubbers\code\datums\bubber_quirks\neutral.dm" #include "modular_zubbers\code\datums\bubber_quirks\petowner.dm" +#include "modular_zubbers\code\datums\components\sign_language.dm" #include "modular_zubbers\code\datums\components\squeak.dm" #include "modular_zubbers\code\datums\components\crafting\furniture.dm" #include "modular_zubbers\code\datums\components\crafting\tailoring.dm"