07022009, 06:50 AM  #1 
Member
Join Date: Jun 2009
Posts: 42

[Article] Pseudo Random DistributionOverview A Pseudo Random Distribution refers to the Warcraft III engine's dynamic probability calculations for certain percentagebased attack modifiers. Rather than using a static percentage, the probability is first set to a small initial value, then gradually increased with each consecutive attack for which the modifier does not occur. The probability then drops back to the initial value when the attack modifier does apply. Not only does this system make long strings of successful modifiers unlikely, but it also makes going an entire game without an attack modifier occurring impossible, as eventually the dynamic probability exceeds 100% and "forces" a modifier on the next attack. The distribution of attack modifiers is therefore not truly random, hence the term Pseudo Random Distribution. In general, all abilities that are rounded to the nearest 5% in the Warcraft III engine follow this probability distribution.Pseudo Random Abilities The list of all currently known base abilities that follow this system of balanced randomness is shown below. Triggered abilities notably do not fall in this list.
Probability Mechanics Critical Strike ExampleConsider the case of a 20% chance to Critical Strike. If the game were truly random, then for each attack there would be a 20% chance for the unit to land a Critical Strike, regardless of how many Critical Strikes had been performed in the past. A simple implementation would therefore be to select a random integer between 1 and 100, and if the integer was less than or equal to 20, then the engine would cause that attack to be a Critical (which is the usual construct used by triggered percentagebased abilities). While this implementation would, in the long run, average out to 20% of attacks being Criticals, there is nothing preventing an infinite series of Critical Strikes or, conversely, an absence of Critical Strikes for the entire game, although the chance is rather insignificant. To prevent the ensuing complaints and balance this random game mechanic, the Warcraft III developers implemented a Pseudo Random Probability Distribution. Instead of there being a 20% chance to Critical Strike with every attack, the first attack made actually has a 5.57% chance to Critical Strike. If that is not a Critical Strike, then the second attack has a 11.14% chance to Critical. If that is also not a Critical Strike, then the third has a 16.71% chance to Critical, and so on, adding 5.57% for each consecutive nonCritical. When a Critical Strike does occur, however, the chance for the next attack resets to 5.57%. In the long run, the number of Critical Strikes divided by the total number of attacks somewhat approximates the stated 20%, but now it is extremely difficult to have a series of Critical Strikes, and also impossible to go more than 17 attacks without a Critical, because the percentage for the 18th attack (assuming 17 previous consecutive nonCritical attacks) is 100.26%. In effect, the game causes the number of attacks between Criticals to be skewed towards 1 / 20% = 5, with a maximum limit of 17. The following sections deal with specific mechanics of the PRD. It is very long, and probably very boring too, unless you enjoy math and/or coding. For everyone else, feel free to skip down to the Summary section at the end. Probability Formula For all of the abilities stated above, the Warcraft III engine uses an initial percentage (%) value that linearly increases with each consecutive attack for which the attack modifier does not apply. The probability formula for an attack modifier to occur is therefore: Code:
P(N) = C * N Pseudo Random Probability Constants Two tables of C values are shown below. P(E) is the expected probability, C is the constant, and the maximum number of consecutive attacks that can occur without the attack modifier is listed under Max N. So for a Critical Strike with a value of 45%, a series of four normal attacks can occur, but the fifth attack will then have to be a Critical. This first table represents the theoretical C values for every multiple of 5%, which were calculated using numerical methods (credits to ICallBotSolo and Cano Tolto).Theoretical Probability Constants These theoretical probability constants do not match the ones that Blizzard employs, however, with serious consequences that will soon be made clear. This next table lists the C values that the WC3 engine appears to use, along with the corresponding actual probability. These values were estimated from experiments involving upwards of a million attacks. Actual Probability Constants The table below has a side by side comparison of theoretical and actual values: Compiled Probability Constants As the tables show, the actual and theoretical C values agree closely up to 30%, but then diverge sharply. In other words, the actual probability of attack modifiers is significantly lower than the expected probability as P(E) increases, a mistake that Blizzard has yet to correct. Probability Error For obvious reasons, the overall probability of the attack modifier occurring should be as close as possible to P(E). In other words, after an infinite series of attacks, the number of attack modifiers that occurred divided by the total number of attacks should ideally be equal to P(E). However, Warcraft III's Pseudo Random Distribution actually results in an overall probability that is less than P(E). While this negative deviation is insignificant at low P(E), differing by less than a percent for P(E) = 30%, the error increases sharply for higher percentages: a P(E) of 80% actually has a probability of only ~66.7%. This error likely results from two factors: 1. A truncation in C. Without an infinite number of digits available for C, it is virtually impossible for a linear probability formula to accurately model a random distribution for a given P(E). Simply calculating C requires a significant amount of computing time, considering that it has to match an entire probability distribution to a single constant. This is the reason why all of the above skills are rounded to the nearest 5%: instead of dynamically calculating C as well, which would take up far too many CPU resources for each attack, the developers were able to create a static table of C values for 5%, 10%, 15%, ...95%, which could then be substituted into the above formula to determine P(N). The truncation of these defined values, which always results in smaller values, then leads to actual probabilities that are less than P(E). This effect should be nearly negligible for high C values, however, meaning that this cannot account for the significant errors seen at high P(E). 2. Ladder P(E) values. Blizzard tailored Warcraft for Ladder play, not custom maps, and the highest P(E) in Ladder is the Tauren's Pulverize, with a probability of 25%. It is likely not a coincidence that the error in P(E) increases significantly after this point. When Blizzard implemented the PRD, they probably only calculated C values for the percentages that they knew they'd use in Ladder, and all other values were simply estimated from those results (e.g. with a fitted exponential curve). Apparently they didn't care to check whether those values actually worked, leading to the current situation. Probability Distribution To make the difference between the PRD and true random distributions even more clear, consider one of the above abilities with P(E) = 10%. The following graph shows the probability of getting an attack modifier on the Nth attack since the last modifier occurred, if the distribution were truly random. It is important to note that while the probability of getting an attack modifier for each individual attack is always 10% in a true random distribution, simply getting to the Nth attack without an attack modifier has only a (1  P(E))^(N  1) chance. So for N = 2, the probability is 0.09: 90% chance that the first (N = 1) attack was not an attack modifier, multiplied by the chance of getting a critical for the N = 2 attack (10% for all attacks in a true random mechanism).Note that the distribution follows a simple exponential formula, with a probability that steadily decreases by 0.1 with each consecutive attack. Now compare that graph with this Pseudo Random Distribution. This graph shows the same probability of getting an attack modifier on the Nth attack since the last modifier occurred, but with Warcraft III's Pseudo Random Distribution. Again, it is important to note that this graph does not show the individual probability of getting an attack modifier on the Nth attack (which is given by P(N) = C * N), but the product of P(N) and the chance that none of the previous N  1 attacks have had a successful attack modifier. Note that the chance for the first attack is equal to the value of C for P(E) = 10%: 0.01475. The differences should be clear: there is a much lower chance of getting consecutive attack modifiers, the overall distribution is shifted to the right, and there is also a finite point at which the probability reaches 0, although not quite shown on this graph. Practical Implications Attack CounterThe attack counter N is integral to the PRD, but its mechanics are not fully understood. Much of the following is inferred from observation and common sense, simply because we have no way of knowing exactly how Blizzard implemented the PRD. The counter does not increase when attacking units against whom the attack modifier cannot apply. So attacking an enemy building would not increase the chance of a Critical Strike or Bash on the first subsequent attack(s) on an enemy unit. The counter also does not increase when the hero misses an attack due to Evasion, height difference, or debuffs such as Drunken Haze. Attacks “evaded” through Triggered Heals will still apply to the counter, however. For Orb of Slowbased abilities, the counter is not disabled during the cooldown period. This means that attacks made by the Spirit Bear during the cooldown of Entangle will greatly increase the chance of entangling as soon as the cooldown is over. Each pseudo random skill has its own attack counter, even if multiple skills of the same type are on the same hero. If multiple pseudo random skills proc at the same time but one overrides, both counters are reset nonetheless, e.g. in the case of two Critical Strikes. On a similar note, Illusions have their own attack counters for skills they inherit from the parent hero. Applications The Pseudo Random Distribution permeates all of gameplay, with some direct applications as well. A hero with a Critical Strike ability could fight creeps until a long string of nonCriticals occurred, then head into a team battle with an increased Critical Strike chance for his first attack(s). Such a tactic, while time consuming, could significantly increase the hero's DPS for that battle. The applications are even greater for heroes with an innate Bash skill, who could build up the same string of nonBashes in order to maximize their chances of landing a Bash in the beginning of battle (remember that Cranium Basher does not follow the PRD). Furthermore, the fact that consecutive Bashes are discouraged by the Pseudo Random Distribution benefits Bash heroes greatly in that stun times will not overlap as much as in a true random distribution, making Permabashing a distinct possibility. Stacking attack speed items may therefore be feasible on these heroes, and especially for Syllabear’s Spirit Bear for the reason stated above. Summary The PRD is a builtin feature of the Warcraft III engine that balances many chancebased abilities to prevent too many or too few activations. Because of this system, players are guaranteed an attack modifier (ex. Critical Strike, Damage Block, Bash, etc) after a certain number of attacks. Every time an attack occurs (that is against a valid target and does not Miss) and the modifier does not activate, the chance of the modifier activating in the future increases linearly; when the modifier does proc, however, the chance drops back to a low initial value. As a result, attack modifiers tend to occur nonconsecutively and at more regular intervals. Due to a programming oversight by Blizzard, at percentages greater than 30%, attack modifiers regulated by the PRD activate less frequently than they should. The PRD does not affect Evasion or triggered skills such as Multicast and Starfall. See Also Forum Topics 219284 and 221292. In these forum topics, a slightly different formula is used in which N is defined as the number of inbetween attacks, which has a minimum value of 0. For ease of comprehension, this article defines N as the number of attacks since the last attack modifier, with a minimum value of 1. Disclaimer: This article was originally written for the DotaAllstars Wiki in October 2008. This subject was first researched in May 2008, but the person who said he'd write a guide about it never got around to it. So after realizing there still wasn't any consolidated guide or article about this fairly hefty game mechanic, I compiled all the information from the two forum topics and wrote this guide. I do not claim any of the findings as my own, nor do I take any credit for the testmaps, formulas, or findings from Malle, ICallBotSolo, 1239, and many others who contributed. The additions from Cano Tolto, Clogon, and 3DM@rk were invaluable in updating this article, as was the testmap from KileRatZ which was instrumental in estimating the actual probabilities and constants. Thanks to Wyvernoid for editing the first versions. Feedback, and especially corrections, would be greatly appreciated. 
Last edited by Adra; 07202009 at 11:00 PM. 
07022009, 07:04 AM  #2 
Member
Join Date: Jun 2009
Location: Singapore
Posts: 877

Re: [Article] Pseudo Random Distribution
Nice, we can finally have something to direct people to rather than reexplain prd everytime someone posts a topic about it. IMO we should have this in the index on the mechanics page, or at least have it in the advanced mechanics guides section.

07022009, 07:52 AM  #3 
Member
Join Date: Jun 2009
Posts: 264

Re: [Article] Pseudo Random Distribution
This guide is amazing to be honest it helped me a lot!!
__________________

07022009, 09:00 AM  #4 
Member
Join Date: Jun 2009
Location: .de
Posts: 272

Re: [Article] Pseudo Random Distribution
That article was missing here, already loved it on DA.
Very helpfull if some people go like "omg entangle luck, perma entangle wtfbbq". One link and it's clear, this time the thread looks even better. 
07022009, 07:15 PM  #5 
Member

Re: [Article] Pseudo Random Distribution
Moved to Advanced Mechanics Guides.
__________________
Hero/Item Database and Mechanics Feedback
Advanced Mechanics PlayDotA Wiki GONNA SPEW RED GOO ALL OVER YOUR SHOES 
07202009, 06:14 AM  #6 
Member
Join Date: Jun 2009
Posts: 1,211

Re: [Article] Pseudo Random Distribution
Is it possible that you could summarize the guide near the end? I'm not very good with numbers and it's a long read for my old n' gray eyes .

07202009, 10:38 PM  #7 
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
Uh...the Overview at the very beginning summarizes pretty much everything that the casual gamer will care about. I'd at least recommend reading the "Critical Strike Example" to get the gist of it, the rest is math jumbo and specific mechanics.
But yea, sure, I'll add a tl;dr disclaimer near the top. 
07282009, 09:53 PM  #8  
Member
Join Date: Jul 2009
Posts: 1,244

Re: [Article] Pseudo Random Distribution
Quote:


07282009, 11:37 PM  #9 
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
No. But we're still working out the kinks in Orb of Slow, it's pretty screwy.

08302009, 07:18 PM  #10 
Member
Join Date: Jun 2009
Location: Boston, Toronto, L.A.
Posts: 282

Re: [Article] Pseudo Random Distribution
PA's Blur evasion works the same way?

08302009, 09:50 PM  #11 
Member
Join Date: Jun 2009
Location: Stockholm, Sweden
Posts: 859

Re: [Article] Pseudo Random Distribution
No, only six base abilities are known to behave in accordance to this pattern. These are;

08302009, 09:54 PM  #12 
Member
Join Date: Jun 2009
Location: Switzerland.
Posts: 1,182

Re: [Article] Pseudo Random Distribution
I find this everiwhere, but I'm still too lazy to understand it.
__________________

09162009, 12:40 PM  #13 
Member
Join Date: Jul 2009
Location: Kraków, Poland
Posts: 4,132

Re: [Article] Pseudo Random Distribution
Even though I'm credited (thanks!) here for this:
I still quite don't get how to obtain these values using mathematical methods (this table is generated with a program I wrote, but it obtains the values with recursive function ran thousands of time  that's pretty retarded). These are two posts I don't get  by 3DM@rk and ICallBotSolo (unfortunately he's not active here). Could somebody define what exactly does the term numerical methods mean? Greets Cáno 
Last edited by Cáno; 09162009 at 12:53 PM. 
09162009, 06:18 PM  #14 
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
They mean numerical analysis, which is exactly what you did  approximating the actual value of C by recursively solving over a huge number of iterations. ICallBotSolo proposed that linear formula, then created a hugeass excel sheet to do the actual work (though I might be remembering his results sheet instead, as I recall he worked with MATLAB a lot).
As for 3DM@rk's post, I'm sure he would do a much better job explaining this, so bear with my longwinded explanation: At high percentages, N is low, so we know exactly how many attacks are possible. For P(E) = 100% (trivial case), we can construct the formula: Code:
P(E) = 1 critical / (1 attack) Code:
P(E) = 1 / (1 + (1  C)) P(E) = 1 / (2  C) 1 / P(E) = 2  C C = 2  1 / P(E) Code:
P(E) = 1 / (1 + (1  C) + (1  C)*(1  2C)) Code:
P(E) = 1 / (2*C^2  4*C + 3) 
Last edited by Adra; 09162009 at 06:21 PM. 
09162009, 08:02 PM  #15  
Member
Join Date: Jun 2009
Location: CZ
Posts: 676

Re: [Article] Pseudo Random Distribution
Quote:
It's just applied theory of probability. P(E) expresses the average number of critical strikes per one attack. Let's examine the probabilities here:
If C>=0.5, option (b) means that the second attack was a Critical strike. In point (a), we made one attack to score a critical strike (with probability C), in point (b), we had to make two attacks to score a critical strike (with probability 1C). We have covered the whole sample space (for C>=0.5), so we can make a weighted mean to obtain 1/P(E), aka the average number of attacks per one Critical Strike: Code:
1/P(E) = C*1 + (1C)*2 1/P(E) = C + 2  2*C 1/P(E) = 2  C Code:
C = 2  1/P(E) For C<0.5, we need to add more summands to the weighted mean, making the equation more complicated (and of higher degree in C).
__________________


09172009, 02:14 PM  #16 
Member
Join Date: Jul 2009
Location: Kraków, Poland
Posts: 4,132

Re: [Article] Pseudo Random Distribution
Thanks to both of you. It looks so logical when explained.
The language is the greatest barrier in understanding maths related problems. Even these which shouldn't raise any doubts. Greets Cáno 
12022009, 11:57 PM  #17 
Member
Join Date: Sep 2009
Posts: 88

Re: [Article] Pseudo Random Distribution
Is javelin affected by PRD?

12032009, 01:55 AM  #18 
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
Nope, Javelin's bonus damage is not based on any of the base abilities that follow PRD. Javelin's 20% chance to deal 40 bonus damage is completely triggered, and roughly goes like this: Whenever a unit is attacked, check the attacker's inventory for Javelin. For each Javelin found, generate a random integer from 1 to 100; if the integer is less than or equal to 20, then have the attacker deal 40 damage to the target. Note that this means Javelin actually triggers at the start of an attack (whereas PRDaffected skills all act at damage point Edit: To clarify, PRD skills are actually checked and the counter incremented/reset at the start of attacks, but the effect doesn't happen until damage point).

Last edited by Adra; 12072009 at 04:28 AM. 
12042009, 02:21 PM  #19 
Member

Re: [Article] Pseudo Random Distribution
Nice article. I remember numerous threads where people complained where people had 20/20 or 0/20 multicasts in agame so I totally see the point why blizzard implemented it.
It gives some possibilities to abuse it in dota, e.g. let's say I was attacking creeps with mortred and didn't get any criticals for some 10 hits so.. I should land a blink strike on enemy because I would have increased chance to proc a crit then.
__________________

12042009, 03:20 PM  #20  
Member
Join Date: Jun 2009
Posts: 3,014

Re: [Article] Pseudo Random Distribution
Quote:


12142009, 09:01 PM  #21 
Member
Join Date: Sep 2009
Posts: 4

Re: [Article] Pseudo Random Distribution
Nice article..just wondering, does PRD counts vs sange and maelstorm too?

12142009, 09:30 PM  #22 
Forum Staff

Re: [Article] Pseudo Random Distribution
Both are based on Orb of Slow, so yes. Read the beginning of the guide again

02182010, 12:41 AM  #23 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
Counter is increased/reseted after missing attack (tested critical on dh's evasion spell). Counter is changed before attack, where IsAttackCritical is determined.
(I found counter in memory and looked how it is changing) e: i guess 1st post should be edited with correct info 
Last edited by rigadri; 02182010 at 02:15 AM. 
02252010, 04:38 PM  #24 
Member
Join Date: Sep 2009
Posts: 265

Re: [Article] Pseudo Random Distribution
best article ever
__________________

03122010, 12:28 AM  #25 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
I found a way to see all this constants C(found place where wc3 compares rndnumber and C*N). Im to lazy too get all of them so if anybody cares to know C for some particiluar % let me know and ill post it here

Last edited by rigadri; 03122010 at 12:30 AM. 
03122010, 05:44 AM  #26 
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
Well, never too late to learn new things. I hope you won't take my absence as an attempt to ignore you, I simply have not been active.
I will assume that you are being honest about observing how the counter changes, but I would like some clarification. We were aware that the counter increments before the attack; otherwise secondary attack animations would not function. I don't believe the article states anything to the contrary. However, when you say that you watched how the counter changed, does that apply only to your second statement (about the counter changing before the attack) or to your first statement about missed attacks as well? Your parenthetical statement about using Demon Hunter's Evasion initially made me think that you were testing just by watching a sequence of attacks against a DH, which can lead to issues if the attacks are interrupted. I don't think I need to tell you that your finding would contradict what many people (including myself) believed to be true, which is why I'm asking. It would also oppose the Order of Damage Calculations, which places Misses before Criticals (on the other hand, Splash is also calculated after Misses, yet Splash attacks work even on Missed attacks. So you may be correct). Aside: When I first tested this matter with an 80% Orb of Slow, I chalked up the inconsistencies to the fact that any sequence of 2 normal attacks (which shouldn't be possible at 80%) only occurred with >1 Miss in the middle, which I assumed was sufficient to interrupt the chain of attacks. If you are correct, then this clearly has a different reason. I would like to request the actual values of C for 30%, 35%, and 40% (the points at which the theoretical and actual values start diverging). Although since there are only 19 values of C, is it really that hard to extract them all? 
03122010, 01:33 PM  #27 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
^heh no problem. I thought nobody cares about this anymore coz it;s old and since this thread helped me a lot for some things i thought i should share what i have found.
I found a function which is called when unit with PRD ability attacked a valid target(nonbuiilding,notally, etc). So far i figured this: •PRDSpellClass is created for each PRD ability(when ability is picked) and matching one is pushed for this function. •UnitClass of ability owner and UnitClass of attacked unit is pushed for this function (not sure atm what it does with this but i can asume it;s for further damage calculation) •Current probability is calculated (C*N) •Random real (float) number between 0 and 1 is generated and compared to current probability •Attack counter in PRDSpellClass is set to 1 or incremented depending on previous comparation This function is called before evasion is considered. I put blademaster and demon hunter on map and set evasion to 100%. Above function was called normaly (before i can see red miss above hero) so i guess at that point wc3 is not aware of evasion ability? I will know more about this when i figure out what;s this function reading/writing to/from unitclasses, but fact is that attack counter is changed no matter u miss attack due to evasion or not. I'll post later all C values.(i'm not home atm) It's not hard, it's just boring a bit, especially if you asume noone is reading it If u want me to do any special tests just send me map or smthing 
03122010, 01:51 PM  #29 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution

03122010, 02:20 PM  #30 
Member

Re: [Article] Pseudo Random Distribution
can u pm me it then?
Also as long as its not a bug or something you can abuse in game I believe it can be posted on this forum.
__________________
You can call me LEMONS

03122010, 03:00 PM  #31  
Member
Join Date: Jun 2009
Location: CZ
Posts: 676

Re: [Article] Pseudo Random Distribution
Quote:
And even if you somehow get to the C values that are actually used, I don't think they'll be much different from those stated in this article. Whether missing an attack affects the PRD counter can be confirmed quite easily, it's just a matter of creating a testmap.
__________________


03122010, 08:55 PM  #32 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
3DM@rk
If u think about it, big % of advanced mechanics forum violets wc3's EULA including this thread which is ok since its purpose is informative and noone can heavy profit from this info. Adra Here is complete list of Cs Code:
5% 3b79096c 0.003800000064074993 10% 3c70d845 0.014700000174343586 15% 3d03126f 0.03200000151991844 20% 3d600d1c 0.05470000207424164 25% 3da7bb30 0.08190000057220459 30% 3de69ad4 0.11259999871253967 35% 3e159b3d 0.1460999995470047 40% 3e39db23 0.18150000274181366 45% 3e5fa440 0.2184000015258789 50% 3e832ca5 0.25619998574256897 55% 3e973190 0.2953000068664551 60% 3eaaa64c 0.33329999446868896 65% 3ec19653 0.3781000077724457 70% 3ed73190 0.4203000068664551 75% 3eebe0df 0.46070000529289246 80% 3f000000 0.5 85% 3f147454 0.5799000263214111 90% 3f2aa64c 0.6665999889373779 95% 3f45460b 0.7706000208854675 
03122010, 11:43 PM  #33  
Member
Join Date: Jun 2009
Location: CZ
Posts: 676

Re: [Article] Pseudo Random Distribution
Quote:
Edit: nice job finding those values, though...
__________________


Last edited by 3DM@rk; 03122010 at 11:49 PM. 
03132010, 12:06 AM  #34  
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
Quote:
e: thx! 

03142010, 04:07 AM  #35  
Member
Join Date: Jun 2009
Posts: 42

Re: [Article] Pseudo Random Distribution
Well, we weren't off by much. Most experimental values differed from the actual values by less than a percent, although my numbers for 2030% were off by a bit more. For 10, 20, and 25%, the change is enough to increase Max N by one. The new table should therefore look like this:
In a past thread (http://www.playdota.com/forums/11900...hrangedunit/), Clogon found that when a ranged unit has multiple PRDbased skills (Crit and Orb of Slow) and both procced on the same attack, the Crit would override and the Orb's proc would be "saved" till the next attack, as long as the chain of attacks wasn't interrupted. Have you seen a mechanism for this in the code? 

Last edited by Adra; 03142010 at 10:05 AM. 
03142010, 03:58 PM  #36  
Member
Join Date: Jul 2009
Location: Kraków, Poland
Posts: 4,132

Re: [Article] Pseudo Random Distribution
A little comparison between the mathematically derived values, the Blizzard's values and test based values. Interesting thing is that Blizzard's C values can be rounded to 4 digits with negligible rounding error. Also, note the values for 60%, 80% and 90%. It makes me wonder what formula was used to obtain these values. What is the actual C and P for a probability of 100%? Edit: v So it is consistent with my calculations! :D 

Last edited by Cáno; 03142010 at 08:22 PM. 
03142010, 07:57 PM  #37 
Member
Join Date: Oct 2009
Posts: 37

Re: [Article] Pseudo Random Distribution
^for 100% is 1.0

05172010, 04:32 PM  #38 
Member

Re: [Article] Pseudo Random Distribution
Hmmm I just noticed that evasion does not use PRD, does this mean that the chance to miss on evasion is then truely random or does it use some other system?

05172010, 06:34 PM  #39 
Member
Join Date: Oct 2009
Location: Hungary
Posts: 258

Re: [Article] Pseudo Random Distribution
True random is not possible with computers without some outerior source iirc.

05172010, 07:54 PM  #40  
Member

Re: [Article] Pseudo Random Distribution
Quote:
However, it's not even proved if true randomness actually exists ^^
__________________
Review my suggestions:

