+sub setnick
+ : Help(Usage: .setnick X:Y:Z nick)
+ : ACL(irc_setnick)
+{
+ my ($self,$c,$msg) = @_;
+ my ($x,$y,$z,$nick) = $msg =~ /^(\d+)\D(\d+)\D(\d+) (\S+)$/ or die 'ARGS';
+ my $dbh = $c->model;
+
+ my $findid = $dbh->prepare(q{
+SELECT nick, id, alliance_id FROM planets WHERE id = planetid(?,?,?,tick())
+ });
+ my $planet = $dbh->selectrow_hashref($findid,undef,$x,$y,$z);
+ unless($planet->{id}){
+ $c->reply("Couldn't find any planet with coords $x:$y:$z");
+ }elsif($planet->{alliance_id} ~~ 1){
+ $c->reply("This is an ND planet.");
+ }else{
+ $dbh->begin_work;
+ $dbh->do(q{UPDATE planets SET nick = $1 WHERE id = $2}
+ ,undef,$nick,$planet->{id});
+ if ($planet->{nick}){
+ $c->reply("$x:$y:$z nick has been changed from <b>$planet->{nick}</b> to <b>$nick</b>");
+ }else{
+ $c->reply("$x:$y:$z nick has been set to $nick");
+ }
+ $c->intel_log($planet->{id},"Set nick to: $nick");
+ $dbh->commit;
+ }
+}
+