From: Michael Andreen Date: Tue, 18 Nov 2008 19:59:13 +0000 (+0100) Subject: Updated covop page X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=commitdiff_plain;h=44fbe786d3049f2999a288e27bd26a13cfee86b2 Updated covop page --- diff --git a/database/covopalert.sql b/database/covopalert.sql index 18ccc68..1d3d2a6 100644 --- a/database/covopalert.sql +++ b/database/covopalert.sql @@ -3,7 +3,8 @@ CREATE OR REPLACE FUNCTION covop_alert(secs integer, strucs integer, roids integ , guards integer, gov governments, population integer) RETURNS integer AS $_$ SELECT ((50 + COALESCE($4*5.0/($3+1.0),$6)) - * (1.0+LEAST(COALESCE($1::float/$2,$6),0.30)*2 + * (1.0+2*LEAST(COALESCE($1::float/CASE $2 + WHEN 0 THEN 1 ELSE $2 END,$6),0.30) + (CASE $5 WHEN 'Dic' THEN 0.20 WHEN 'Feu' THEN -0.20 diff --git a/lib/NDWeb/Controller/CovOp.pm b/lib/NDWeb/Controller/CovOp.pm index 8ccc416..1eaca56 100644 --- a/lib/NDWeb/Controller/CovOp.pm +++ b/lib/NDWeb/Controller/CovOp.pm @@ -28,6 +28,13 @@ sub index :Path :Args(0) { $c->forward('list'); } +sub easy : Local { + my ( $self, $c ) = @_; + $c->stash( where => qq{AND minalert < 70 + ORDER BY minalert ASC,max_bank_hack DESC}); + $c->forward('list'); +} + sub distwhores : Local { my ( $self, $c ) = @_; $c->stash( where => qq{AND distorters > 0 @@ -49,13 +56,11 @@ 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 + my $query = $dbh->prepare(q{SELECT * + FROM (SELECT p.id,coords(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(metal,crystal,eonium,p.value,c.value,5) ,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 @@ -64,8 +69,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}); diff --git a/root/lib/site/leftbar.tt2 b/root/lib/site/leftbar.tt2 index 8a2eee9..b3f05c8 100644 --- a/root/lib/site/leftbar.tt2 +++ b/root/lib/site/leftbar.tt2 @@ -56,9 +56,13 @@
  • Top members
  • Add intel/scans
  • Launch confirmation
  • -
  • CovOp targets
  • -
  • Distwhores
  • IRC request
  • + +

    Covop menu

    + [% ELSE %] [% IF c.user.planet %]