Sensuki Posted October 3, 2014 Share Posted October 3, 2014 (edited) 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 October 3, 2014 by Sensuki 1 Link to comment Share on other sites More sharing options...
0 Uomoz Posted October 3, 2014 Share Posted October 3, 2014 (edited) Seems a bit too specific to be a bug, looks like intentional. Might be related to how the game rounds those numbers? Edited October 3, 2014 by Uomoz Link to comment Share on other sites More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 (edited) 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 October 3, 2014 by Sensuki Link to comment Share on other sites More sharing options...
0 IndiraLightfoot Posted October 3, 2014 Share Posted October 3, 2014 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 More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 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. Link to comment Share on other sites More sharing options...
0 IndiraLightfoot Posted October 3, 2014 Share Posted October 3, 2014 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 More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 No you've increased the hit range from 36-95 that's the wtf bit 1 Link to comment Share on other sites More sharing options...
0 Matt516 Posted October 3, 2014 Share Posted October 3, 2014 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 More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 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. Link to comment Share on other sites More sharing options...
0 Lychnidos Posted October 3, 2014 Share Posted October 3, 2014 The RNG range is 0-99. Link to comment Share on other sites More sharing options...
0 IndiraLightfoot Posted October 3, 2014 Share Posted October 3, 2014 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 More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 The RNG range is 0-99. If that was the case the Graze one would be 49. Link to comment Share on other sites More sharing options...
0 Lychnidos Posted October 3, 2014 Share Posted October 3, 2014 (edited) 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 . Edited October 3, 2014 by Lychnidos Link to comment Share on other sites More sharing options...
0 Sensuki Posted October 3, 2014 Author Share Posted October 3, 2014 (edited) 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 October 3, 2014 by Sensuki Link to comment Share on other sites More sharing options...
0 Sensuki Posted October 23, 2014 Author Share Posted October 23, 2014 bump Link to comment Share on other sites More sharing options...
0 Sensuki Posted October 29, 2014 Author Share Posted October 29, 2014 bump Link to comment Share on other sites More sharing options...
0 NCarver Posted October 29, 2014 Share Posted October 29, 2014 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! Link to comment Share on other sites More sharing options...
0 Sensuki Posted December 1, 2014 Author Share Posted December 1, 2014 Finally have hard evidence that it is bugged 1 Link to comment Share on other sites More sharing options...
0 Hormalakh Posted December 1, 2014 Share Posted December 1, 2014 (edited) bears are allowd to crit you from 5-100. They graze from 1-4. Edited December 1, 2014 by Hormalakh My blog is where I'm keeping a record of all of my suggestions and bug mentions. http://hormalakh.blogspot.com/ UPDATED 9/26/2014 My DXdiag: http://hormalakh.blogspot.com/2014/08/beta-begins-v257.html Link to comment Share on other sites More sharing options...
0 Sensuki Posted December 17, 2014 Author Share Posted December 17, 2014 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. Link to comment Share on other sites More sharing options...
Question
Sensuki
In the source code of the class "CharacterStats", the following floats are declared as Class Variables:
http://pillarsofeternity.gamepedia.com/Attack_Resolution
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 SensukiLink to comment
Share on other sites
19 answers to this question
Recommended Posts