From 95da60fc1d7355c1c0d8417082f0d444c3805b5d Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Tue, 22 Dec 2015 17:21:04 -0800 Subject: [PATCH] Don't rank ratio if less than 50 answers --- modules/cjeopardy/cjeopardy_scores.pl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/cjeopardy/cjeopardy_scores.pl b/modules/cjeopardy/cjeopardy_scores.pl index 3b93ff5a..5c2a7778 100755 --- a/modules/cjeopardy/cjeopardy_scores.pl +++ b/modules/cjeopardy/cjeopardy_scores.pl @@ -64,6 +64,7 @@ sub sort_ratio { sub print_ratio { my $player = shift @_; + return undef if $player->{lifetime_wrong_answers} + $player->{lifetime_correct_answers} < 50; my $wrong = $player->{lifetime_wrong_answers} ? $player->{lifetime_wrong_answers} : 1; my $ratio = $player->{lifetime_correct_answers} / $wrong; return undef if $ratio == 0; @@ -189,7 +190,7 @@ if (lc $command eq 'rank') { if (not exists $ranks{$opt}) { my $player_id = $scores->get_player_id($opt, $channel, 1); - my $player_nick = $scores->get_player_data($player_id, 'nick'); + my $player_data = $scores->get_player_data($player_id); if (not defined $player_id) { print "I don't know anybody named $opt\n"; @@ -200,6 +201,12 @@ if (lc $command eq 'rank') { my @rankings; foreach my $key (sort keys %ranks) { + if ($key eq 'ratio' && $player_data->{lifetime_correct_answers} + $player_data->{lifetime_wrong_answers} < 50) { + my $needed_answers = 50 - ($player_data->{lifetime_correct_answers} + $player_data->{lifetime_wrong_answers}); + push @rankings, "$ranks{$key}->{title}: ($needed_answers more answers for rank)"; + next; + } + my $sort_method = $ranks{$key}->{sort}; @$players = sort $sort_method @$players; @@ -226,7 +233,7 @@ if (lc $command eq 'rank') { push @rankings, "$ranks{key}->{title}: N/A"; } else { if (not $stats) { - push @rankings, "$ranks{$key}->{title}: #$rank (N/A)"; + push @rankings, "$ranks{$key}->{title}: N/A"; } else { $stats =~ s/[^:]+:\s+//; push @rankings, "$ranks{$key}->{title}: #$rank ($stats)"; @@ -235,9 +242,9 @@ if (lc $command eq 'rank') { } if (lc $nick ne $opt) { - print "$player_nick->{nick}'s rankings: " + print "$player_data->{nick}'s rankings: "; } else { - print "Your rankings: " + print "Your rankings: "; } print join ', ', @rankings; print "\n";