Jump to content
View in the app

A better way to browse. Learn more.

Obsidian Forum Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[301] Miss, Graze, Hit and Crit Thresholds possibly wrong?

Featured Replies

In the source code of the class "CharacterStats", the following floats are declared as Class Variables:

 

public static float CritThreshhold = 94f;
public static float GrazeThreshhold = 50f;
public static float MissThreshhold = 4f;
These numbers are at odds with the numbers given by Josh Sawyer

 

http://pillarsofeternity.gamepedia.com/Attack_Resolution

 

01-05 = Miss (attack has no effect)

06-50 = Graze (-50% damage or duration)

51-95 = Hit (standard damage and duration)

96-100 = Critical Hit (+50% damage or duration)

Going by this chart they would be 95, 50 and 5.

 

This may or may not be a bug, but it looks like one, so I thought I'd report it.

Edited by Sensuki

Seems a bit too specific to be a bug, looks like intentional. Might be related to how the game rounds those numbers?

Edited by Uomoz

1669_planescape_torment-prev.png


  • Author

The reason I think it looks funny is that the CritThreshold and MissThreshold Numbers are two less than the value of the next best attack type, but the GrazeThreshold is only one less.

 

If this is a mistake, I can see how it was made because you'd think that 5 would be a graze and 95 would be a crit hey? But they aren't if you want to use the perfect numbers

 

1,2,3,4,5 = 5% chance to miss

 

96,97,98,99,100 = 5% chance to crit

Edited by Sensuki

 


01-05 = Miss (attack has no effect)
06-50 = Graze (-50% damage or duration)
51-95 = Hit (standard damage and duration)
96-100 = Critical Hit (+50% damage or duration)


Hmm. Basically, this means that there's a fifty-fifty relation between miss/near-miss and hit/crit hit, at least for the default range, before accuracy and defence adjustments.

 

I'm not too happy about it, to be honest. I think combat resolution is slightly too slow, actually.

Id' like to see something like this as default range:

01-15 = Miss/blocked (attack has no effect)
16-35 = Graze (-50% damage or duration)
36-95 = Hit (standard damage and duration)
96-100 = Critical Hit (+50% damage or duration)

I added Blocked just for variation.

*** "The words of someone who feels ever more the ent among saplings when playing CRPGs" ***

 

  • Author

That looks horrible, lol (no offense). Why on earth would you want to hit more often, it's hitting more often that's causing some of the problems atm.

None taken! :)

 

And look again. I've thought it through. I've actually increased misses/blocks, and grazes are technically hits as well. In fact, it just a mild increase in damage, which I think is needed. I compare to the low-level BG1 and IWD1, where fights get resolved in a fast and fun way. I reckon, the fights still take too long for a RTwP-game (disregarding the killer Assassin rogue build).

*** "The words of someone who feels ever more the ent among saplings when playing CRPGs" ***

 

  • Author

No you've increased the hit range from 36-95 :p that's the wtf bit :p

That could work, but any change to the default thresholds would require a rebalance of Might/Accuracy, as the default thresholds have a huge effect on where the crossover point between Might/Accuracy efficacy is.

  • Author

I don't think there's much wrong with the formula, if your accuracy is lower than a defense you will miss more, if it's higher you'll crit more.

The RNG range is 0-99.  :p

That could work, but any change to the default thresholds would require a rebalance of Might/Accuracy, as the default thresholds have a huge effect on where the crossover point between Might/Accuracy efficacy is.

 

I know, I know. What my suggestion really comes down to is me being dissatisfied with the graze concept. Best thing would be, IMHO, to tunr all graze into miss/blocked. Them that fifty-fifty balance would make vey much sense for a default range. In fact, it would be perfect. :)

*** "The words of someone who feels ever more the ent among saplings when playing CRPGs" ***

 

  • Author

The RNG range is 0-99.  :p

 

If that was the case the Graze one would be 49.

Not necessarily, it depends on the relational operators used in the condition checks. Though for those numbers to be correct requires a rather weird use of them, one of the checks to use a different one than the others. But, this is a rather uninformed comment, I know nothing of the code Obsidian uses, so it's quite possible some logical reason to exists. Or, those numbers are simply wrong  :biggrin:

Edited by Lychnidos

  • Author

In the source code the rolls use values of 1,101 and the integer version of it excludes the maximum number, which is why 101 is used instead of 100.

 

http://docs.unity3d.com/ScriptReference/Random.Range.html

 

and they're using 

int roll = Random.Range(1, 101);

Edited by Sensuki

  • 3 weeks later...
  • Author

bump

  • Author

bump

Hello all,

 

Thanks for the postings (and the bumps). It looks like this issue was just some old data floating around. I have added this to the database and the roll ranges should be as follows:

 

01-05 = Miss (attack has no effect)
06-50 = Graze (-50% damage or duration)
51-95 = Hit (standard damage and duration)
96-100 = Critical Hit (+50% damage or duration)

 

I'll also be updating the known issues list with this thread for others to see.

 

Thank you all for your support!  :thumbsup:

  • 1 month later...
  • Author

Finally have hard evidence that it is bugged

 

WLZ7ReY.jpg

  • 3 weeks later...
  • Author

Also I'd just like to update this one.

 

Since 94 is rolling a critical, the hard coded values should be 96, 51 and 6.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.