Giobb's Rumble Sprinkle Calculations Theory

This theory was created for the 3 Million PoE Rumble Research Event!

Properties of a sprinkle attack

 * A sprinkle attack is sent only when there is a minimum of 9 balls in the queue.
 * Multirow only happens when there are more than 9 balls in the queue but less than 18 (also known as squishing effect).
 * Single row is sent containing its 9 balls everytime.

The value of the balls

 * The ball that pops a groups is worth 0!
 * A normal ball popped is = 1.
 * A dropoff ball is worth 2/3 of a normal ball.

The formula
 [ (number of popped balls + number of extraballs*1/3) + (number of dropoff balls*2/3) ] /2
 * Results are rounded down after every multiplication or division!
 * Important note about extraballs: Extraballs adds a "bonus" to original size of the group. I´m not sure yet if it is 1/3 but most of the tests correspond to the 1/3 ammount. Another detail is that the minimum bonus is 1. So when there are 2 extraballs for example the bonus will be 1 even if 2/3 is 0,666..
 * Important note about sprinkle scaling: As we aren´t sure of the sprinkle scaling effect the default formula is divided by 2. But as the match progress sprinkles tend not to be halved anymore.

Examples
Popping:
 * 3 3 3 3 3 3 3 3 3 =>(remember that we do not count the popper ball) [(2+0)+(0)]/2=1 We have 9 groups of 3 so 9*1=9 which sends a single row.
 * 15 => [(14+4)+(0)]/2=9
 * 4 4 4 4 4 => [(3+1)+(0)]/2=2 5*2=10 (9 single row plus 1 of the multirow)
 * 3d27 => [(2+0)+(18)]/2=10
 * 4d50 => [(3+1)+(33,333)]/2=18 This one sends only 9 beacause of the squishing effect.

Rumble sprinkle data examples
These examples can be found in the rumble sprinkle data charged examples section.
 * 3 3 21 => 2*[(2+0)+(0)]/2=2 + [(20+6)=(0)]/2=13 total=15 Yep! It doesn´t work everytime. I´m having problems yet. But I´m working on it.
 * 3 3 3 3 3 4 3 13 => 6*[(2+0)+(0)]/2=6 +  [(3+1)+(0)]/2=2  + [(12+3,333)+(0)]/2=7  total=15
 * 14 3 => [(13+3,666)]/2=8 +  [(2+0)]/2=1  total=9
 * 3 3 3 3 3 3 3 3 10 => 8*[(2+0)]/2=8 +  [9+2,333]/2=5  total=13
 * 3 3 3 3 3 3 3 3 15 => 8*[(2+0)]/2=8 +  [14+4]/2=9  total=17 It doesn´t work here too!
 * 4 6 4 15 => 2*[3+1]/2=4 +  [5+1]/2=3  +  [14+4]/2=9  total=16
 * 8d1 3 3 10 => [(7+1,666)+(0,666)]/2=4 +  2*[(2+0)]/2=2  + [9+2,333]/2=5  total=11  Weird!
 * 3 3 3 3d2 12 => 3*[(2+0)]/2=3 +  [(2+0)+(1,333)]/2=1  +  [11+3]/2=7  total=11
 * 3 3 9d5 => 2*[(2+0)]/2=2 +  [(8+2)+(3,333)]/2=6   total=8  Weird again!
 * 9 9d2 3 => [8+2]/2=5 +  [(8+2)+(1,333)]/2=5  +  [(2+0)]/2=1  total=11 And again... might be the sprinkle scaling indeed.
 * 18 21 => [17+5]/2=11 <= Doesn´t work here; but work there => [20+6]/2=13
 * 17d15 => [(16+4,666)+(10)]/2=15
 * 37 => [36+11,333]/2=23 gets squished to 9
 * 9 7d18 => [8+2]/2=5 +  [(6+1,333)+(12)]/2=9  total=14 Wrong!

I'll add others later

Video 1
"Hint #1: You should know why the sprinkle attack in this video contains 12 balls."

3 3 3 4d22 => 3*[(2+0)]/2=3 +  [(3+1)+(14,666)]/2=9  total=12 The later attacks form another queue.

Video 2
"Hint #2: You should know why the sprinkle attack at the end of this video contains 9 balls."

Left player breaks 16 and 8: 16 => [(15+4,333)]/2=9 <= This is the sprinkle attack at the end of the video. The 8 group forms another queue.

Video 3
"Hint #3: You should know why the left-hand side never gets sprinkle attacks that use the multirow pattern."

Right attacker breaks 3 10 17d3 14d5 7 5d1 3d3 6d10 4d1 3 3d2 5d6:

3 10 17d3 => [(2+0)]/2=1 +  [9+2,333]/2=5  +  [(16+4,666)+(2)]/2=11  total=17 The result of my formula is probably off by 1 unit here because it should be 18 in order to be squished to 9 as in the video. Also, after this queue is filled I assume the sprinkle scaling goes off and attacks aren´t halved anymore.

So 14d5 => [(13+3,666)+(3,333)]=19 which get squished to 9 Very important detail: The two previous queues got filled one right after the other so they are sent in the same attack to the oponnent who receives 9 single row + 9 single row

7 5d1 => [6+1,333]=7 +  [(4+1)+(0,666)]=2  total=9

The rest of the breaks form other queues.

Conclusion
There is still a significant number of tests which the formula doesn´t work but it works for a lot of other tests. The extraballs bonus and the sprinkle scaling factors cause the most trouble. I think there is another factor and I´m trying to discover it. Anyway, if ye have any suggestion please tell me via discussion page, pm or whatever.