-
Notifications
You must be signed in to change notification settings - Fork 340
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
Add the bionic syrinx implant #339
Conversation
Remaining work:
|
Is there anything stopping a non harpy from using this implant? |
Not currently, purchase is limited to harpies, but usage is not. I can add a species check before the component is applied if we want that. |
It probably be best if the idea is to enhance/modify the Harpy's ability to mimic voice and not give that ability to any random specie. |
Which is what this implant should be doing |
Should probably add a check that makes it not work for anyone not a harpy. I'd have suggested preventing implanting in a non harpy, and while thats better, it would involve touching wizden code |
Content.Server/DeltaV/Implants/SubdermalBionicSyrinxImplantSystem.cs
Outdated
Show resolved
Hide resolved
Alright as far as the writing side of things goes, we should add a little text that pops up if a non-harpy tries to implant, and where it fails to give them the component. Maybe something like, "You don't have a syrinx to augment". I think your implant description is fine, and I've also pinged the creator of the harpysinger icon to see if she'd like to take a shot at the bionic syrinx icon as well. Also holy shit did Wizden massively reduce the cost of the voicemask? When I originally tried to make this implant, the voicemask cost 6tc! |
You should be able to put this somewhere in any yml file, just change the names and description to match the bionic syrinx stuff. This will also let you define what the icon is. |
Oh yea, the most rational place to put the Voicemask UI code is to add it to the end of Species/harpy.yml, since that's also coincidentally where we put the UI code for HarpySinger. Although realistically it could be placed arbitrarily anywhere, I feel this makes the most sense since it's a component only Harpies use, and there's no other dedicated place for icon definitions like that. Usually icon definitions get placed in the same code as the items/entities that use them anyway. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
1 similar comment
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Should I add an action to reset the current name back to the original canonical name? With mask you can just take it off and shove it in your backpack if you need to (literally) drop the mask quickly, but with an implant you've currently got to type it back out. An extra action would be easy, though it'd be more consistent to get that as a button in the name change popup. But that requires editing or duplicating upstream code, soo... |
Yea, I'd say skip out for now on having the reset button, especially since thats more an upstream thing to do. For now, this PR looks to be complete! |
I'm not sure why Github put a |
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.
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.
If a player sets a valid name in the "Voice Mask Name Change" menu, upon hitting "Set name", the confirmation message is hidden behind the Voice Mask Name Change window.
You should either have the window close upon a valid name being set, or have the confirmation message above the player, like how it is when you attempt to set an invalid name.
Yeah, that's an upstream issue with the implanter item.
I can fix these two issues with a PR to upstream if that keeps conflicts easier to manage for us? |
|
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.
Looks good!
* Add the bionic syrinx implant * Make syrinx implant nonfunctional for non-harpies * Deconflict syrinx with voice mask * Don't allow non-harpies to inject a bionic syrinx * Use the new implant whitelist for syrinx instead * Add an action icon to the syrinx voicemask * Remove now-obsolete syrinx implant error messages * Move syrinx popups to player and to clientside (cherry picked from commit 7b0c061)
(cherry picked from commit ca97ffb)
About the PR
Adds the bionic syrinx implant, a new syndicate uplink purchase for harpies that acts as an implantanble voice changer.
Why / Balance
From the design of @evilexecutive, this is a harpy-themed version of the voice mask that let them play into the species trait of mimicry. It costs the same as a voice mask, trading the chameleon feature for being implanted. It breaks when implanted to a non-harpy.
Technical details
Reuses most of the same code as voice masks, copying some bits to avoid conflicting. Implementation differences:
implantAction
in yaml instead of from an equipment systemVoiceMaskComponent
is added and removed to the player through a tiny newSubdermalBionicSyrinxImplantSystem
instead ofVoiceMaskSystem.Equip
VoiceMaskComponent
is now mirrored inSyrinxVoiceMaskComponent
to deconflictBehaviour is identical to the voice mask with only one difference. When equipped, the voice mask immediately starts masking your name as "Unknown". This is a bit weird for a voice implant, so instead I default it to the canonical name of the entity.
Media
syrinx.mp4
Breaking changes
N/A
Changelog
🆑