mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
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:
co-authored by
LemonInTheDark
Azarak
parent
42116e5e36
commit
439207100a
@@ -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))
|
||||
|
||||
@@ -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>")
|
||||
|
||||
Reference in New Issue
Block a user