]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb/Controller/CovOp.pm
Parse the new gal status and ally def page formats
[ndwebbie.git] / lib / NDWeb / Controller / CovOp.pm
index 1c2a3a4ecff024e057979be05e6e5f80900f8b08..7e3d2e5a1c48f6591c63cd41409cd27508eb8e2c 100644 (file)
@@ -23,18 +23,19 @@ Catalyst Controller.
 
 sub index :Path :Args(0) {
        my ( $self, $c ) = @_;
-       $c->stash( where => q{hack5 > 60000
-               ORDER BY hack5 DESC, hack15 DESC, minalert
-                       ,lastcovop NULLS FIRST,pstick DESC, dstick DESC,x,y,z
+       $c->stash( where => q{hack5 > 60000 AND minalert < 60
+               ORDER BY hack5 DESC, hack13 DESC
+                       ,(CASE WHEN tick() - lastcovop < 6 THEN lastcovop ELSE NULL END) NULLS FIRST
+                       ,minalert, pstick DESC, dstick DESC,x,y,z
                });
        $c->forward('list');
 }
 
 sub easy : Local {
        my ( $self, $c ) = @_;
-       $c->stash( where =>  q{minalert < 70
-               ORDER BY minalert, max_bank_hack DESC, hack5 DESC, hack15 DESC
-                       ,lastcovop NULLS FIRST,pstick DESC, dstick DESC,x,y,z
+       $c->stash( where =>  q{minalert < 60
+               ORDER BY minalert, hack5 DESC,lastcovop NULLS FIRST
+                       ,hack13 DESC,pstick DESC, dstick DESC,x,y,z
                });
        $c->forward('list');
 }
@@ -51,7 +52,7 @@ sub distwhores : Local {
 sub marktarget : Local {
        my ( $self, $c, $target ) = @_;
        my $dbh = $c->model;
-       my $update = $dbh->prepare(q{INSERT INTO covop_attacks (uid,id,tick) VALUES(?,?,tick())});
+       my $update = $dbh->prepare(q{INSERT INTO covop_attacks (uid,pid,tick) VALUES(?,?,tick())});
        eval{
                $update->execute($c->user->id,$target);
        };
@@ -64,11 +65,11 @@ sub list : Private {
 
        my $query = $dbh->prepare(q{
        SELECT * FROM (
-               SELECT *
-                       ,max_bank_hack(500000,500000,500000,pvalue,cvalue,5)
+               SELECT *, pid AS id
+                       ,(2*pvalue::float/cvalue) :: Numeric(4,1) AS max_bank_hack
                        ,max_bank_hack(metal,crystal,eonium,pvalue,cvalue,5) AS hack5
-                       ,max_bank_hack(metal,crystal,eonium,pvalue,cvalue,13) AS hack15
-               FROM (SELECT p.id,coords(x,y,z),x,y,z,size
+                       ,max_bank_hack(metal,crystal,eonium,pvalue,cvalue,13) AS hack13
+               FROM (SELECT pid,coords(x,y,z),x,y,z,size
                        ,metal + metal_roids * (tick()-ps.tick) * 125 AS metal
                        ,crystal + crystal_roids * (tick()-ps.tick) * 125 AS crystal
                        ,eonium + eonium_roids * (tick()-ps.tick) * 125 AS eonium
@@ -78,12 +79,12 @@ sub list : Private {
                        , planet_status, relationship,gov,ps.tick AS pstick, ds.tick AS dstick
                        , p.value AS pvalue, c.value AS cvalue
                        FROM current_planet_stats p
-                               LEFT OUTER JOIN current_planet_scans ps ON p.id = ps.planet
-                               LEFT OUTER JOIN current_development_scans ds ON p.id = ds.planet
-                               CROSS JOIN (SELECT value FROM current_planet_stats WHERE id = $1) c
+                               LEFT OUTER JOIN current_planet_scans ps USING (pid)
+                               LEFT OUTER JOIN current_development_scans ds USING (pid)
+                               CROSS JOIN (SELECT value FROM current_planet_stats WHERE pid = $1) c
                        ) AS foo
-                       LEFT OUTER JOIN (SELECT id,max(tick) AS lastcovop FROM covop_attacks
-                               GROUP BY id) co USING (id)
+                       LEFT OUTER JOIN (SELECT pid,max(tick) AS lastcovop FROM covop_attacks
+                               GROUP BY pid) co USING (pid)
                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'))