package HollyGameAI::RNG; use strict; use warnings; use Carp; our $roll_dispatch = { 0 => sub {0}, 1 => \&rollD1, 3 => \&rollD3, 6 => \&rollD6, 10 => \&rollD10, 20 => \&rollD20, }; sub roll { my ($self, $dxx) = @_; $self->set($dxx); return 0 unless defined $roll_dispatch->{$dxx}; return $roll_dispatch->{$dxx}->(); }