From fc72b5bff376dcfab83a2c92887aea03fa3c36c6 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 1 Jan 2015 16:42:43 +0100 Subject: Only kick registered nicks, and only reset the game if the kicked nick is a player --- Avalon.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Avalon.pm b/Avalon.pm index 4e8ed35..0d60734 100644 --- a/Avalon.pm +++ b/Avalon.pm @@ -36,13 +36,14 @@ sub game_ready { sub kick { my ( $self, $who ) = @_; my $av = $self->{avalon}; + return unless $who ~~ $av->{registered}; my $avdb = $self->{avdb}; my $entry = $who . $av->{registered}->{$who}->{version}; my $score = $avdb->get('KICKS', $entry); $avdb->set('KICKS', $entry, defined $score ? int($score) + 1 : 1); $self->say( channel => $av->{config}->{'game.channel'}, body => "UNREGISTERED $who" ); delete $av->{registered}->{$who}; - $self->reset_game; + $self->reset_game if $who ~~ $av->{players}; } sub load_avalon_db { -- cgit v1.2.3