-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sign language as a secondary language option for all. #8299
Changes from 2 commits
023fe58
3a479ef
5df35b9
adce4a4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -406,6 +406,15 @@ | |
key = "3" | ||
syllables = list ("gra","ba","ba","breh","bra","rah","dur","ra","ro","gro","go","ber","bar","geh","heh", "gra") | ||
|
||
/datum/language/sign | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs to be set so that it does not work on radio. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Understood, I'll get that sorted :) |
||
name = "Sign Language" | ||
desc = "A non-verbal form of communication that utilizes hand gestures to form words and meanings." | ||
speech_verb = "signs" | ||
signlang_verb = list("signs", "gestures") | ||
colour = "say_quote" | ||
key = "~" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have tried to use ~ as a key before, and if memory serves, it does not work. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, I was sure that it worked when I tested it on a local server instance, but I'm happy to change this to a different character. Any recommendations? all the good characters seem to be in use already :/ I did originally try to use :si , as other languages seemed to have two character codes, but it just outputted to the security channel. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Frankly, almost all of the keys are taken, and double-letter keys don't work. You might be better off making it a 'spell' (ie: giving it its own HUD icon). Not sure if this will be popular, but it is one method to get around the key requirement. Alternatively, you could find an existing key that is never used, remove it, and re-purpose its key for this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Further testing on my local server seems to suggest ~ is working, at least for me. Even if it doesn't, you can still switch to using sign using the language button on the hud. If i have the time, I might look into seeing if I can fix double-letter keys not working and submit that as a separate PR, that would open up a lot more combinations for future use. |
||
flags = SIGNLANG | NO_STUTTER | ||
|
||
/datum/language/clown | ||
name = "Clownish" | ||
desc = "The language of clown planet. Mother tongue of clowns throughout the Galaxy." | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -289,8 +289,24 @@ proc/get_radio_key_from_channel(var/channel) | |
return 1 | ||
|
||
/mob/living/proc/say_signlang(var/message, var/verb="gestures", var/datum/language/language) | ||
for(var/mob/O in viewers(src, null)) | ||
O.hear_signlang(message, verb, language, src) | ||
if(restrained()) | ||
to_chat(src, "<span class='danger'>You're restrained and cannot sign!</span>") | ||
return | ||
|
||
if(ishuman(src)) | ||
var/mob/living/carbon/human/C = src | ||
var/obj/item/organ/external/rhand = C.bodyparts_by_name["r_hand"] | ||
var/obj/item/organ/external/lhand = C.bodyparts_by_name["l_hand"] | ||
if((!rhand || !rhand.is_usable() || rhand.is_broken()) || (!lhand || !lhand.is_usable() || lhand.is_broken())) | ||
to_chat(src, "<span class='warning'>You try to use your hand to sign, but you can't!</span>") | ||
return | ||
|
||
for(var/mob/M in get_mobs_in_view(7, src)) | ||
if(M.see_invisible < invisibility) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Under what circumstances would an invisible mob be trying to communicate using sign language? Seems to be a little pointless. Ghosts cannot use this language, can they? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we still have that cloaking device? The one that makes you completely invisible? I know SS13 used to have something like that. I abused the shit out of it along with shield. Also any mob (read: antag) who can phase out of reality on command There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I included that check to be consistent with how the visible_message proc worked, as that was the recommended way to output sight-based messages, but I didn't end up using that proc because it doesn't do any language checks because it's usually outputting descriptions of actions seen, and opted to use the already existing "say_signlang" proc. The intention would be that if any effects in-game currently or added in the future, make use of the invisbility flags, this will cover it. Might as well use those flags if they are present, and relevant. |
||
continue | ||
M.hear_signlang(message, verb, language, src) | ||
|
||
log_say("[name]/[key] : [message]") | ||
return 1 | ||
|
||
/obj/effect/speech_bubble | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -632,6 +632,7 @@ | |
user.add_language("Bubblish") | ||
user.add_language("Orluum") | ||
user.add_language("Clownish") | ||
user.add_language("Sign Language") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this allow borgs to speak this language? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll double check that, but my intention was for it not to. I did a check to see if the person signing has both hand "organs", but looking at it, it's only checking for ishuman() for that. I'll fix that and test further. I'm thinking I should probably put a check in for both hands being empty also while i'm at it. |
||
else | ||
user.remove_language("Sinta'unathi") | ||
user.remove_language("Siik'tajr") | ||
|
@@ -643,6 +644,7 @@ | |
user.remove_language("Bubblish") | ||
user.remove_language("Orluum") | ||
user.remove_language("Clownish") | ||
user.remove_language("Sign Language") | ||
|
||
/datum/pai_software/translator/is_active(mob/living/silicon/pai/user) | ||
return user.translator_on | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Span class 'name'?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Paradise/goon/browserassets/css/browserOutput.css
Line 215 in a4d536b
the .name class just makes it bold, and is consistent with the way the output of the hear_say proc is formatted.