Skip to content
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

Closed
wants to merge 4 commits into from

Conversation

DrunkDwarf
Copy link
Contributor

Adds a new secondary language, Sign Language, available to all, to provide an additional communication option for Deaf/Mute characters to converse with others who know Sign Language.

This also provides the AI and Borgs the ability to understand these languages by default, and adds the language to the pAI's Universal Translator software package.

I've put in some checks so that characters cannot sign if they are restrained/cuffed, or if their hands are missing or broken.

There was already some elements of the Sign Language already supported in the code, it just needed an extra push.

🆑
rscadd: Adds Sign Language as an secondary language option.
/:cl:

@Necaladun
Copy link
Contributor

Because this will work when deafened by flashbangs, etc, it seems pretty much superior to all other languages. It would also work in vacuum, and be somewhat strange with radio, how the AI would see it, etc.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 24, 2017

@Necaladun

There could perhaps be an additional check for effects that may disorient or daze, to offset any apparent advantages with flashbangs.

It could be prevented from being broadcasted over the radio, think I missed a bit there, I can fix that.

The AI does have cameras, so as long as it knows sign language, it wouldn't be unreasonable for it to understand the signs that it sees visually.

else
message = "<B>[src]</B> [verb]."
message = "<span class='game say'><span class='name'>[src]</span> [verb] with their hands, but you don't understand.</span>"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Span class 'name'?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.bold, .name, .prefix, .ooc, .looc, .adminooc, .adminlooc, .admin, .gfartooc, .gfartlooc, .gfartadmin, .mentorooc, .mentorlooc, .medal {font-weight: bold;}

the .name class just makes it bold, and is consistent with the way the output of the hear_say proc is formatted.

speech_verb = "signs"
signlang_verb = list("signs", "gestures")
colour = "say_quote"
key = "~"
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

return

for(var/mob/M in get_mobs_in_view(7, src))
if(M.see_invisible < invisibility)
Copy link
Contributor

@Kyep Kyep Oct 24, 2017

Choose a reason for hiding this comment

The 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?

Copy link
Contributor

Choose a reason for hiding this comment

The 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

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

@@ -632,6 +632,7 @@
user.add_language("Bubblish")
user.add_language("Orluum")
user.add_language("Clownish")
user.add_language("Sign Language")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this allow borgs to speak this language?

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

@@ -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
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood, I'll get that sorted :)

@Ralta
Copy link
Contributor

Ralta commented Oct 24, 2017

I REALLY like this idea.

I do think it needs to be nerfed slightly as suggested by Neca so that it can't be used while stunned etc (or maybe the user gets a message indicating they can't coordinate their movements to sign properly). I also see no reason why the AI and borgs couldn't read it, but just cannot speak it, perhaps?

Also, I feel like the Mime should not be able to sign without breaking their vow. I imagine that wouldn't require any additional handling code-wise, since it's still a language, but just thought I'd mention it.

@Tayyyyyyy
Copy link
Contributor

Tayyyyyyy commented Oct 24, 2017

Most sign language users are either hard of hearing or mute. Sign language could have mechanical benefits over spoken speech if you made it so that you had to pick a hearing/speaking disability to use it. Otherwise, if it's even slightly useful to take it rather than to not take it, then powergamers will always take it.

Edit: @DrunkDwarf is right that friends and family would obviously also be sign language users, but I guess that's not something you could implement. I suppose Nanotrasen could have a training program that teaches everyone sign language?!

@Doukhan
Copy link

Doukhan commented Oct 24, 2017

How about having it not be fully translated at certain distances? say from 3 tiles away you get random *s or words in the wrong order, that sort of thing. Shouldn't be useable in hardsuits for clear reasons also.
Then it'd be nice and practical but not objectively superior, also obviously needs a check to auto-cluwne any mimes who use it.

@Regen1
Copy link
Contributor

Regen1 commented Oct 24, 2017

Make it a 3 tile range rather, or less.

@taukausanake
Copy link
Contributor

you had to pick a hearing/speaking disability to use it

Then who will understand you besides other deaf/mutes?

Make it a 3 tile range

I think 2 almost, like whisper but you can hear it fully. Then again you shouldn't nuke it into the ground. 3 seems fine I think

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 24, 2017

@Tayyyyyyy On the contrary, most sign language users are the friends and family of the deaf/hard of hearing/mute, that's how they communicate.

@DrunkDwarf
Copy link
Contributor Author

@Doukhan I'm in agreement about the 3 tile range being suggested by folk, I'll change that.

I'm not sure I see the reasoning for restricting the use while in a hardsuit though? You can still perform complex hand manipulation in a hardsuit based on how Engineers can perform complex tasks in them without restriction, so hand signs should be trivial. I can definitely see a reason to restrict use while in a Mech though, I'll look into that.

@FalseIncarnate
Copy link
Contributor

FalseIncarnate commented Oct 24, 2017

This should totally benefit from the CLUMSY disability (that clowns get) in that it randomly replaces words in the message with a word from a random list.

"Officer, I'd like to regret an apple by the mime in Mr. Changs by science with a blue tomfoolery."

@Vivalas
Copy link
Contributor

Vivalas commented Oct 25, 2017

Just make it so that you can't use it while you have objects in your hand, problem solved.

…radio, won't show if stunned, in a mech, or if you have anything in your hands. Range is now 3 tiles.
@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 25, 2017

I've made a bunch of changes based on the excellent feedback, so now it should work a lot more like you'd expect it to.

You need both hands free, and can only be spoken by humanoids with two working hands, so can't be spoken by Borgs. Also you can't sign while in a mech.

Won't broadcast over Radios, and can only be "read" within 3 tiles of the signer.

Also won't work if restrained/cuffed/straight-jacketed, or if you have an effect such as stunned that would prevent you from acting fully.

Not sure if there is anything else i'm not thinking of.

@marlyn-x86 marlyn-x86 added the Feature This PR is a new addition to the game label Oct 25, 2017
@Vivalas
Copy link
Contributor

Vivalas commented Oct 26, 2017

I like all these changes, but the range limit seems a bit weird to me. I feel like you could read sign language from across a room, I get it's for balance but 3 tiles seems a bit too restrictive.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 26, 2017

@Vivalas Indeed, the only range limitation to sign language would be based on how good your eyesight is.

3 tiles was a compromise I was happy to make to ease any balance concerns, it's still functional as a means of communication for those with limited options, and that's all that matters to me. There are also factors that can't easily be taken into account, such as relative facing, which would probably start getting too complicated to make sure people are facing each other before they see the signing, 3 tiles could be viewed as a compromise for that.

@taukausanake
Copy link
Contributor

Idea so as the 3 tiles thing isn't so much a nerf: make it so that if you are in viewing range but not within 3 tiles that you can see them signing but not make out any words. Kind of like whispers right outside hearing range. That way you can know they are communicating but don't know what.
Would that be fine?

@Dinarzad
Copy link

Dinarzad commented Oct 26, 2017

I'd personally prefer 4 tiles, if only because nice round, even numbers. And it's a little more viable to address a group of people within 4 tiles then 3.
Bbbbbuuuuuuuuuuttttt that's me, and it's not my call. And 3 tile wouldn't be horrible, 4 would just be a preference.

All the other 'restrictions' seem fine to me, and make sense.

@Jovaniph
Copy link
Contributor

Jovaniph commented Oct 26, 2017

Assuming each tile equals to 1 meter. 4 meters equal 12 feet. That is a pretty short distance, but whatever, let's just nerf something that already cannot be communicated through comms. insert sarcasm

I rather just PDA and use the ME command.

@Tayyyyyyy
Copy link
Contributor

How about this. You can add sign language as a language, but you'll only have a basic understanding of it and cannot speak in it unless you have deaf or mute disabilities. That way sign language doesn't have to be super weak because of Mary Sue powergamers.

@Necaladun
Copy link
Contributor

Discussions about this have raised some serious issues that we're currently unable to come up with solutions to.

First of all, codewise, this will be a nightmare to maintain compared to every other language, being so unique. Considering this with anything to do with cuffing, hand damage, silencing/muting, visual range, vacuum, and things we haven't considered, maintainability will be a serious problem. The level of snowflaking required in this code just seems excessive for a secondary language, none of which so far have any such issues.

Secondly, balance and gameplaywise, this seems to be the powergaming language of choice. Even with nerfs, its unique qualities make it superior to other languages, doing something none of the others can. Unless it is nerfed so heavily to be practically useless, it's the clear choice for a useful language, leaving the others to be flavor.

With the above in mind - the more people who select this, the more powerful it becomes, furthering the problems of it as "best choice" language to take. If very few people take it, then the issues with a highly snowflaked piece of code become more of a problem, which become a nightmare to maintain for something that few people are using.

Unless a solution can be found to these, we'll be closing this one, as we're not seeing a way it can conceivably get around these core issues.

@DrunkDwarf
Copy link
Contributor Author

Very disappointed, but alright, I guess the "power-gaming" concerns were insurmountable from the start.

@Tayyyyyyy
Copy link
Contributor

Powergamers are why we can't have nice things :(

On the snowflake part though, it's honestly not that bad, and some of the code was already there. All the checks are on the say_signlang function, so it's not like there are sign language checks all over the code.

If this can't be a secondary language for everyone, just make it only a language for characters with deaf or mute. Then it can add flavor to the world without affecting balance.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 27, 2017

Yeah, i didn't really get the snowflaked code part, as there's not a lot to it like you say, and I tried to use existing procs that check a range of factors (for example restrained() ), if you have working hands and can act, you should be able to sign. I also don't really see how game-breaking this would end up being.

But I get the impression that there's no point arguing about it, and that the decision was likely made long ago, so I'm just going to leave it and move on.

@taukausanake
Copy link
Contributor

taukausanake commented Oct 27, 2017

Snowflake seems to be an excuse thrown around a bit when something unique comes out, or maybe I'm just dumb.

What @Tayyyyyyy said doesn't sit well with me, restricting to mutes and deafs, but it makes sense if everyone else without those disabilities can have basic understanding of it. As someone who despises ASL though (petty reason, don't ask) I'd rather not know ANYTHING they are saying. Perhaps it can work only as a full language if you have the disability and less without, but then you'd have to decide which words translate through. Can't make them random.

Powergamers are why we can't have nice things

Literally this 😞

@KasparoVy
Copy link
Contributor

KasparoVy commented Oct 28, 2017

Powergamers are why we can't have nice things

☠️

It only gets worse

@Vivalas
Copy link
Contributor

Vivalas commented Oct 28, 2017

@Necaladun

I have to disagree with many points in your post, and some of it seems uninformed.

First of all, codewise, this will be a nightmare to maintain compared to every other language, being so unique. Considering this with anything to do with cuffing, hand damage, silencing/muting, visual range, vacuum, and things we haven't considered, maintainability will be a serious problem. The level of snowflaking required in this code just seems excessive for a secondary language, none of which so far have any such issues.

I don't think maintaining this is hard at all. I haven't looked at the code, but codewise the smart thing to do is to create one check for anything that limits sign language, and only include that check with the actual sign language procs. Cuffing, silencing / muting, and blindness are all their own variables that could be included in this check. Hand damage isn't a factor, only lack of hands, which is also a variable. Visual range is always going to be 3 tiles, and that is another simple check, and vacuum wouldn't affect sign language. There really isn't anything that would make this difficult to maintain in the long run.

Secondly, balance and gameplaywise, this seems to be the powergaming language of choice. Even with nerfs, its unique qualities make it superior to other languages, doing something none of the others can. Unless it is nerfed so heavily to be practically useless, it's the clear choice for a useful language, leaving the others to be flavor.

This is very subjective. If I were to powergame, I don't think a language that can't be used over comms, can't be used while holding things in your hands, and has a 3 tile range limit would be useful at all. I would save an obscure language to be able to communicate effectively with my meta-buddies with. The disadvantages far outweigh the one advantage the language has, which is you can communicate while deaf or mute.

With the above in mind - the more people who select this, the more powerful it becomes, furthering the problems of it as "best choice" language to take. If very few people take it, then the issues with a highly snowflaked piece of code become more of a problem, which become a nightmare to maintain for something that few people are using.

This comment ties in to your above statements I outlined, and thus is false due to the above outlined reasons.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 28, 2017

@Vivalas With the code i've put in the PR, I didn't really need to do any checks for "seeing" the sign language, as a lot of that was already present in the show_message() proc, which already accounted for the difference between things heard and things seen, currently used for seeing physical actions people are doing, like putting stuff in and out of their backpack for example.

The only checks I had to put in was for doing the actual signing, which I included inside the already existing say_signlang() proc, but you've made a very good point.

A lot of the code i put in could probably be simplified into checking just one proc. I had a look at the code, and there is actually already a /mob/living/carbon/can_use_hands() proc I never noticed. I should probably just be both checking that and then checking if the hands are empty, and leave it at that. That way it's all handled off the same proc that can be maintained and used throughout the codebase.

Other things I put a check in, for example being able to sign in a mech, should probably be taken out of the say_signlang() proc, and checked/enforced somewhere else as a seperate PR. I'd probably need to test how that works because i'm not sure, can people see actions you take inside a mech from outside in other cases?

@TullyBurnalot
Copy link
Contributor

@Vivalas @DrunkDwarf

In order to respond to concerns:

-snip about maintainability-

The problem here is that we'll have to account for this in all future changes to languages, muteness, deafness or associated mechanics and, unlike all other languages, this one will require specific changes just for it that will not be in line with any other language. It's not a question about whether or not the code is simple; the issue with maintainability and snowflaking is that this would require a lot of very unique things just for it peppered throughout several files in the codebase, which would have to be tracked every time an associated system is touched.

-snip about disadvantages-

The sign language would bypass any and all muting mechanics, plus any situation where sound would normally not work, such as being in space. This alone is a gigantic boon to it.

-snip about the proc existing-

The proc being there already is an artifact that no one ever noticed until now; it does not mean it was intended to be used as it was. Plus, the very existence of this proc means the language bypasses other normal processes that other languages go through, which just adds to the maintainability problem mentioned above.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 29, 2017

@TullyBurnalot

The problem here is that we'll have to account for this in all future changes to languages, muteness, deafness or associated mechanics and, unlike all other languages, this one will require specific changes just for it that will not be in line with any other language. It's not a question about whether or not the code is simple; the issue with maintainability and snowflaking is that this would require a lot of very unique things just for it peppered throughout several files in the codebase, which would have to be tracked every time an associated system is touched.

It's a little bit of an exaggeration to say there would be several files needed to maintain sign language, realistically it'd just be two files, the say and hear_say files, but I get what you're saying.

Surely the problem of snowflaked code is reduced by making use of shared already existing procs that handle boolean states of whatever criteria is needed to check against? That's one of the things I'm proposing i'd change in my PR to resolve this concern.

That way any changes to how use of hands work in the future, as long as those existing procs still return true/false when they need to, there is nothing to maintain specifically for Sign language? Any changes specifically to how language works, should rightly take into consideration all forms of language, including sign language. Sign language only really needs to check against the status of the mobs hands, as other things like blindness/muteness/deafness is already handled by existing code just fine for sign languages needs, and any changes to those would already apply to sign language already without any special concerns.

All new features are going to need some amount of unique code, so I don't see why that is an argument against if the feature itself is wanted. Provided I can minimise the amount of unique code.

The sign language would bypass any and all muting mechanics, plus any situation where sound would normally not work, such as being in space. This alone is a gigantic boon to it.

There are still pretty easy ways to mute the person signing, such as cuffing/cable-ties, pretty much any time you'd want to make sure a person can't talk, you're probably already going to be cuffing them as well anyway. I'm not personally seeing any circumstances where using sign language in space is a huge boon, being that most people would have radios or PDA's to communicate in space anyway?

@Ralta
Copy link
Contributor

Ralta commented Oct 30, 2017

I'm really pleased with all the changes you've made, @DrunkDwarf - looks really good! It's a shame that there are so many potential issues being pointed out, but I do agree that these don't need to be so big that they prevent merging.

The code, for example, seems pretty straightforward; not sure what else could be done to make this simpler, since everything you've mentioned should cover future eventualities. And even if it doesn't, how often do things get merged only to find that they affect something unintended? This should be treated the same as any other PR, in my opinion. And since the feedback is very positive, it seems a real shame for this to not get merged.

As for the antag / powergamer thing, couple things to note:

  1. Sign language isn't much stronger than a whisper for antagonists (technically it's weaker, since it can be understood from further away). Most antags can communicate silently or on their own channel anyway, and those that can't can use whispers and such. What real benefit does sign language have? I reckon it'd look just as suspicious as two people whispering to each other.

  2. Usage in space sounds awesome from the perspective of engineers working on a project, miners on the asteroid or vox being...vox...in space. If you're in space when comms go down, communicating can be a pain, and sign language would certainly help (but don't forget that plenty of people won't have it enabled, and therefore won't understand it anyway!).

  3. Having anything in-hand or being cuffed prevents signing; how much communication is this really going to facilitate for powergamers?

I hope this doesn't get shut down before real discussion can be had and suggestions taken. @DrunkDwarf has clearly put a lot of thought (and work) into this, and has been taking suggestions to improve the mechanics and then implementing them. I doubt I'd use sign language personally, but I do think this would add a nice bit of flavour to the server.

@SamHPurp
Copy link
Contributor

I can't see a situation where this could remain balanced with the other alternative languages due to its ability to be used in nearly every situation. Space, flashbanged, etc.

@Dinarzad
Copy link

Dinarzad commented Oct 31, 2017

The sign language would bypass any and all muting mechanics, plus any situation where sound would normally not work, such as being in space. This alone is a gigantic boon to it.

In a vacuum (Hurr hurr) almost any boon can sound powerful. Yes, you can talk through "Deafened" effects like space or flashbangs. Within a three tile radius. And only if your hands are free. and only if you aren't stunned, or cuffed or aren't missing hands. (Which means Flashbangs still do mute you, because it stuns you and puts you on your ass, so no signing.)
That right there, guts power-game usefulness. Take an example of a nuke ops squad, for the sake of argument we'll say they all have sign language, going full 'Spec Ops' mode. They silently talk to each other in space via sign language in total privacy.
Something they can already do with syndicate radio.
And while doing this, they can't hold anything, no weapons, no nothing. They can be jumped with total ease.
Changelings get their own hivemind, as do Shadowlings.

Or Traitors, since Tator-tots are the single most common antag. Traitors who opt not to take the syndicate headset key, still have to be within 3-4 tiles of the partner they want to silently talk to, and UTTERLY drop their guard to do it. At any point they can be double-crossed, or sec could barge in and they're fucked.
And at any point anyone else with sign language could 'eavesdrop' if they're trying this in public, so now we're in a position where two traitors are side by side to each other in space, completely giving themselves away, and totally unable to fight back, just to talk silently, which they could already do if they were simply using PDA's or just talking normally while next to each other, which bypasses the 'space' issue.

So yes, looking at it on it's own ignoring "Deaf" effects is incredibly strong.
But looking at JUST that effect and not the total package is NOT representative of the final product.
The REAL concern is more on the fact of "Why not take sing language just in case you get deafened as normal crew", really. Explosions deafening someone becomes more trivial. But even then, PDA's exist, and EVERYONE has one. Unless the PDA servers are obliterated, and paper is burned up, you can always bypass 'deafened' effects as it is. Even mimes get around it all, pretty routinely.

@Jovaniph
Copy link
Contributor

Jovaniph commented Oct 31, 2017

PDA is no different than sign language. If i'm cuffed, I can't use my PDA. With sign language, it's essentially the same thing. The only difference is PDA messages can be tracked while Sign Language must be done locally. Also, if the PDA servers are dead, there's still a built in notepad. You can write on the notepad and smack your PDA on a camera for the AI to read (same with paper).

PDA vs Sign Language... PDA is more powergamie.

Again I still don't see the idea that sign language being limited to tiles apart. I would rather PDA or use the ME command.

The only other solution is have sign language either on a rotation where only a limited number of people can have it IF they are not mute/deaf....OR just fucking whitelist it.

edit: have it whitelist so only a trusted few can have it and not abuse it for antag reasons. Or make it so if you opt as a traitor, sign language is not an option for you to have. (even if you don't get traitor)

@Doukhan
Copy link

Doukhan commented Oct 31, 2017

IMO it's a decent enough addition not to need balancing, but if it being the superior choice is really that much of a worry how about throwing in a few seconds worth of delay between sentences?
"George melons is waving/shaping his hands..." then 3 seconds later (about as long as it takes to put up a table) they actually send out the message, makes sense as with IRL sign language you often have to see the whole thing to understand it properly.

That way it's not 100% better but still fun.

@DrunkDwarf
Copy link
Contributor Author

DrunkDwarf commented Oct 31, 2017

@Doukhan I like this idea, though I'm not sure this will ease the snowflaked-code concern.

It should be pretty straightforward to implement with do_after(), i'll test that. Should also get a nice little progress bar at the same time.

I'll probably increase the range back up to 7 if the delay is put in, i'm starting to believe that all the current restrictions should make it balanced enough, range 7 is the range all other visual messages are seen from, so it is consistent. I'll probably have it make use of the existing visible_message() proc so it uses the same method that other "seen" messages use.

I've been hesitant to add anything more to the code for this PR so far, because I still get the feeling it's just not wanted by the staff, and I worry that it doesn't matter how much the code is improved, or the mechanics "balanced", because there's just a bias against it being in the game in any form.

Can I get an official response on this? Is it worth my time trying to fix this to a point people are happy, or is this just never going to happen?

@Necaladun
Copy link
Contributor

A 3 second delay seems enough to me to make this no longer particularly useful in the case of muting etc, and no longer have the balance concerns.

The actually snowflakeyness of the code would be the only issue I can see there which that maints would be better suited to comment on.

@DrunkDwarf
Copy link
Contributor Author

@Necaladun Very much appreciate the response, thank you :) I can entirely accept that.

I can definitely improve the code to be a little less snowflakey, there's a couple of procs that lots of other parts of the code uses, that I could be using too instead of what I have, but I readily admit that sign language is always going to need to be treated a little uniquely from other languages in the code :/ can't really do much about that :/

@HugoLuman
Copy link
Contributor

This sounds awesome. I've had deaf coworkers before IRL, I can see some real RP potential with this.

@Dinarzad
Copy link

Dinarzad commented Nov 1, 2017

A 3 second delay seems enough to me to make this no longer particularly useful in the case of muting etc, and no longer have the balance concerns.

As someone that'd like to make use of sign language with a mute character, I can completely live with the delay. It is, after all, still opting to play with a disability, and makes sense enough to me at least that it doesn't rustle jimmies.

I understand where the concern is over power-gaming from staff, I just REALLY think this could be an awesome RP addition if we can find a way to make it work for all parties involved. Anything that promotes characters to make use of disabilities to provide more unique and interesting gameplay is a good thing in my opinion and promotes character diversity and interesting roleplay.

@KasparoVy
Copy link
Contributor

KasparoVy commented Nov 3, 2017

Successfully disarming (not just laying them out) someone to stop them signing as well since you're swatting their hands?

@DrunkDwarf
Copy link
Contributor Author

@KasparoVy That would increase the amount of snowflakey-code that would need to be maintained, to interrupt the progress bar would mean adding an extra check to the do_after() code, to either have disarm interrupt all actions, or add a line to specifically only interrupt the do_after() if the person being disarmed is signing, which would be snowflakey.

…o see if the user can sign, and made it more consistent with how the Grey language works. Now takes 3 seconds to complete the signed message, which can be interrupted the same as other similar actions.
@KasparoVy
Copy link
Contributor

Thanks for the response, figured I'd nothing to lose by pitching the idea

@Vivalas
Copy link
Contributor

Vivalas commented Nov 4, 2017

I would get behind a 3 second delay although I definitely feel it is already balanced enough.

I can't comment on snowflakiness without reviewing the PR but there are definitely no issues with maintainability that come to mind with this PR. It would be appropriate to defer such judgements to actual maintainers.

@Ralta
Copy link
Contributor

Ralta commented Nov 7, 2017

I rather wish we could just try it out for a week or something and get feedback, much like we did with medbay. I doubt there'll be much negative response, but at least we can try it live and see how it works.

@KasparoVy
Copy link
Contributor

KasparoVy commented Nov 26, 2017

test merge
actual prod merge in disguise

I'm not protesting in any way, whatever works
I just want to be able to use this 😉

@DarkPyrolord
Copy link
Contributor

This is going to be a no sadly, it bypasses plenty of things that make people mute or silences them, it also makes for a language that is superior to all others because of how and where it can be used.

@KasparoVy
Copy link
Contributor

Smooth

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature This PR is a new addition to the game
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet