CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.01k stars 4.09k forks source link

next steps in pain #72851

Closed I-am-Erk closed 3 months ago

I-am-Erk commented 3 months ago

Is your feature request related to a problem? Please describe.

GuardianDLL decided to open up a can of whoop-ass and bring a world of hurt with #72687. I think this is a good move. We haven't analyzed pain in game for a long time. My initial playtests of the new system have been short, but I've been reading a lot of feedback on it (including taking a look at an unusually civil Reddit thread). This has sparked a lot of thoughts and conversations, the results of which I'll post here.

Important context: until we have a wound system, understand that "pain" is still a stand in for all kinds of injuries and wear that aren't represented by limb damage. We want to move away from this but the wound overhaul is a big thing and we don't know when it'll be ready. Until that time, we're mostly trying to get this to feel right from a gameplay angle, as both a model of pain and a model of smaller quick-to-recover injuries. Scholarly information is fine but bear in mind that this system is already under close scrutiny by two credentialed experts on the subject, so it's probably not going to be news we hadn't heard.

Solution you would like.

  1. Pain impacting movement speed is a problem. In general I don't like mechanics that gradually tank movement and don't reverse easily, because they lead to a complex calculation where one has to decide when it's time to flee and, if they mess it up even a little, they can wind up stuck and dead. It's inevitable to have some of this, but I want to reduce it as much as possible.
    • to this end, I think pain's impact on speed should affect everything but movement. It's okay if you're so hurt you can't attack, but your broken arm shouldn't stop you from running.
    • movement speed penalties should be applied based on damage to your legs / locomotive limbs. This penalty should be linked to your current pain, so the higher your pain the more this limb damage affects your movement speed.
  2. Pain impacting strength is important to reflect the severity of the problem, but due to the widespread importance of strength, probably needs to cap off.
    • I'd suggest we reduce the strength penalty from 0.7% per pain point to 0.5% per pain point, and add a strength penalty or similar grip penalty to arms/manipulator limbs when damaged. I also think we should cap the penalty so your strength can't go lower than 25% of its max, from pain alone.

On a later pass, I'd also like to have pain impact the player more slowly. Specifically, when pain is inflicted it should go into a "pool", and that pool is then transfered to the pain stat over the course of several seconds. This should be a small but very impactful change that helps people try to escape after taking major damage, before the impact reaches their brain.

Describe alternatives you have considered.

Many. This is just a recommendation and I may update it with more numbers or details but for now I have to work.

Additional context

It's important to note here that it's all right if pain makes melee combat more penalizing or difficult to maintain, especially against large hordes. It's not a design goal to make melee equal to ranged. Rather the goal is to make you have to seriously consider it's worth risking death to fight up close, or risking the danger of noise of firing a gun. We're a long way from that target still but we move towards it in baby steps.

fairyarmadillo commented 3 months ago

These limb score proposals would stack with the existing injury limb score penalties, which are already difficult for even experienced players to keep track of compared to old methods of just eyeballing pain and speed ratings. This would make pain both more punishing and harder to understand.

It might be appropriate to reduce injury penalties if pain penalties are introduced, but even if that's done in a way that feels balanced, the UI still won't give players great feedback about how they're doing.

I-am-Erk commented 3 months ago

Making sure it's possible to assess your available options is important, yes.

IdleSol commented 3 months ago

Just a thought.

  1. Give pain a purpose. My right arm hurts for 10, my left leg for 20, and so on. Only the limb that hurts gets a penalty.
  2. Add a coefficient depending on the health of the limb. (HPcur / HPmax - 1) * by the current speed penalty from pain. If the legs are healthy, the pain has no effect. If broken (HPcur ~ 0), you get the full penalty.
Little relevant to the topic I, as a player, need more metagame information. Too many parameters, too hard to understand what they do.
fairyarmadillo commented 3 months ago

Making sure it's possible to assess your available options is important, yes.

It'd also be doubling a wide variety of penalties in a way I'm not sure the dev team is anticipating. Limb scores are everything - wielding weapons, grabs, move speed, dodge, block, hit rate, climbing, they're potentially an even blunter instrument than stat penalties, and unlike those there aren't really ways to raise your totals. Even the WIP mutation stuff is only heavy tradeoffs.

Only the limb that hurts gets a penalty.

That's not really how pain works IRL. If I stub my toe, I'm definitely worse at everything until I get over it. What you're describing is more like injury, where I'd be less able to use an injured body part but the rest of me would be fine. Pain inhibits the sufferer all over due to its highly distracting nature and the instinct to protect oneself from further harm, it doesn't just compromise one body part.

I-am-Erk commented 3 months ago

I think you're imagining a much finer level of detail on pain than I'm describing. I'm still describing a strength penalty the same as we currently have. You just have a less serious penalty if your arms aren't damaged.

IdleSol commented 3 months ago

Default character (8-8-8-8), no traits. Naked (no encumbrances).

Pain Speed Description of pain stat stat +4
0 100 none 8-8-8-8 12-12-12-12
10 95 minimal pain 8-8-8-8 12-12-11-11
20 92 mild pain 7-7-7-7 11-11-10-10
30 90 moderate pain 7-7-6-6 10-10-9-9
40 87 distracting pain 6-6-5-5 9-9-8-8
50 85 distressing pain 6-6-4-4 8-8-6-6
60 83 unmanageable pain 5-5-4-4 7-7-5-5
70 81 intense pain 5-5-3-3 7-7-4-4
80 79 severe pain 4-4-2-2 6-6-3-3
90 77 severe pain 3-3-1-1 5-5-2-2
100 75 severe pain 3-3-0-0 4-4-0-0
Boots Encumbrances Move cost
no boots 0 116
pair of moccasins 1 100
pair of survivor boots 10 102
pair of motorcycle boots 20 108
pair of turnout boots 30 114

In my opinion, you are more likely to be killed by a stat reduction than a speed reduction.

The actual pain is 50, equivalent to 30 encumbrance. If it weren't for the reduction in strength, which reduces the maximum weight carried and gives an overload that further reduces speed.

I-am-Erk commented 3 months ago

The double hit is part of why the strength reduction (edit: ie reducing the strength penalty) is a good idea, but dropping your run speed to 75 is a huge problem. That's too slow to outrun a standard zombie. With it compounded by speed dropping because your strength drops, that's a huge hit.

Some of this will be a bit mitigated by adding strain, because at least your stamina won't also be zero at this point so you can run.

fairyarmadillo commented 3 months ago

In my opinion, you are more likely to be killed by a stat reduction than a speed reduction.

Move cost and speed are two different things here, right? The former is only your step cost, the latter is affecting things like attack and wield speed. These things are further decreased by dexterity loss and limb damage, which means that enemies will have more chances to hit you per action you take, which is doubly dangerous because your defenses and grab resists are also debuffed.

Move speed losses are bad, but action speed losses serve as a multiplier on incoming attacks. That's not to say this shouldn't be the case, but you may be comparing apples to oranges.

fairyarmadillo commented 3 months ago

dropping your run speed to 75 is a huge problem. That's too slow to outrun a standard zombie

Wouldn't the breakpoint actually be substantially lower because characters can run? 75 is only too slow to outwalk a standard zombie, and it's actually not even that thanks to STUMBLES, doors, etc.

I-am-Erk commented 3 months ago

Theoretically yes, but in the present balance, if you're in severe pain you're probably also lower on stamina (however I am trying to fix that, soon I hope). It's the cascading stunlock problem I alluded to in the issue post: you walk slower than a zombie, it's harder to run, your encumbrance further drops your ability to move... We're double and triple dipping on things that make it hard to back out if you overcommitted, and that causes a geometric rise in difficulty to escape.

PatrikLundell commented 3 months ago

I disagree with this point:

movement speed penalties should be applied based on damage to your legs / locomotive limbs. This penalty should be linked to your current pain, so the higher your pain the more this limb damage affects your movement speed.

I believe the movement speed should be affected only by the pain stemming from the legs. Having your arms shattered while you have a shallow cut in your thigh increases pain, but it won't further affect the ability of your legs to function.

fairyarmadillo commented 3 months ago

That doesn't pass the smell test. A person with a freshly broken arm is not likely to run a four minute mile, they're going to stumble and have bad form and maybe lack the motivation to even try due to unconscious and involuntary reactions to the pain.

These reactions are not limited to the injured area and include things like muscle groups tensing, hormonal reactions inhibiting normal ability, and the sheer mental distraction.

PatrikLundell commented 3 months ago

I did not intend it to mean that pain shouldn't have general effects, just that the pain effect on a specific limb should be tied to the pain from that limb. General pain effects should happen on top of that.

IdleSol commented 3 months ago

A person with a freshly broken arm is not likely to run a four minute mile

If he wants to live, he'll run.

graph TB
damage --> |define| limb --> |create| pain --> |split| text1 & text2 -->text3

text1("limb_pain = limb_pain + 0,9 * pain")
text2("general_pain = general_pain + 0,1 * pain")
text3("penalty = function (limb_pain + general_pain)")

Or something like this

UPD.

Correct me if I'm wrong. Every second a character receives action points. The character spends these action points on a variety of actions. In particular, walking.

The number of action points equals the speed parameter. And they don't depend on the character's stats. Except for a few traits.

Then is it correct to call this parameter exactly "speed"? These are action points. It's a system parameter, independent of the character.

We have the cost of moving a character 1 tile, that's move cost. Let's tie it to the character's stats (strength and dexterity). The higher the dexterity, the lower the move cost. The higher the strength, the lower the stamina/strain/cardio cost? (I'm confused as to what's what)

And then the pain reduces the stats, and therefore increases the cost of the move.

fairyarmadillo commented 3 months ago

If he wants to live, he'll run

That's not how pain works. Maybe he could stumble along and do his best, but he's not going to break any records.

ADekema commented 3 months ago

Both interpretations of pain on a specific limb and general pain having impacts are valid. Your ability to use a limb can be heavily impacted by how much it hurts especially if using it causes more pain. Than there is the fact that general pain is very disctracting and can impact your general functioning.

The problem is that a decent bit of pain can very severely affect a limb without impacting your abilities much (burns on your arm will make using that arm very difficult but you could probably run a mile with the proper motivation such as a zombie). For your general ability to be affected you need to be in a lot more pain generally (getting shot kind of pain).

So probably both should be implemented and balanced agianst eachother.

ADekema commented 3 months ago

It´s wierd that the general penalty for pain has a absolute debuff to stats instead of proportional to the stats of a character. We have a proportional debuff for poisons (big buff mutant losses more strength in absolute terms than Mr.couchpotato). So why doesn´t pain work the same? Makes much more sense.

I-am-Erk commented 3 months ago

Most of the pain penalties are now proportional actually. That was a recent change that I'm happy with, but it has made pain more punishing at higher levels to a degree that needs mitigation, hence this topic

I think it's important we not get too far into the weeds of modeling individual wounds, because we're going to do that with its own system. When that happens it will be appropriate to litigate exactly how a particular cut on your arm affects your abilities. For now we are mostly looking at full body pain, but we can tweak its effects using limb damage to make it a bit less all or nothing

MelacholicMimic commented 3 months ago

I think one of the bigger issues with the current implementation is how linear/additive pain feels. If you fight a bunch of regular Zs, you basically end up with a bunch of scraps and bruises. It should hurt enough to be detrimental but not put you into unmanageable pain as fast as it currently does. There should be some kind of threshold involved that gives diminishing returns on pain if, for example, the damage taken was less than 15% of your current pain level. That seems more in line with how real pain works.

On the flip side, if you take a huge amount of damage in one go, there should be some form of shock state that delays the pain.

IdleSol commented 3 months ago

Some tests.

  1. Zombie. Approximately 1 pain for 2 units of health. Pain 41 (distressing) for a total damage of 80 HP. Or for 15 hits of a simple zombie on a naked default character.
  2. Fall off the roof (z=1). Three attempts. Pain 72, 92, 83.
  3. Drag a refrigerator (70 kg, 8 str) . Pain 0.5 to 1 per tile. Why??? 5 tiles = 2 pain, 10 tiles = 5 pain, 20 tiles = 10 pain. Probably random, as different attempts give different results). I made it to 36 pain. Next, the fridge got stuck (strength penalty). I added +2 strength. I was able to drag further to 58 pain level.
  4. Hit the wall. a. Stamina > 0, no pain b. Stamina = 0 (winded), increasing pain. If you take 3-4 hits, you get 1 unit of pain. If you take 10 hits, you get 3 pain. If you take 10 more hits (20 total), you get 14 pain. The maximum is 20 pain. Regardless of the initial pain, resting increases the pain to 20.

Some conclusions.

  1. Falling from a height of 2-3 meters (one z level), incapacitates the character. Any combat in such a situation will most likely result in death.

Actually depends on stats, skills and armor. For the sake of interest, I tried to fight a zombie. Naked character, with bayonet and melee skill of level 5, came out victorious. And received only a couple of hits. Group? If someone grabs you (especially by the hand), you die.

  1. Fighting with zombie. 15 hits to reach that level of pain, which I count as "time to run". 80 HP out of 86*6 = 516 HP. That's 15.5%.

Too much depends on the character, their stats, skills, and equipment. The only thing I can say is that this will affect the early stage of the game the most.

My personal opinion, I'll adapt to those conditions as well. Electric zombies, still top 1 among targets for destruction. And HUB armor is still top 1 in availability, protection, and encumbrance.

  1. This is ridiculous. I was dragging a refrigerator and got so much pain like I was being punched. And if I pick it up, I can carry it the same distance without any pain at all.

UPD. @I-am-Erk

How hard is it to make a mod that brings back the old system with pain?

As an alternative. We leave everything as it is + add a mod. And come back to the question after the limbs (or wound system) are finalized.

I-am-Erk commented 3 months ago

It would be okay for pain settings to be adjustable through global JSON settings so that they're moddable, but it's not high priority... It's not where we want it as is, so fixing it by patching externally shouldn't be our first step, fixing it by patching in the game should be first priority.

We should look at the equations to determine pain. I'm not sure if a threshold is the right idea,.or if the pain impact of small wounds is too high relatively.

MoocowTG commented 3 months ago

Realistically pain does not make sense in combat. Adrenalin is extremely effective at nulling pain and that needs to be modelled if pain is intended to play a much larger role in the game.

I-am-Erk commented 3 months ago

Nah. There's a small affect from adrenaline, but it's absolutely not standard for people to hop up and keep going after massive injuries, especially not when as mentioned we use pain to represent a lot of things.

The delay effect of pain would be fine to add in though. I mentioned that in OP

I-am-Erk commented 3 months ago

Came up with a few useful things in discord both brainstorming and reviewing literature.

RanikOrtega commented 3 months ago
  • pain resistance is a thing you can learn, but interestingly, does not affect cognitive decline due to pain. Only physical performance. That's neat and a thing we could include.

The last time I mentioned pain tolerance in the initial Pain revamp PR people acted as if it was a foolish idea. I looked into several scientific papers basically describing "pain threshold" and "pain tolerance." though I didn't want to drop $500 to buy all of them. From what I could glean from the abstracts though...

Pain Threshold is the minimum amount of stimulation or injury that makes you feel the sensation of pain. It cannot be changed or increased by anything except medication. IE: You can't dull your senses unless you take medication.

Pain Tolerance is the amount of ongoing pain you can tolerate while doing something. This is something that theoretically can be trained by either dealing with pain regularly, extreme exercise or by simply an innate pain tolerance.

If I remember correctly:

  1. Some reports showed that Marathon runners could tolerate Endogenous pain more than normal people. Was that because they were built that way or because they exercised and fought through it?
  2. Contact Sports Participants (Football, martial arts etc) showed a higher than normal resistance to the rigors of their sport and that tolerance grew towards the end of their sport season. Again born with it or developed over time?
  3. General exercise and those that did aerobic or weight training for decent amounts compared to sedentary lifestyle also seemed to have an increased amount of pain tolerance.
  4. Goal oriented resistance: IIRC some boxers reported that sparring hurt worse than fighting. Because sparring wasn't really "Winning" anything. Shots to the head or liver are still brutal mind you.

In those cases, marathon runners, contact sports participants etc seemed to have a higher than normal tolerance to pain. It's not the same as "Pain don't hurt" but more "learning to function while hurting" that's why I had previously suggested a "Pain Tolerance" attribute similar to cardio that build up over the players lifetime to somewhat increase tolerance. This doesn't apply to someone with a neurological issue or direct nerve damage so those edge cases don't fit. Nor do things like head blows or hits to the liver. But those could be simulated as critical hits against the player.

Throw in blob healing magic and the player is less or not at all susceptible to permanent nerve conditions pains. So we either accept blob healing magic as a thing and thus pain tolerance may be a viable attribute or we might as well get rid of blob healing magic too.

I-am-Erk commented 3 months ago

Kevin pulled up a pretty usable primary source, but there's the huge caveat that even within it, it points out that the data is quite shit. Plus it can't be used particularly for numbers, only vague concepts. https://www.sciencedirect.com/science/article/pii/S1526590023006491

Basically any source is still not going to tel us eg. How much being thrown through a wall by an incandescent hulk should impair your ability to think clearly. However, it does at least give us some ideas what things should be penalized by pain, and what things possibly might improve with training. My thought is to have the athletics skill slightly reduce pain penalties, and possibly eventually also have a proficiency that contributes. However, even then, the effect shouldn't be too huge... Enough to matter, not enough to invalidate pain effects.

This also doesn't really help at all with the problem at hand. New characters still need to be able to survive combat and new players need some feedback before they become totally stunlocked. Hence the info in my last comment.

RanikOrtega commented 3 months ago

Kevin pulled up a pretty usable primary source, but there's the huge caveat that even within it, it points out that the data is quite shit. Plus it can't be used particularly for numbers, only vague concepts. https://www.sciencedirect.com/science/article/pii/S1526590023006491

Basically any source is still not going to tel us eg. How much being thrown through a wall by an incandescent hulk should impair your ability to think clearly. However, it does at least give us some ideas what things should be penalized by pain, and what things possibly might improve with training. My thought is to have the athletics skill slightly reduce pain penalties, and possibly eventually also have a proficiency that contributes. However, even then, the effect shouldn't be too huge... Enough to matter, not enough to invalidate pain effects.

This also doesn't really help at all with the problem at hand. New characters still need to be able to survive combat and new players need some feedback before they become totally stunlocked. Hence the info in my last comment.

Yeah pain science is already spotty and any data source is not going to cover in game events. At best we have sports science data for contact sports or martial arts. It's not like we'd have questionably dangerous military medical experiments posted publicly.

Practically speaking, I would suggest if possible a combination of Athletics skill and avatar_damage_healed statistic leading to an invisible pain reduction bonus instead of a proficiency (or maybe the proficiency is learned via taking damage or healing damage) and could be applied as a small -% reduction to total pain up to a point.

Not sure what to do about the current pain-lock issue. Working on faction content and haven't had time to play on current.

I-am-Erk commented 3 months ago

From my tests today I really think taking out the speed penalties (and replacing them with a "hesitation" event like I described) and nerfing the strength penalties significantly would be a huge part of it. Then we need to do some better review of how pain ramps up but first I want to be sure that pain is behaving properly. It's overtuned right now but that has helped to unmask a lot of stuff we should have fixed a long time ago.

Rocket-F-1024 commented 3 months ago

I think the biggest problem is still in the way pain is calculated, it's too linear, leading to the fact that once a player is attacked once, then their attributes go down due to the pain, and the player is more likely to be attacked, and more likely to be attacked means more likely to become more pained, and their attributes go down more, and so on and so forth until one party is dead, and the other party is seriously injured. I have a suggested formula (just for reference, not necessarily the one to use) with the following variables, pain value due to new attack (ap), current pain value (cp), pain level (pl), final pain value gained (fp), pain tolerance (pt) pl=ap/(ap+cp) If pl>pt then fp=ap*(pl-pt) otherwise fp=fp

fairyarmadillo commented 3 months ago

@Rocket-F-1024 and @MelacholicMimic see #72852 for a potential solution.

Kamayana commented 3 months ago

On the subject of how the brain suppresses pain when in danger, "stress-induced analgesia" is what people should actually be talking about. That term is used for the variety of ways the body relieves pain when under stress and, unlike adrenaline, there are a lot of studies supporting it:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4795524/ https://www.sciencedirect.com/science/article/abs/pii/S0304395910004847 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3033575/ https://pubs.asahq.org/anesthesiology/article/114/6/1280/12727/Stress-induced-HyperalgesiaAny-Clinical-Relevance

Some of these also discuss stress-induced hyperalgesia, in which stress increases pain. It roughly seems like acute pain is reduced while chronic pain is increased. What'd be really useful would be a study into how much the stress of being in outright life-threatening danger suppresses pain, but since that would be a really immoral experiment I wouldn't be surprised if it doesn't exist.

Kamayana commented 3 months ago

One way to implement stress-induced pain suppression would be to delay the effects of pain when in immediate danger, such as when fighting enemies, but take full effect after a short period or once danger has subsided—the brain is merely suppressing the pain, not outright removing it. Pain having an immediate, instantaneous effect on the player's abilities is my main issue with the current implementation—the brain's primary response to danger is to escape it, not to immediately collapse in pain. This could also be an answer to the "reduce speed or not" question.

fairyarmadillo commented 3 months ago

the brain's primary response to danger is to escape it, not to immediately collapse in pain.

I was once present for a fist fight that turned into a stabbing. The stabbed man did not have any major muscles severed and he didn't bleed more than a pint over the half hour I spent tending to him, but he was still immediately disabled and unable to escape or continue fighting even though it took him several seconds to consciously understand what had happened. The delay was caused more by the fact that it was inconceivable to him that someone could have stabbed him, and this delay didn't protect him in any way from suffering a negative reaction to his wounds. There's no magic chemical in the body that causes you to gain super strength and ignore injuries. They hurt and that affects you, regardless of whether you are fully cognizant of them or not. It's not just the sensation of pain that gets you, it's the immediate and unconscious release of hormones that lock up muscles and send the brain into a panic.

People who can ignore the pain long enough to win a fight or escape from an emergency are still fully being affected by that pain. The "adrenaline rush" people are envisioning is more just fight or flight kicking in, which is not always useful and isn't really relevant to the stat debuffs that pain applies in this game. You're never asked or told whether your character is acting on instinct or a carefully thought-out plan. The most the game does to address that is apply perception and intelligence debuffs, but since your character is being puppeted by a timelord with access to HHG who does not feel anything that is happening to them, it's hard to model.

I-am-Erk commented 3 months ago

As fairyarmadillo says. "adrenaline" does not work as people imagine, and the most appropriate way to model it is to pool pain and deal it out as a steadily rising score over a few seconds. That does still offer players a bit more time to act on upcoming crippling injuries before their avatar is too heavily affected; however, anything that starts with "in real life, adrenaline keeps you from feeling pain" is a nonstarter. I've managed a lot of critical injuries, and the reason we hear occasional stories of amazing feats where people ignore their wounds is because those are amazing feats that are unusual and surprising. We model this in game by letting people take a special trait at character creation if they're going to play that rare individual.

I-am-Erk commented 3 months ago

So, that strays us a little ways off my initial plan, in what I think is a better direction. Now strength isn't hit as hard, and pain (and other penalties) aren't calculated in carry weight, which removes the encumbrance double dip. That's definitely not going to bite us in other unexpected places...

... anyway. I think the next thing we need, and again this will alter other things, is a hesitation mechanic. This would replace speed penalties in a lot of places. Basically, we make a c++ routine for hesitate( int chance, string message). Hesitate is called in places where we would want a speed penalty to apply, such as making a melee attack while in pain. Instead of reducing the speed of the melee attack, we have a chance of hesitate( some_chance_related_to_pain, "Your pain makes you hesitate!" ) ... this causes you to miss some small amount of time, like 10-20 ticks or so (a second is 100 ticks, remember), and aborts the attack with no other costs. (Anecdotally this also feels more like pain to me. If my arm hurts, it's not so much that it's slow for me to use it, but sometimes it will cause me to jerk or hesitate briefly before committing to something I know will hurt. Once I'm committed I don't know that the action itself is slower)

The end result of this is similar to slowing down your attacks, but, rather crucially:

On the downside, it is mildly more annoying, especially if it's an attack you took a while to line up. Personally I'm well willing to pay that cost in exchange for what I see as a pretty significant uptick in player agency around one of the most serious and important combat penalties.

I think hesitate should also apply to ranged attacks. When aiming, it should cause your aim to drop a tiny amount as well.

PatrikLundell commented 3 months ago

As long as the hit to ranged attacks comes in the form of reduced aim I don't have a problem with it. I, at least, tend to try to wait until the enemy is close enough for me to get a good chance to score a good hit, and I don't need additional cases of enemies moving multiple tiles and hits my character which also resets the aim (particularly bad with fast hit-and-run critters that are also hard to hit even with maximum aim).

fairyarmadillo commented 3 months ago

I might suggest a word other than hesitation. I know what you mean by it, but players might interpret it as their character making a conscious decision contrary to what the player is making, which is something I know the team wants to avoid where possible. You probably want players to see the message and think "oh wow my guy is in bad shape" and not "this useless character won't do what I tell them and now I'm going to lose"

I-am-Erk commented 3 months ago

Fair point. Open to alternate phrases.

Kamayana commented 3 months ago

Ideas:

  1. Falter, "your pain makes you falter"
  2. Wince, "You wince in pain"
  3. Flinch, "your pain makes you flinch"
  4. Shudder, "you shudder in pain"
  5. Pause, "your pain gives you pause"
I-am-Erk commented 3 months ago

Flinch is great, let's use flinch.

I-am-Erk commented 3 months ago

As long as the hit to ranged attacks comes in the form of reduced aim I don't have a problem with it. I, at least, tend to try to wait until the enemy is close enough for me to get a good chance to score a good hit, and I don't need additional cases of enemies moving multiple tiles and hits my character which also resets the aim (particularly bad with fast hit-and-run critters that are also hard to hit even with maximum aim).

Yeah, I want to be careful to make sure it doesn't reset your aim. That would be unreasonable

MelacholicMimic commented 3 months ago

Wouldn't it make more sense for ranged weapons (minus bows) to apply a flinch after firing and ruining your steadiness? I presume what would logically cause you to flinch is a pain spike from the sudden/jerky movement of winding up a swing. Once you start steadying your gun, you will only make the tiniest of adjustments, so it shouldn't be an issue there. Recoil, will however, send vibrations through your entire upper body, causing everything to flare up. If you ever sneezed while having a stiff neck, you know what I'm talking about.

There is also the question of what should be affected by flinching. Drawing/sheathing seems an obvious choice, although you probably want a "Do you want to continue?" prompt, since that's quite a few key presses otherwise. Is it gonna be purely combat related or would it affect, let's say, crafting mess-ups or spilling liquid. Is it a light version of the jittery trait, basically.

I-am-Erk commented 3 months ago

I don't know about that. Trying to hold steady and perform a precise task is very hard when in pain. I've never done sniper...ism? But I've tried to make really precise scalpel and needle movements after my own minor surgery, and it was quite a lot harder.

tornikeo commented 3 months ago

@I-am-Erk Should the pain be modulated by presence or absence of a companion? People are social animals, after all.

ADekema commented 3 months ago

Mood should probably also either worsen of eleviate pain.

I-am-Erk commented 3 months ago

Since the original post here has become pretty obsolete, I posted #73050 which is a summary of our last few comments and a lot more info on implementation