CleverRaven / Cataclysm-DDA

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

Blocking/Parriyng Rework #73230

Closed AnotherSeawhite closed 3 months ago

AnotherSeawhite commented 6 months ago

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

Block and parry we have right now is lame. Your character just absorbs the damage by just holding a weapon and standing still.

Solution you would like.

Blocking with a weapon should cost stamina based on how much damage the character has blocked. If the incoming attack is too much for the character to handle, or if the character has insufficient skill or power, the character would lose their balance or fail to block, or the character would attempt to dodge the attack. Parry technique should function pretty much the same as blocking, but instead, it should check if the character can parry. (saying hi to limb scores) If the parry is successful, the attacker would stagger and/or have their attack nullified.

Bash damage should work great with breaking blocks. Cut damage should work badly. Pierce damage, on the other hand, should either get dodged/blocked/parried(redirected) or entirely bypass the block attempt. (warhammer is going to be in a weird position)

Oh, and parry technique should be a brawling/martial arts thing.

Describe alternatives you have considered.

This is the best I can think of without violating how the combat works.

Additional context

just parry, bro

ADekema commented 6 months ago

I think the idea is great. I do have a few suggestions to expend your proposel:

  1. Blocking should probably be have proficiencies for blocking with differant things (unarmed, armor, shield, one handed weapon, two handed weapons).
  2. The amount of stamina it takes to block should be influenced by skill/proficiency.
  3. What you are blocking with should have a big impact on how easy, how much force you can block and how much stamina it takes. Blocking with a armored limb makes it easier to block and allows you to block more damage. Blocking with something like a weapon would allow you to block much more force than a limb becease the weapon is absorbing the force not you (might damage the weapon).
  4. More effects of a succesful/unseccful parries/blocks would be interesting. An interesting idea is blocking with a attack. Think on a successful rol you parry with a (weak or unarmed) attack (uppercut a zombie to interup a bite).
TheSaddestGoomba commented 6 months ago

Flails will also be a rather unique case for this with their ability to reach around a block.

fairyarmadillo commented 6 months ago

I don't recommend dividing blocking ability up by damage type as there are many weapons like the warhammer where the damage type is kind of weird. You'd also have cases like the kukri (cut) being decent for blocking and combat knives (stab) being bad at it, when the items are pretty similar if you look at them. Blocking ability is already modified by both the weapon's to-hit bonus and its flags, which I think is pretty sufficient to cover things like knives being bad at blocking and swords being pretty decent.

Flails reaching around blocks is a cool idea, but that would almost never come up unless monsters started parrying or using them.

AnotherSeawhite commented 6 months ago

I was actually talking about 'breaking' blocks, like a sledgehammer/waraxe/zewihander being able to greatly overwhelm the one blocking, and a katana being horrible at it.

kevingranade commented 6 months ago

What I agree with is blocking and parrying is an action you are taking and should consume stamina and moves similar to what happened with dodging in #64224

You seem to be assuming a hard differentiation between "blocking means you absorb the attack directly" and "parrying means you do nothing but redirect the attack as a sort of inverse dodge". It's not that simple, and if anything I'd treat these as a continuum from one to the other based on the level of success of your block attempt. In other words, just interposing your arm or weapon or shield between yourself an an attack isn't as much a successful block as it is an almost failed block.

Likewise chaining damage avoidance like "if the character has insufficient skill or power, ... the character would attempt to dodge the attack." is a problem because that makes stacking both techniques very hard to balance since they both get a chance to avoid damage.

I don't think "damage type" is particularly pertinent to blocking, what you're getting at is more just how big the thing hitting you is. compare a greatsword and a similarly sized club, Also focusing on blocking weapons is kind of a trap since most enemies are attacking you with some form of unarmed attack instead of weapons.

What IMO needs to happen is unifying dodge, block and parry (and armor for that matter). When attacked the player notices the attack, decides on some combination of dodge and block, and then attempts the action. Total success means the attack is completely redirected away from the player with a minimal amount of moves and stamina spent. Lesser success might cost more moves and/or stamina, not prevent the attack from landing, only partially slow it, etc. One kind of outcome might be just interposing a shield or weapon instead of redirecting the attack, but that's a low skill or low success action.

ADekema commented 6 months ago

You seem to be assuming a hard differentiation between "blocking means you absorb the attack directly" and "parrying means you do nothing but redirect the attack as a sort of inverse dodge". It's not that simple, and if anything I'd treat these as a continuum from one to the other based on the level of success of your block attempt. In other words, just interposing your arm or weapon or shield between yourself an an attack isn't as much a successful block as it is an almost failed block.

I don't think that is what was meant. Parry in this instance seems to be actively countering a attack in a way that falls outside of that continuum. Think using your opponents attack to get them offbalance or exposed. Maybe use their own momentum to knock them down or interrupt thier attack with one of your own.

IdleSol commented 6 months ago

It would be better to start with definitions. Each of us has a different idea of what a block is and what a parry is.

fairyarmadillo commented 6 months ago

I think Kevin defined the term pretty succinctly.

ADekema commented 6 months ago

Kevin seems to define parry as simply a very succesful block that deflects/redirect most of the attack thus nulifying most of the damage and minimizing movement en stamina costs. What I´m trying to expain is that a succesful parry can have a very differant outcome and goal than simply mitigating damage as efficiently as possible.

A parry can also mean that you use a technique to turn a enemies attack against them. This could be getting the enemy to expose themself in some way or catching the attack in a grapple and proceding to immobilize/down them in some way. Than there is also the fact that in a fight you sometimes stop a attack not by blocking the attack but by interupting the enemy with a attack of your own. Countering might be a better way to descripte using a enemies attack agianst you but the original issue mentions staggering a enemy on a very succesful parry so I think that actively using a enemies attack against them is what is mend.

IdleSol commented 6 months ago

My understanding.

A block is an action aimed at redirecting damage from the character's body to the object used to perform the action. For example, to put a weapon, shield or a less important part of the body under a blow of the opponent.

Parrying is an action to redirect damage from a character's body to an empty space. The example is more complicated. Something like hitting an opponent's weapon to change its trajectory. Or hitting the enemy himself so that his weapon changes trajectory.

From a gameplay perspective. The character is blocking and the maximum damage is dealt to the weapon, shield, or limb being blocked. In the case of a limb, the most protected part is used. Or instead of the actual material coverage value, we use 100%.

The character parries and gets a bonus. For example, as in some techniques, faster execution of the next strike. Or the enemy gets a penalty, slower execution of the next action.

And because it is an action, it must have a cost in action and stamina points. This action cannot be taken at the same time as other actions.

ADekema commented 5 months ago

@IdleSol I agree with your understanding of blocks and parries. The only thing I would like to add is that sometimes a parry might be a attack in and of itself and so it would be one action that would simultaniously block damage and inflict some level of damage on the opponent. In most cases hitting specific weakpoints such as the leg, arm or jaw (bites) and being swifter but weaker than normal attacks. There attacks might also be unarmed even if the character is holding a weapon becease your character would be striking oppertunistically with elbows, fists and legs.

github-actions[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.