I don't think that'd work.
As an example generate a random value:
0-30 -- 50% of the time
31-60 -- 35% of the time
61-100 -- 15% of the time
not necessarily that but something similar.
What about something like this.
Generate a random number between 0-190
Send to a private variable
If Equal to or less than 90-Divide by 3 and round
If between 91-150- Subtract 60 then Divide by two then round
If Greater than 150- Subtract 90 then round
I believe that should give you
0-30 -- 9/19 of the time
31-60 -- 6/19 of the time
61-100 -- 4/19 of the time