-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Being sad makes you extremely tired #77882
Comments
Do you get tired or do you get slow? Low mood does give a speed debuff |
From memory, the direct speed debuff is extremely low (around -1 or -2?). What seems new is the weariness debuff, which causes combat to be done much slower than just -1 or -2. The difference between Light and Medium weariness seems huge |
You got weary after fighting a bunch of monsters? That seems completly intended |
I got very weary, TEMPORARILY, from low mood. That is not normal. |
Cataclysm-DDA/src/character.cpp Lines 4970 to 4981 in a8deffc
The problem is, low mood gives a huge penalty to weary_threshold. |
Hmm, weariness doesn't work like I thought. It seems the thresholds don't affect your weariness directly but rather where the cutoffs for Fresh/Light/Medium are? In trying to reproduce this I didn't notice anything at all while Fresh and low mood, but I'm assuming the cutoff while Light and low mood is much more punitive, hopefully more punitive than intended? |
For fresh level, what you see in the widget is As you can see in Maybe we should:
|
/duplicate of #63350 |
January 2023 💀 |
Lamenting the fact that it has worked like this for so long lmfao, not that it's a duplicate |
I think if we want to land a change for this, we'd need to articulate what effect, if any, mood should have on weariness thresholds and justify the change. The code @osuphobia tagged goes back to the Basic implementation of weariness PR, so hasn't been touched at all since the introduction of weariness. Zombie children start out with a -60 morale modifier (per TestingI made a default survivor with Debug HVAC then did some active activity to become weary and tested shooting child zombies with an AK-47 (one shot each; about 2.5 seconds between kills):
Open Questions
I'm inclined to cap the morale modifier on the threshold to ~20% or to remove the morale modifiers on the threshold entirely and rely upon the morale speed modifier. |
I'm not seeing anything that's notably a problem. "Killed a child" is intended to come with severe pentalies and this does that but in a manageable way. If you aren't either on a threshold already or kill many children it's not going to have notable impact. In short, this is working as intended. The previous issue focused on the sudden onset of the penalties, which is problematic, and a change to make the morale penalty grow to it's target magnitude over time would be welcome. |
Killing a zombie child causing your character to turn slowmo in combat does not seem intended to me but alright lol. This isn't how people work, biologically or psychologically, especially not in life-or-death situations, and it's terrible gameplay. |
The highlighted part should be the child. Killing a child would mess most people up, even in life or death situations, so yes this is how people work. However I agree this is bad gameplay (when combined with the fact you usually encounter LARGE groups of child Zs) AND I believe the "mood shortens your weary threshold" effect is overblown. |
I highlighted zombie because Kevin completely left that part out. It's a zombie! I don't want to accuse anyone of pearl clutching but the whole zombie genre is built on the mechanic that humans are very apparently (judging by its immense popularity) generally okay with seeing humanoid things get killed so long as they're already dead and creepy enough to begin with. This is not the first time that I've thought about that, and personally I find the dynamic disturbing! But that's how it is. Zombies don't look or act like people, so we categorize them very differently. It's actually pretty bizarre to single out children at all. If the player sees a child when they look at a child zombie, then shouldn't all zombie kills reduce morale then? |
Re the final sentence: you do have a point. It is a bit inconsistent to treat all other Zs as fodder to be killed but Z children as children. |
@kevingranade I think that modeling the penalty as weariness is backwards. It means that when you're severely distraught you take no penalty to mental activities like reading a book but you do take penalties on active things. I don't know about anyone else, but this is the opposite of what I expect: it's hard or impossible to engage in calm study but doing something active is distracting and less impacted by mood. None of this is to say the penalty should be reduced in overall impact. |
The weariness adjustment impacts active activities, the huuuuge focus hit directly from low morale pretty much tanks study and crafting. You need to evaluate all the aspects of it, not just one in isolation. |
I don't think it's accurate to say there's a huuuuge focus hit:
|
Yea that could stand fixing, seems like it's bitrotted because it used to make focus drop pretty precipitously. |
As a non overhaul I'd like to see the zombie child guilt split into guilt from killing any zombie period and guilt from killing specifically zombie children, I don't see why you'd be content killing any undead day 1 regardless of what other undead media shows. So if you killed a zombie child first you'd get a worse debuff than if you'd killed 100 other zeds first and come to terms with killing zeds period being ethically ok in your head. Military profs that have already killed could start immune to the zombie guilt (or at least progress towards it) but not child guilt. |
Minor correction: The first day of the game does not always correspond to the first day of the cataclysm. |
Minor correction: I didn't say it did :p We could make it so you start with some guilt immunity depending on time since cata with a modifier for scenarios (so scenarios where you're a long way in but have barely done any combat still make sense) but that's independent to do with what I were on about, it's not like this exists in any form currently |
I'm fine with splitting the guilt into general killing vs specifically problematic targets like child zombies. |
So this is what Kevin's words mean:
Again, a fatal part of the process is that the penalties will be counted for multiple times. My suggestion: Remove the morale multiplier from Some demo code: int Character::weariness() const
{
- return activity_history.weariness();
+ int amount = activity_history.weariness();
+ int morale = get_morale_level();
+ int effective_weariness = ( 1 - ( morale / 400.0f ) ) * amount - ( morale * 4 );
+ return std::clamp( effective_weariness, 0, amount + 1000 );
} And it will be like this:
We can combine this solution with Procyonae's one. |
Vital to the suggestion (I think?) is that guilt resistance should specifically not be split, and that it is reasonable for desensitization to be needed for and shared by killing any human zombies, not just child zombies. That would make the early game rockier as the new survivor becomes acquainted with killing zombies, but it would make the occasional child zombie hidden in mid-game hordes less of a random psychological landmine to survivors who have already killed dozens if not hundreds of zombies and presumably come to terms with it |
It's straightforward to change the system from only children causing guilt to one where all zombies cause guilt and children cause significantly more. It should also be possible to make it a linear combination, where being totally numb to killing normal zombies causes child zombies to have, say, half as much impact as killing a child zombie with no prior experience. We'd just need to decide how many zombie kills would make one totally numb, how much morale impact normal zombies would have, and how being accustomed to killing normal zombies should impact killing child zombies. |
Describe the bug
I noticed after killing child zombie 9,552 that my character would dramatically slow down. Killing a zombie child causes your mood to plummet, and while your mood is low your character acts much more tired than they physically are. This interaction effectively makes children one of the most dangerous debuffers in the entire game, on par with some nether creatures. This doesn't seem particularly realistic or fun.
Attach save file
N/A
Steps to reproduce
Expected behavior
Screenshots
No response
Versions and configuration
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: