-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Give AI a Sound Cue when an Antimov board is inserted #32625
base: master
Are you sure you want to change the base?
Conversation
Add Subversion flag and SubversionSound to SiliconLawProviderComponent Add new Method (OnSubversionInserted) to SiliconLawSystem to handle a Subversive SiliconLawProviderComponent and play it's SubversionSound Add Check for Subversive law provider to OnUpdaterInsert that calls OnSubversionInserted if the SiliconLawProviderComponent is Subversive
- Change out Weh sound used to test that subversion sounds can be changed by prototype for a a not yet present Antimov subversion sound
- Remove OnSubversionInserted and move the MindPlaySound in the OnUpdaterInsert so long as LawUploadSound exists - Modify SubversionSound into LawUploadSound - Remove the Subversion flag - Just use emagged_borg.ogg until the better one is made
a little sound for when your laws are changed in general (regardless of evilness) would be much more useful than a sound specifically playing for when you're going into evil mode |
If one was available, it could be placed as the default for the |
A squirrel sound for when Nutimov is inserted lmao I think that you should just have the sound from SS13 when AI's laws are changed, remember that this needs to work for Freeform laws. |
This should affect anything that has silicon laws and any time the laws are changed(updated, ion storms, etc) |
Make it the malf ai sound from 13 |
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.
I agree with the others that there should be a sound effect for every law change. Maybe someone can find a cool one from SS13. The emag law change sound does not really fit here since no emag is used and the "death to NT" has nothing to do with antimov. Otherwise this is a great addition in my opinon that keeps you from missing the law change accidentally
/// The sound that plays for the Silicon player | ||
/// when the particular lawboard has been inserted. | ||
/// </summary> | ||
[DataField, ViewVariables(VVAccess.ReadWrite)] |
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.
[DataField, ViewVariables(VVAccess.ReadWrite)] | |
[DataField] |
DataField already includes ReadWrite access nowadays. Old files still do this manually though.
if (provider.LawUploadSound != null) | ||
{ | ||
if (!_mind.TryGetMind(update, out var mindId, out _)) | ||
return; | ||
_roles.MindPlaySound(mindId, provider.LawUploadSound); | ||
} |
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 (provider.LawUploadSound != null) | |
{ | |
if (!_mind.TryGetMind(update, out var mindId, out _)) | |
return; | |
_roles.MindPlaySound(mindId, provider.LawUploadSound); | |
} | |
if (provider.LawUploadSound != null && _mind.TryGetMind(update, out var mindId, out _)) | |
_roles.MindPlaySound(mindId, provider.LawUploadSound); |
you can combine the two if conditions
I'd prefer if the Malf sound was reserved for malf |
I'm all for this but it doesn't fit with the law change. It doesn't use an emag (atleast directly) it should have its own unique sound. |
About the PR
Added the ability to give a lawboard an Upload sound that gets played for the AI player
Why / Balance
At the moment Subverted AI are only given a Notification via the Chat that their laws have been changed, Something that can be easily missed during highly active comms and might not immediately cause a player to check their laws.
Causing a very recognizable "You are now evil" sound makes it far more likely a player does not miss that their core directive has changed.
Technical details
Added a
SoundSpecifier
DataField toSiliconLawProviderComponent
Added a check
OnUpdaterInsert
to check theSiliconLawUpdaterComponent
for a defined Sound (in this case it'll just be Antimov) and play it to the associated playerAdded a sound to Antimov's law board
Media
Demonstration-compress.mp4
Requirements
Breaking changes
TODO
Changelog
🆑 Kickguy223