From 54ba2c0825b8a506a105fbb9425fd7bc69b7a07a Mon Sep 17 00:00:00 2001 From: ElTata <eltata@firemail.cc> Date: Wed, 4 Dec 2019 15:35:38 +0100 Subject: [PATCH] fixed range of expovariate output --- Irpg/Event.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Irpg/Event.pm b/Irpg/Event.pm index 5e964ca..8440995 100644 --- a/Irpg/Event.pm +++ b/Irpg/Event.pm @@ -180,7 +180,9 @@ sub choose_player { @players = @levels{sort keys %levels}; #exponential distribution on levels (lambda = 0.5) - @players = @{$players[-log(rand) / 0.5]}; + my $rand_val = $#players+1; + $rand_val = int(-log(rand) / 0.5) while ($rand_val > $#players); + @players = @{$players[$rand_val]}; #then uniform distribution for players of the same level return $players[rand(@players)]; } -- GitLab