-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Sweating, shivering, wheezing, and emote consistency #35020
base: master
Are you sure you want to change the base?
Conversation
Good stuff! Do slimes wheeze? They're not affected from a tainted, unpure atmosphere. |
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.
Haven't done super in depth testing but it looks really good so far!
They're affected by CO2 and all the asphyxiating reagents so they do wheeze, but dionas and voxes are not affected by CO2 so they don't, and slimes also gasp for some reason so I'm unsure if they should |
Did all the suggested changes, thanks for fixing my mistakes for me 😎 |
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 could not replicate any of the other emotes you have in your PR (Like wheezing etc..). I could be just doing it wrong though! Could you give me steps to recreate each one?
Did all the suggested changes, thanks for fixing my mistakes for me 😎
Its always a good idea to have someone else look over PRs! Mine are always crazy the first time around 😆
All of them but the shivering and sweating use reagent emotes which happen at random intervals, so it's inconsistent on timing and could take like 20 seconds for ones that happen less frequently like wheezing. I just spawn a vox in a normal room without internals for that, and for the liquids I edit solutions and put like 10u of whatever into them. |
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.
Personally I think the Drool emote is not needed.
else if (ShowAboveHead) | ||
chatSys.TryEmoteWithChat(args.TargetEntity, EmoteId, ChatTransmitRange.HideChat, forceEmote: Force); |
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.
Isn't this the same as TryEmoteWithoutChat
?
also controlling this with two different bools where one only has an effect if the other one is false is a very confusing approach
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.
Unfortunately tryemotewithoutchat doesn't show a popup, and also I can make it an enum or something
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.
Wait, what does it do then if it shows neither a popup or chat? Also I would prefer to avoid chat code changes and wait for the chat refactor.
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.
Wait, what does it do then if it shows neither a popup or chat? Also I would prefer to avoid chat code changes and wait for the chat refactor.
It makes a sound and no other indication, currently like half the emotes by reagent do that for some reason, while stuff like weh or honk don't
Probably true, removed |
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.
Besides this it looks good!
@@ -177,4 +177,4 @@ | |||
flavor: bitter | |||
color: "#9e6b38" | |||
boilingPoint: 190.0 # Perfluorooctanoic Acid. | |||
meltingPoint: 45.0 |
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.
un-touch this file!
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'm not sure if I can revert all changes made to a file using github desktop or on the web version (couldn't find anything about it, and for some reason can't manually do it)
About the PR
-Adds a new "shivers" emote when cold, and "sweats" when hot. Above uncomfortable temps (25C+-), it happens once every 30 seconds, and at most 15 seconds when very hot/cold (50C+-).
-Fixes thermal regulation, its threshold to work was inverted so it would never happen when needed
-Adds a few reagent based emotes, like wheezing from reagents that take air out of your lungs, and histamine making allergic effects
-CO2 now makes all races but dionas and voxes wheeze, and O2 makes voxes wheeze
-Reagents now support putting emotes only above someone's head, so you don't flood chat with screams from acid or wehs from wehjuice
-Involuntary emotes are now all consistent with gasping, where it shows only a popup, but not a chat message
Why / Balance
I saw an ss13 video with people shivering in the cold and wheezing in a co2 filled room, and thought it was cool. It was also commented to be added at some point. It adds a bit of flavor/immersion to situations, and is helpful to know what's wrong with someone without using a health analyzer. I changed involuntary emotes like wehjuice making you weh, so they only show above heads instead of also being in chat, as it floods chat and its a bit weird to know that John Syndicate is the one wehing in another room. Damaging reagents like acid, that make someone scream audibly but don't show who is screaming was also weird and inconsistent. Histamine said it was made to be emoted like allergies in the comments but didn't, so I added it.
Technical details
Found most edge cases where shivering/sweating shouldn't apply, but maybe not all of them. You can shiver and sweat while asleep, but not dead, and only atmospheric creatures do it, but not like holoparasites or borgs. Also thermal regulation was never happening as it had inverted conditions for starting, which was necessary for this so I fixed the conditions. Everything changed was made with downstream in mind, so you can simply disable sweating/shivering on any creature, or make reagent based emotes ShowInChat instead of ShowAboveHead.
Media
Requirements
Breaking changes
Changelog
🆑 shibechef