you can have a variable set to a random number from 1-100,
and then if it's from 1-50 (50% chance)
then the steal executes
else: failed.
note: the 50% can be any even number range, from 1-2, to as large as 1-1,000,000 if you wanted. It really doesn't matter, so long as the number you're checking against is the halfway point.
I suck at explaining with words, so incoming pseudocode
variable = (random from 1-100)
if variable >= 51
//steal
else
//failed
you just have to translate that into eventing.