I guess something like this could work.
root
var(4) ;increases probability of trigger
[state n]
type = varset
trigger = 1
var(30) = random
helper
[state n, set] ; n = desired probability n/999
type = varset
trigger = 1
var(0) = n + root,var(4) ; name
var(1) = n + root,var(4) ; name
var(2) = n + root,var(4) ; name
var(3) = n + root,var(4) ; name
var(4) = n + root,var(4) ; name
var(5) = n + root,var(4) ; name
var(6) = n + root,var(4) ; name
var(7) = n + root,var(4) ; name
var(8) = n + root,var(4) ; name
var(9) = n + root,var(4) ; name
changestate triggers:
parent, var(30)=[0-var(0)]
parent, var(30)=[var(0)+1-var(1)]
parent, var(30)=[var(1)+1-var(2)]
parent, var(30)=[var(2)+1-var(3)]
parent, var(30)=[var(3)+1-var(4)]
parent, var(30)=[var(4)+1-var(5)]
parent, var(30)=[var(5)+1-var(6)]
parent, var(30)=[var(6)+1-var(7)]
parent, var(30)=[var(7)+1-var(8)]
parent, var(30)=[var(8)+1-var(9)]
The second half E's post has still got me stumped though. Just over my head at this point I guess.