Have you considered making the weight functions work by multiplying higher qualities instead of dividing Q 1 or Q 2 ? Say your weight function is WQ , M , where Q is quality and M is the number of levels in Mirror of Sight . Use something like WQ , M W 0 Q 1 MkQW 0 Q is the base weight for each rune i . e . the weight when M 0 , and k is a constant you can use to tune how strong the effect of Mirror of Sight is . Obviously , you normalise the weights over the possible qualities to get the probabilities for each . For M 0 , the results are the same as the current formula . So if your possible qualities are 25 P 2 0 . 8997 P 3 0 . 0900 P 4 0 . 0090 P 5 0 . 0013 If you use k 30 which I think is pretty good as a first estimate for balance , then at M 12 P 2 0 . 8593 P 3 0 . 1203 P 4 0 . 0168 P 5 0 . 0035 At M 30 , Q 5 becomes about as common as Q 4 was with no Mirror of Sight P 2 0 . 7987 P 3 0 . 1597 P 4 0 . 0319 P 5 0 . 0096 M 60 P 2 0 . 6991 P 3 0 . 2097 P 4 0 . 0629 P 5 0 . 0283 And , going a bit insane with it , M 120 notice that almost 10 % of runes are Q 5 P 2 0 . 5161 P 3 0 . 2581 P 4 0 . 1290 P 5 0 . 0968 If the results get too silly at higher levels though I don ' t think 120 is really possible to reach , is it ? , you can start decaying the value of additional levels e . g . above level 60 in Mirror of Sight , each new level only adds 1 sqrtL points to M . If somebody ' s able to get Mirror of Sight to level 1400 for M 119 . 26 , they deserve their 10 % of Q 5 runes .