X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=PA.pm;h=6319f1765ad1811acaf716efe14c943cfa7a60f7;hb=f2a9f7a98baa00d8fdeb1b601b89a5742331ad24;hp=e6a2e330a85eaee3c6cbf6ccf68e29f684061c99;hpb=ec27c0cf1a0cb6ad3cce5ea0f1bf284e979ff95e;p=NDIRC.git diff --git a/PA.pm b/PA.pm index e6a2e33..6319f17 100644 --- a/PA.pm +++ b/PA.pm @@ -33,16 +33,16 @@ our @EXPORT = qw/checkPlanet checkGal shipEff shipStop parseValue prettyValue ca sub checkPlanet { my ($msg) = @_; - DB(); my ($x,$y,$z,$nick); if ($msg =~ /(\d+)\D+(\d+)\D+(\d+)/){ $x = $1; $y = $2; $z = $3; - }elsif (officer()){ + }elsif (officer() && defined $msg){ $nick = $msg; }else{ - $ND::server->command("notice $ND::target usage .p X:Y:Z".(officer() ? ' or .p nick' : '')); + $ND::server->command("notice $ND::nick usage .p X:Y:Z".(officer() ? ' or .p nick' : '')); + return; } my $f = $ND::DBH->prepare(q{SELECT coords(x,y,z),ruler,planet,race,score,size,value,scorerank,sizerank, valuerank, xp, xprank, alliance, relationship, nick, planet_status, hit_us, channel @@ -57,27 +57,34 @@ sub checkPlanet { if (officer() || dc()){ $ally = "Alliance=$planet->{alliance} ($planet->{relationship}), Nick=$planet->{nick} ($planet->{planet_status}), Channel: $planet->{channel}, Hostile Count: $planet->{hit_us},"; } - $ND::server->command("notice $ND::target $planet->{coords} $planet->{ruler} OF $planet->{planet},$ally Race=$planet->{race}, Score=$planet->{score} ($planet->{scorerank}), Size=$planet->{size} ($planet->{sizerank}), Value=$planet->{value} ($planet->{valuerank}), XP=$planet->{xp} ($planet->{xprank})"); + $ND::server->command("notice $ND::nick $planet->{coords} $planet->{ruler} OF $planet->{planet},$ally Race=$planet->{race}, Score=$planet->{score} ($planet->{scorerank}), Size=$planet->{size} ($planet->{sizerank}), Value=$planet->{value} ($planet->{valuerank}), XP=$planet->{xp} ($planet->{xprank})"); }else{ - $ND::server->command("notice $ND::target Couldn't find planet: $msg"); + $ND::server->command("notice $ND::nick Couldn't find planet: $msg"); } } sub checkGal { - my ($x,$y) = @_; - DB(); - my $f = $ND::DBH->prepare("SELECT name,score,size,value FROM galaxies WHERE x = ? AND y = ? and tick = (SELECT max(tick) from galaxies)"); + my ($msg) = @_; + + my ($x,$y,); + if ($msg =~ /(\d+)\D+(\d+)/){ + $x = $1; + $y = $2; + }else{ + $ND::server->command("notice $ND::nick syntax: .g X:Y"); + } + my $f = $ND::DBH->prepare("SELECT score,size,value FROM galaxies WHERE x = ? AND y = ? and tick = (SELECT max(tick) from galaxies)"); $f->execute($x,$y); while (my @row = $f->fetchrow()){ @row = map (valuecolor(1),@row); - $ND::server->command("notice $ND::target $x:$y $row[0], Score=$row[1], Size=$row[2], Value=$row[3]"); + $ND::server->command("notice $ND::nick $x:$y Score=$row[0], Size=$row[1], Value=$row[2]"); } } sub shipEff { - my ($msg,$value) = @_; - my ($amount,$ship); + my ($msg,$command) = @_; + my ($amount,$ship,$value); if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)$/){ - if (defined $value){ + if ($command eq 'veff'){ $value = parseValue($1); $value *= -1.5 if $value < 0; my $feud = ''; @@ -86,7 +93,6 @@ sub shipEff { } $ship = "\%$2\%"; }else{ - my $command = (defined $value ? "veff" : "eff"); $ND::server->command("notice $ND::nick syntax: .$command amount ship"); return; } @@ -126,16 +132,16 @@ FROM ship_stats WHERE name ILIKE ? $text .= " $ND::B$dead$ND::B $target[0] ($target[5]:$value),"; } chop $text; - $ND::server->command("notice $ND::target $text"); + $ND::server->command("notice $ND::nick $text"); } #print $text; } sub shipStop { - my ($msg,$value) = @_; - my ($amount,$ship); + my ($msg,$command) = @_; + my ($amount,$ship,$value); if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)$/){ - if (defined $value){ + if ($command eq 'vstop'){ $value = parseValue($1); $value *= -1.5 if $value < 0; my $feud = ''; @@ -144,7 +150,6 @@ sub shipStop { } $ship = "\%$2\%"; }else{ - my $command = (defined $value ? "vstop" : "stop"); $ND::server->command("notice $ND::nick syntax: .$command amount ship"); return; } @@ -184,7 +189,7 @@ FROM ship_stats WHERE name ILIKE ? $text .= " $ND::B$needed$ND::B $stopper[0] ($stopper[5]:$value),"; } chop $text; - $ND::server->command("notice $ND::target $text"); + $ND::server->command("notice $ND::nick $text"); } #print $text; }