-
Notifications
You must be signed in to change notification settings - Fork 342
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
Fix harpy singing #292
Fix harpy singing #292
Conversation
Stops harpies from opening the MIDI UI while muzzled. Also reworks how harpies are stopped from singing when incapacitated, so that harpies are allowed to sing while cuffed. And for UX sake, tells the player why they can't sing when applicable. This should fix some of DeltaV-Station#180.
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.
Very cool
Just want to confirm something before this is merged
Tested the little refactor and it looks good still, but I should probably give it another round of testing tomorrow when it's not midnight and I'm liable to miss something.. |
Yea, we'll want to verify that this doesn't reintroduce any new old bugs.
The following conditions need to prevent a harpy from starting a new song
|
@evilexecutive Thank you for the list! I suspect this PR breaks the "Knocked down" part of it, but it should be easy to add another condition to the system now that the framework for interrupting the UI call is there. I will have a look tomorrow. |
@luringens It's more important that Knocked Down stops them from singing, rather than preventing them from starting a new song. It's intended that an annoyed player should be able to shove a harpy to get them to stop. |
Alright, putting a checklist of things I need to add checks for and test. Let me know if anything should be added or removed from the list.
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
The players apparently want to be able to play spooky zombie music and/or Thriller as zombie birds. I'm inclined to suggest having zombification change their instrument options to something cursed. Thats not a requirement, just a funny suggestion. Personally I lean towards zombie birds not being able to sing |
@evilexecutive on a similar note, currently if you're typing in text chat and then you take damage from a set of categories and above a set amount, the game immediately appends something like |
Zombie harpies shouldn't have the ability to sing anymore |
Now stops singing if knocked down, stunned, or asleep. Also prevents singing if the player for any reason can not talk.
Current implementation:
Turns out CanSpeak is a thing. Anytime you can't speak in chat, you now can't sing. This covers crit, dead, asleep, or being mute, simplying the code quite a bit. This should mean you can't sing while glimmer muted, and that mimes can't sing without breaking their wov of silence. Whether or not the latter makes sense I guess depends on how that vow is interpreted. |
The latter example of Mime harpies not being able to sing is absolutely correct. Mimes should not he making ANY noise at all, as its part of their act. Being able to sing or imitate sounds would ruin the act, so I will say this counts for intended behavior. My last question regarding implementation, does the !CanSpeak also stop a song in the case of the mute glimmer event? If it does, I wholeheartedly approve of these changes, you are doing amazingly good work! |
Also as an aside, since !CanSpeak applies to Mute characters, yes that is also an intended feature that Mute harpies cannot sing. Which its good that we're covering that base too. |
I've added a handler that should stop singing when a Do you want harpies to stop singing when taking 10+ brute/burn damage, the same way |
Yea, I will also agree that taking a chunk of damage like that should interrupt them. If it interrupts speech, it should also interrupt singing. Im all for having more options for players to get birds to shut up. This would also add some interesting emergent gameplay options. Such as a harpy salvager singing so that their team knows they're okay, and if something stops them, their team would know they're in trouble. Design wise, this is their main mechanical positive. They have no other mechanical benefits to weigh against their downsides, so adding mechanical complexity to this feature helps distinguish them more. |
Alright! Singing is now interrupted by the same criteria that speech is interrupted. I have updated the changelog and PR description, I think this is ready for review again now. |
|
941af31
to
ff38b15
Compare
Rewrote (force-pushed) those two commits to fix the committer metadata, no change to prior history. Sorry about that. |
Co-authored-by: Debug <[email protected]> Signed-off-by: Bakke <[email protected]>
Signed-off-by: Bakke <[email protected]>
🎉 |
About the PR
Some changes to when my new favourite morphotype is allowed to sing:
This should fix some of the bugs listed in #180.
Why / Balance
N/A
Technical details
HarpySingerSystem now does two sets of things to enforce these rules. First it subscribes to a lot of events to close the Instrument UI when a muzzle is equipped, they're knocked down, etc. Second, it subscribes to OpenUiActionEvent and explicitly goes before ActivatableUISystem in order to intercepts the MIDI UI opening action. This allows it to run a bunch of checks to see if the harpy should be allowed to sing, and if not, stop it from opening. It also warns the player when this happens.
Media
Breaking changes
N/A
Changelog
🆑