Jump to content
  • 0

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


Sensuki

Question

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
  • Like 1
Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

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
Link to comment
Share on other sites

  • 0

 


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" ***

 

Link to comment
Share on other sites

  • 0

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" ***

 

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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" ***

 

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

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:

Link to comment
Share on other sites

×
×
  • Create New...