Why not decrease the percentage each time you make the check?

first try 1 out of 10
second 1 out of 9
third 1 out of 8
last = give dagger

This way you can be sure the dagger will be given in 10 checks and still be random. After the tenth check reset the value to its original