-
Notifications
You must be signed in to change notification settings - Fork 146
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
Non-Destructive Universal Language #899
Non-Destructive Universal Language #899
Conversation
Reading this from a laptop, i suggest letting @Mnemotechnician a read as currently unable to do it correctly. |
I'm the one who brought this to light to OP, and it was worse than overwriting mute as it gave you the message that you cannot speak with no other mute friendly choices like sign, which made it a strict downgrade if you get it, happened to me in a game so this is a godsend |
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.
On a side note, I hate how this PR is straight up hardcoding this behavior in the trait system, but I guess it's acceptable for now since we do not have a proper system in place... Maybe in the future we can refactor the trait system to accept polymorphic actions instead, similarly to e.g. reagent effects, or damage behaviors, or interactions...
Also, this PR needs to update the method |
Co-authored-by: Mnemotechnican <[email protected]> Signed-off-by: VMSolidus <[email protected]>
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
8mb.video-Hk8-dYRuHvKC.mp4I have finished fixing this PR, and finished testing to verify that everything works correctly. |
I ALSO REQUIRE THIS PR IN ORDER TO CONTINUE WORKING ON PSIONICS. |
Co-authored-by: DEATHB4DEFEAT <[email protected]> Signed-off-by: VMSolidus <[email protected]>
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.
Do not remove the optional component parameters. Passing components around instead of fetching them anew every time they are needed is the preferred style in ss14. You can use Entity<SomeComp>
instead of EntityUid if you want prettier code.
No. |
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.
Could have been nicer then just "no"
But at least this works.
Yep, and I'm going to go immediately start work on Language Menu now. |
Description
UniversalLanguageSpeakerComponent has NUMEROUS issues, which previously were easy to ignore since it was a language only obtainable by Admins. But now that it's both a Psionic Power(And a trait that adds said power), the issues with it have been highlighted. Here's just a FEW
To fix that, I've made it follow MOSTLY the logic all the other languages use, so that it's less of a special snowflake case. Now if you have access to it, it will appear in your language list alongside other languages, rather than fully replacing the entire list. That way you can intentionally choose not to speak in a language understood by all.
Fuck it, I also added the ability for the TraitSystem to just call LanguageSystem and directly add arbitrarily any desired language, rather than needing a component to do so.
Changelog
🆑