Usando la variable "azar", esta definida como
azar=rand(100), esto quiere decir que el valor de esa variable es un número al azar entre 0 y 100 cada vez que se llama ese evento, así que ese 100 es una aproximación al 100% y abajo en el condicional dice
if azar<25 esto quiere decir que si el número generado es menor a 25 osea entre 0 y 24, lo cual es el 25%, mientras el siguiente condicional dice
elsif azar>25 && azar<50, esto quiere decir que si el número generado no es menor a 25, entonces revisará si es mayor a 25 y menor a 50, lo cual sería otro 25% aproximadamente, mientras que si sale un número mayor a esa cantidad, nada sucederá ya que no hay condicionales adicionales para esas cantidades.
Así que solo editas los número de
azar=rand(100) que será tu valor de 100%, y luego las probabilidades de cada condicional según quieras.
EDITO :
Para que los encuentros salvajes sean 10% y los objetos 70% sería algo así.
Código:
def pbRockSmashRandomEncounter
azar=rand(100)
if azar<10
pbEncounter(EncounterTypes::RockSmash)
elsif azar>10 && azar<80
objetos=[PBItems::LEFTOVERS,PBItems::POKEBALL,PBItems::POTION]
Kernel.pbItemBall(objetos[rand(objetos.length)])
end
end