]> ruin.nu Git - NDIRC.git/blobdiff - Intel.pm
Converted the .setnick command
[NDIRC.git] / Intel.pm
index 63c2ebdafab28c32815133d0f460ee808b42079e..4d98d80880dda96a3718dcf45c25f8ec9f1d6be9 100644 (file)
--- a/Intel.pm
+++ b/Intel.pm
@@ -27,57 +27,7 @@ require Exporter;
 
 our @ISA = qw/Exporter/;
 
-our @EXPORT = qw/setHostile setNick setAlly setChannel/;
-
-sub setHostile {
-       my ($msg, $command) = @_;
-       my ($x,$y,$z);
-       if(defined $msg && $msg =~ /^(\d+)\D(\d+)\D(\d+)$/){
-               $x = $1;
-               $y = $2;
-               $z = $3;
-       }else{
-               $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z");
-               return;
-       }
-       if(my $user = dc()){
-               my $findid = $ND::DBH->prepare_cached(q{SELECT planetid(?,?,?,tick())});
-               my ($id) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);
-               my $rv = $ND::DBH->do(q{UPDATE planets SET planet_status = 'Hostile' WHERE id = $1},undef,$id);
-               if ($rv == 1){
-                       $ND::server->command("msg $ND::target $x:$y:$z is now marked s hostile");
-                       intel_log $user->{uid},$id,"Set planet_status to: 'Hostile'";
-               }
-       }
-}
-
-sub setNick {
-       my ($msg, $command) = @_;
-       my ($x,$y,$z,$nick);
-       if(defined $msg && $msg =~ /^(\d+)\D(\d+)\D(\d+) (\S+)$/){
-               $x = $1;
-               $y = $2;
-               $z = $3;
-               $nick = $4;
-       }else{
-               $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z nick");
-               return;
-       }
-       if (my $user = officer){
-               my $findid = $ND::DBH->prepare_cached(q{SELECT nick, id FROM planets
-                       WHERE id = planetid(?,?,?,tick())});
-               my ($oldnick,$id) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);
-               if ($ND::DBH->do('UPDATE planets SET nick = $1 WHERE id = $2'
-                               ,undef,$nick,$id)){
-                       unless (defined $oldnick){
-                               $ND::server->command("msg $ND::target $x:$y:$z nick has been set to $ND::B$nick");
-                       }else{
-                               $ND::server->command("msg $ND::target $x:$y:$z nick has been changed from $ND::B$oldnick$ND::B to $ND::B$nick");
-                       }
-                       intel_log $user->{uid},$id,"Set nick to: $nick";
-               }
-       }
-}
+our @EXPORT = qw/setAlly setChannel/;
 
 sub setAlly {
        my ($msg, $command) = @_;
@@ -91,16 +41,20 @@ sub setAlly {
                $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z ally | | % can be used for wildcards \%-crew\% will match [F-Crew]");
                return;
        }
-       if (my $user = officer){
+       if (my $user = intel){
                my $aid;
                if ($ally ne 'unknown'){
                        ($aid,$ally) = $ND::DBH->selectrow_array("SELECT id,name FROM alliances WHERE name ILIKE ?",undef,$ally);
                }
                if ($ally){
-                       my $findid = $ND::DBH->prepare_cached(q{SELECT id,alliance FROM current_planet_stats 
+                       my $findid = $ND::DBH->prepare(q{SELECT id,alliance FROM current_planet_stats 
                                WHERE x = ? AND y = ? and z = ?});
                        my ($id,$alliance) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);
-                       if($id && $ND::DBH->do('UPDATE planets SET alliance_id = $1 WHERE id = $2'
+                       unless ($id){
+                               $ND::server->command("msg $ND::target Couldn't find a planet at $x:$y:$z");
+                               return;
+                       }
+                       if($ND::DBH->do('UPDATE planets SET alliance_id = $1 WHERE id = $2'
                                ,undef,$aid,$id)){
                                if (defined $alliance){
                                        $ND::server->command("msg $ND::target Changed $x:$y:$z from $ND::B$alliance$ND::B to $ND::B$ally");
@@ -109,7 +63,7 @@ sub setAlly {
                                }
                                intel_log $user->{uid},$id,"Set alliance_id to: $aid ($ally)";
                        }else{
-                               $ND::server->command("msg $ND::target Couldn't find a planet at $x:$y:$z");
+                               $ND::server->command("msg $ND::target Couldn't set alliance_id to: $aid");
                        }
                }else{
                        $ND::server->command("msg $ND::target Couldn't find such an alliance");
@@ -129,7 +83,7 @@ sub setChannel {
                $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z channel");
                return;
        }
-       if (my $user = officer()){
+       if (my $user = intel){
                my $findid = $ND::DBH->prepare_cached(q{SELECT id,channel FROM current_planet_stats 
                                WHERE x = ? AND y = ? and z = ?});
                my ($id,$c) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);