diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 7108829..a859e4c 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -3,6 +3,7 @@ Auto IRC Bot 3.0: Change Log 3.0 Indev =============================================================================== + * Fixed a minor retract bug in Werewolf. * Fixed two major bugs in Werewolf that messed up game play. * Fixed several bugs and changed around JOIN/START/BEGIN in Werewolf. * Fixed parsing of host masks with / in them. (if it was broken) diff --git a/modules/Werewolf.pm b/modules/Werewolf.pm index ca96365..718b2ff 100644 --- a/modules/Werewolf.pm +++ b/modules/Werewolf.pm @@ -384,14 +384,15 @@ sub cmd_wolf { } # Delete their vote. - my $hvi; + my ($hvi, $target); foreach my $plyr (keys %LYNCH) { - if (exists $LYNCH{$plyr}{lc $src->{nick}}) { $hvi = 1; delete $LYNCH{$plyr}{lc $src->{nick}} } + if (exists $LYNCH{$plyr}{lc $src->{nick}}) { $hvi = 1; delete $LYNCH{$plyr}{lc $src->{nick}}; $target = $plyr } } # Done. if ($hvi) { privmsg($src->{svr}, $src->{chan}, "\2$src->{nick}\2 retracted his/her vote."); + if (!keys %{$LYNCH{$target}}) { delete $LYNCH{$target} } } else { notice($src->{svr}, $src->{nick}, 'You haven\'t voted yet.');