I know I'm late to the party and this is waking a dead page however.
The script already does the following:
Rolls a 100 sided die and if its 30 or less it does:
switch ( Utility.Random(4) )
Which is Deciding which of (Castle, Keep, Tower) to give to the player.
However there are only Three options, so unless you change the 4 to a 3 you have a rare 1 in 4 chance that if the player is lucky enough to roll for one of the good mini houses they instead get nothing at all.