Jump to content

A6 - Parry, Riposte, and Evasion


Slawbug

Recommended Posts

When a monster attacks you, you have three chances to avoid getting hit entirely.

 

1) EVASION. You base chance to dodge is 50%. It is adjusted as follows:

-5% per level of the monster's attack

-5% per point of Strength the monster has

+5% / pt of Dex

+5% / pt of Gymnastics

+3% / pt of Defense

+2% / pt of Luck

 

However, note that the dreaded 10-cap is back and it applies to all of the defensive skills listed above. That is, up to 10 points in the skill, each point provides a single bonus. Up to 20 points, you need two points to provide a single bonus; above 20, you need three. (Not sure if it goes to needing four, above 30 points.)

 

2) RIPOSTE. If and only if you do not evade the attack, Riposte is checked. You have a 3% chance to riposte per point of Riposte skill, up to maximum of 50% -- note that the 10-cap applies to Riposte so this is achieved at 26 Riposte. If you Riposte, the full strength of the enemies attack automatically hits the enemy, instead.

 

3) PARRY. If and only if you do not evade or riposte the attack, Parry is checked. You have a 3% chance to parry per point of Parry skill, up to a maximum of 50% -- no 10-cap applies, so this is reached at 17 Parry. If you Parry, nobody takes any damage, just like a miss.

 

Note: In previous games Parry applied to missile attacks at 2% per point and non-AoE spells at 1% per point; not sure if that is still true. I assume (but don't know) that Riposte does not apply to missiles or spells at all.

Link to comment
Share on other sites

Originally Posted By: Little Daedalite Twist

2) RIPOSTE. If and only if you do not evade the attack, Riposte is checked. You have a 3% chance to riposte per point of Riposte skill, up to maximum of 50% -- note that the 10-cap applies to Riposte so this is achieved at 26 Riposte. If you Riposte, the full strength of the enemies attack automatically hits the enemy, instead.


So I was right about Riposte damage being proportional to the damage of the original attack? It seems like it's been made more powerful, too: Riposte damage used to be pretty negligible, but now it's a big deal. This makes melee characters somewhat less awesome in certain situations: a low-level character with high combat skills could theoretically one-shot himself, especially if using Mighty Blow.

From what I've seen, Spineshield seems to work the same way: the attacker takes as much damage as the defender.
Link to comment
Share on other sites

Either it's proportional to the original attack damage, or to some other factor -- it definitely does not depend on your own attack strength. I riposted for around 60 to Nichol when my attacks towards him were doing 5-10. Note that Nichol's armor (or was that mine? Well, somebody's) -did- get to reduce damage from the riposte attack.

 

Ugh - flashback to riposting Chitrachs in A4. Run away!

Link to comment
Share on other sites

I haven't run into many riposting enemies in A6 so far, but the observations I've made are also consistent with riposte damage being proportional to attack damage. What I do know is that my fighters tear themselves up pretty well when they get riposted.

 

Any idea what kind of protection Parry provides from melee damage when the attack isn't parried outright? It was tremendously overpowered in A4 (fighters took single-digit damage when they got hit at all), much less powerful in A5, and in A6 it may be weaker still.

Link to comment
Share on other sites

  • 3 months later...

Damage done by riposte is proportional to your riposte skill. Damage done is unaffected by your weapon or melee skill or the strength of the enemy's attack.

 

My best guess for the formula would be (RPT)d10, where RPT is your riposte skill after applying the 10-cap. (So, if your riposte skill is 20, the damage done is the sum of 15 ten-sided dice.)

Link to comment
Share on other sites

I used the character editor to build a character with just riposte and endurance, then fought the rats in the Food Depot. Plotting the average damage done for every riposte value from 5 to 20 showed a linear trend when using the 10-capped riposte values.

 

Actually, my dice estimate is off because I failed to account for armor - I was killing the rats in one hit and in that case the amount blocked is not reported. It looks like perhaps two d6's per level is more correct. I'm doing more extensive testing now with my current character, who I'm keeping at 3 RPT for that purpose; I'll post again once I have enough data to be certain.

Link to comment
Share on other sites

The formulas for figuring all these things out seem needlessly complex... Has Jeff expressed any reasons for doing this like this, as opposed to something simple, e.g., Bayseian calculations, or something? Or at least, you know, document things?

 

It just seems if you're going to make things complicated, you might as well do it in a reasonable way!

Link to comment
Share on other sites

I think Jeff's system mainly 'just grew'. I think he's gradually tweaked it over the course of each series, addressing problems as they've come up, but has only changed it enough to get each game working okay enough for release.

 

Coming up with a perfect system from the start is impossible. There are too many unexpected consequences, so every system will have flaws at first. But then, once a flawed system is in place, there's too much invested in it to change it except very slightly. If Jeff revised his bizarre armor rules, for instance, he'd have to go over all the items and rebalance them, instead of being able to just import all the previous game's items and tweak a few of them.

 

That would be at least a day or two of work, with some risk of turning out to be a lot more than that, if the rebalancing became a nightmare. Would it have any effect on sales at all? Very doubtful. So asking Jeff to create a new armor system would be like asking him to donate a week's salary to the noble cause of shareware game engine elegance. This is not a hobby for him.

 

Jeff has explained in some of his blog posts that a big part of why he is still in business, after quite a few years in his improbable line of work, is that he is not a perfectionist. He is more than willing to make something good enough to sell, sell it, and start on the next game.

 

I'm sure he's right, that that is simply the only way to survive as a shareware game producer. I complain about things in beta testing, but often the answer is that they just aren't worth fixing, and I accept that. And as a player, I look at the inevitable limitations in Spiderweb products as genre conventions.

Link to comment
Share on other sites

Yeah, that's true, but that doesn't mean he can't learn between one game and another!

 

I mean, like I've mentioned before, the reason no one I've tried to get to play these games have bought them is that there are so many weird problems in his games. I really think putting just a little more work into it, by finding these people who don't think his games are good enough and addressing their issues, could significantly increase sales (not to mention advertising, I have never once seen an ad for any of his games anywhere!). And it's the reason I basically don't buy his games anymore; there's almost nothing qualitatively new in them!

 

Not to mention that having a unified scheme (e.g., bayesian) instead of manually adjusting formulas would easily prevent things like forgetting to have magical efficiency effect everything...

Link to comment
Share on other sites

Yes - at 10 Riposte I collected twenty data points with and without a weapon equipped, with ridiculous amounts of combat skills, with ridiculous amounts of anatomy (against humans), and against several enemies (high-level enemies in the Eastern Gallery, the sentinels near Dharmon, and the rats and goblins in the Food Depot). I also tested with both a low-level and a high-level character. In all cases the average damage (counting amount blocked) was roughly 58.

 

Once assured that damage was based only on Riposte skill, I started collecting a larger data set to try to characterize the actual damage formula. I kept my current character at 3 RPT, on the assumption that a smaller number of dice would make it easier to see where the extreme ends of the range were, and I collected this data set:

riposteDamage.png

Here, the blue bars show experimental data, and the red line shows the distribution of (6d6 + 2), which appears to be the best fit. My guess is that the +2 is a constant offset, but I'll collect more data at higher RPT levels to verify.

Link to comment
Share on other sites

  • 3 weeks later...

On further investigation, 2d6 per level (with no constant offset) seems to be the best fit. Here's the graph for Riposte=6:

riposteDamage2.png

Damage here means total damage, counting the amount blocked. The actual numbers are:

 

3 Riposte (n = 616)

Mean: 22.9 +/- 0.4

Variance: 19.1 +/- 2.2

 

6 Riposte (n = 849)

Mean: 41.3 +/- 0.4

Variance: 35.0 +/- 3.4

 

(error bars are +/- 2 sigmas)

 

Rolling NdM has a mean of N * (M + 1) / 2 and a variance of N * (M^2 - 1) / 12. So, 6d6 should have a mean of 21 and a variance of 17.5, and 12d6 should have a mean of 42 and a variance of 35.

 

In both cases, the variance was within an acceptable tolerance of the expected value, but the mean was significantly off. This may mean that some other factor affects Riposte which I forgot to take into account, perhaps something like enemy blessing state. Alternatively, it could be a roundoff artifact in how damage is reported. In any event, 2d6 per Riposte level seems like a fairly accurate model.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...