Adds Sign Language Quirk (#711)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
This commit is contained in:
SkyratBot
2020-09-09 08:43:01 +02:00
committed by GitHub
co-authored by LemonInTheDark Azarak
parent 42116e5e36
commit 439207100a
14 changed files with 168 additions and 6 deletions
@@ -119,12 +119,16 @@
I = organs[I]
if(!I)
return -1
if(I.organ_flags & ORGAN_UNREMOVABLE)
to_chat(user, "<span class='warning'>[I] is too well connected to take out!</span>")
return -1
display_results(user, target, "<span class='notice'>You begin to extract [I] from [target]'s [parse_zone(target_zone)]...</span>",
"<span class='notice'>[user] begins to extract [I] from [target]'s [parse_zone(target_zone)].</span>",
"<span class='notice'>[user] begins to extract something from [target]'s [parse_zone(target_zone)].</span>")
else
return -1
/datum/surgery_step/manipulate_organs/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
if(current_type == "insert")
if(istype(tool, /obj/item/organ_storage))
+50
View File
@@ -318,3 +318,53 @@
/obj/item/organ/tongue/ethereal/Initialize(mapload)
. = ..()
languages_possible = languages_possible_ethereal
//Sign Language Tongue - yep, that's how you speak sign language.
/obj/item/organ/tongue/tied
name = "tied tongue"
desc = "If only one had a sword so we may finally untie this knot."
say_mod = "signs"
icon_state = "tonguetied"
modifies_speech = TRUE
organ_flags = ORGAN_UNREMOVABLE
/obj/item/organ/tongue/tied/Insert(mob/living/carbon/M)
. = ..()
M.verb_ask = "signs"
M.verb_exclaim = "signs"
M.verb_whisper = "subtly signs"
M.verb_sing = "rythmically signs"
M.verb_yell = "emphatically signs"
ADD_TRAIT(M, TRAIT_SIGN_LANG, "tongue")
REMOVE_TRAIT(M, TRAIT_MUTE, "tongue")
/obj/item/organ/tongue/tied/Remove(mob/living/carbon/M, special = 0)
..()
M.verb_ask = initial(verb_ask)
M.verb_exclaim = initial(verb_exclaim)
M.verb_whisper = initial(verb_whisper)
M.verb_sing = initial(verb_sing)
M.verb_yell = initial(verb_yell)
REMOVE_TRAIT(M, TRAIT_SIGN_LANG, "tongue") //People who are Ahealed get "cured" of their sign language-having ways. If I knew how to make the tied tongue persist through aheals, I'd do that.
//Thank you Jwapplephobia for helping me with the literal hellcode below
/obj/item/organ/tongue/tied/handle_speech(datum/source, list/speech_args)
var/new_message
var/message = speech_args[SPEECH_MESSAGE]
var/exclamation_found = findtext(message, "!")
var/question_found = findtext(message, "?")
var/mob/living/carbon/M = owner
new_message = message
if(exclamation_found)
new_message = replacetext(new_message, "!", "")
if(question_found)
new_message = replacetext(new_message, "?", "")
speech_args[SPEECH_MESSAGE] = new_message
if(exclamation_found && question_found)
M.visible_message("<span class='notice'>[M] lowers one of [M.p_their()] eyebrows, raising the other.</span>")
else if(exclamation_found)
M.visible_message("<span class='notice'>[M] raises [M.p_their()] eyebrows.</span>")
else if(question_found)
M.visible_message("<span class='notice'>[M] lowers [M.p_their()] eyebrows.</span>")