]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb/Controller/CovOp.pm
Better sorting of covop targets
[ndwebbie.git] / lib / NDWeb / Controller / CovOp.pm
index 8ccc41689ee1082f6967add2e639c3a54ca37236..7b020b045d81a9379204206623331194a38a03fc 100644 (file)
@@ -24,14 +24,21 @@ Catalyst Controller.
 sub index :Path :Args(0) {
        my ( $self, $c ) = @_;
        $c->stash( where => q{AND max_bank_hack > 60000
-               ORDER BY max_bank_hack DESC, minalert ASC});
+               ORDER BY max_bank_hack DESC, hack5 DESC, hack15 DESC, minalert,x,y,z});
+       $c->forward('list');
+}
+
+sub easy : Local {
+       my ( $self, $c ) = @_;
+       $c->stash( where =>  qq{AND minalert < 70
+               ORDER BY minalert, max_bank_hack DESC, hack5 DESC, hack15 DESC,x,y,z});
        $c->forward('list');
 }
 
 sub distwhores : Local {
        my ( $self, $c ) = @_;
        $c->stash( where =>  qq{AND distorters > 0
-               ORDER BY distorters DESC, minalert ASC});
+               ORDER BY distorters DESC, minalert, x,y,z});
        $c->forward('list');
 }
 
@@ -49,14 +56,13 @@ sub list : Private {
        my ( $self, $c ) = @_;
        my $dbh = $c->model;
 
-       my $query = $dbh->prepare(q{SELECT id, coords, metal, crystal, eonium
-               , covop_alert(seccents,structures,size,guards,gov,0) AS minalert
-               , covop_alert(seccents,structures,size,guards,gov,50) AS maxalert
-               , distorters,gov,pstick,dstick
-               , max_bank_hack,hack15,co.tick AS lastcovop
-               FROM (SELECT p.id,coords(x,y,z),size, metal,crystal,eonium,guards
-                       ,seccents,NULLIF(ds.total::integer,0) AS structures,distorters
-                       ,max_bank_hack(metal,crystal,eonium,p.value,c.value,5)
+       my $query = $dbh->prepare(q{SELECT *
+               FROM (SELECT p.id,coords(x,y,z),x,y,z,size, metal,crystal,eonium
+                       ,distorters,guards
+                       ,covop_alert(seccents,ds.total,size,guards,gov,0) AS minalert
+                       ,covop_alert(seccents,ds.total,size,guards,gov,50) AS maxalert
+                       ,max_bank_hack(500000,500000,500000,p.value,c.value,5)
+                       ,max_bank_hack(metal,crystal,eonium,p.value,c.value,5) AS hack5
                        ,max_bank_hack(metal,crystal,eonium,p.value,c.value,15) AS hack15
                        , planet_status, relationship,gov,ps.tick AS pstick, ds.tick AS dstick
                        FROM current_planet_stats p
@@ -64,8 +70,9 @@ sub list : Private {
                                LEFT OUTER JOIN current_development_scans ds ON p.id = ds.planet
                                CROSS JOIN (SELECT value FROM current_planet_stats WHERE id = $1) c
                        ) AS foo
-                       LEFT OUTER JOIN (SELECT id,max(tick) AS tick FROM covop_attacks GROUP BY id) co USING (id)
-               WHERE (metal IS NOT NULL OR seccents IS NOT NULL)
+                       LEFT OUTER JOIN (SELECT id,max(tick) AS lastcovop FROM covop_attacks
+                               GROUP BY id) co USING (id)
+               WHERE (metal IS NOT NULL OR distorters IS NOT NULL)
                        AND (NOT planet_status IN ('Friendly','NAP'))
                        AND  (relationship IS NULL OR NOT relationship IN ('Friendly','NAP'))
                } . $c->stash->{where});