-
Síle Ekaterin Liszka authoredSíle Ekaterin Liszka authored
bvs.pl 1.41 KiB
use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
use Date::Format qw(time2str);
$VERSION = 0.1;
%IRSSI = {
name => 'Billy vs Snakeman',
description => 'Informational triggers for the BvS browser-based game.',
author => 'Síle Ekaterin Liszka',
license => 'MIT',
};
my $current_darkhour_x = 3;
sub darkhour {
my $x = $current_darkhour_x;
my @time =
my $ret = 'Dark Hours for '.time2str('%A, %B %d, %Y: ', time);
my $vals = sprintf('%02d:00, %02d:00, %02d:00, %02d:00, %02d:00',
$x, $x + 4, $x + 14, $x + 17, $x + 21 - 24);
$ret .= $vals;
return $ret;
}
Irssi::command_bind 'dayroll' => sub {
my ($data, $server, $witem) = @_;
$current_darkhour_x++;
if ($current_darkhour_x > 6) {
$current_darkhour_x = 3;
}
};
Irssi::signal_add 'event privmsg' => sub {
my ($server, $data, $nick, $address) = @_;
my ($target, $text) = split / :/, $data, 2;
my ($trigger, $input) = split / /, $text, 2;
if ($target !~ /^[#&]/) {
$target = $nick;
} else {
$target = "$target $nick:"
}
if ($trigger eq '.darkhour') {
if ($input eq '') {
my $dk = darkhour;
$server->command("msg $target $dk");
} elsif ($input =~ s/^set (\d)$/$1/) {
$current_darkhour_x = $input;
my $dk = darkhour;
$server->command("msg $target $dk");
}
}
};