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