summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2015-01-01 16:42:43 +0100
committerJulien Dessaux2015-01-01 16:42:43 +0100
commitfc72b5bff376dcfab83a2c92887aea03fa3c36c6 (patch)
tree5003fba455fb8be79a3a6f3bc4a1cf7dcb96161b
parentProtocol update (diff)
downloadavalon-arthur-fc72b5bff376dcfab83a2c92887aea03fa3c36c6.tar.gz
avalon-arthur-fc72b5bff376dcfab83a2c92887aea03fa3c36c6.tar.bz2
avalon-arthur-fc72b5bff376dcfab83a2c92887aea03fa3c36c6.zip
Only kick registered nicks, and only reset the game if the kicked nick is a player
-rw-r--r--Avalon.pm3
1 files changed, 2 insertions, 1 deletions
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 {