Ya existe la SHADOWBALL que los vuelve oscuros..
BallHandlers::OnCatch.add(:SHADOWBALL,proc{|ball,battle,pokemon|
pokemon.makeShadow
})
Y esta es la de la MASTERBALL
BallHandlers::IsUnconditional.add(:MASTERBALL,proc{|ball,battle,battler|
next true
Sí lees bien puedes unirlos