From: Michael Andreen Date: Mon, 17 Nov 2008 20:33:22 +0000 (+0100) Subject: Updated covop page to show 5 man bank hack + accurate values X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=commitdiff_plain;h=c02bf4e844cd6741c85be2c224b3b5d1e7fef7c7 Updated covop page to show 5 man bank hack + accurate values --- diff --git a/database/covophack.sql b/database/covophack.sql new file mode 100644 index 0000000..2914840 --- /dev/null +++ b/database/covophack.sql @@ -0,0 +1,16 @@ +CREATE OR REPLACE FUNCTION max_bank_hack(metal bigint, crystal bigint, eonium bigint, tvalue integer, value integer, agents integer) RETURNS integer + AS $_$ +SELECT LEAST(2000.0*$6*$4/$5, $1*0.10, $6*10000.0)::integer + + LEAST(2000.0*$6*$4/$5, $2*0.10, $6*10000.0)::integer + + LEAST(2000.0*$6*$4/$5, $3*0.10, $6*10000.0)::integer +$_$ + LANGUAGE sql IMMUTABLE; + + +CREATE OR REPLACE FUNCTION max_bank_hack(metal bigint, crystal bigint, eonium bigint, tvalue integer, value integer) RETURNS integer + AS $_$ +SELECT LEAST(2000.0*15*$4/$5,$1*0.10, 15*10000.0)::integer + + LEAST(2000.0*15*$4/$5,$2*0.10, 15*10000.0)::integer + + LEAST(2000.0*15*$4/$5,$3*0.10, 15*10000.0)::integer +$_$ + LANGUAGE sql IMMUTABLE; diff --git a/lib/NDWeb/Controller/CovOp.pm b/lib/NDWeb/Controller/CovOp.pm index d114726..8ccc416 100644 --- a/lib/NDWeb/Controller/CovOp.pm +++ b/lib/NDWeb/Controller/CovOp.pm @@ -23,8 +23,8 @@ Catalyst Controller. sub index :Path :Args(0) { my ( $self, $c ) = @_; - $c->stash( where => q{AND MaxResHack > 130000 - ORDER BY minalert ASC,MaxResHack DESC}); + $c->stash( where => q{AND max_bank_hack > 60000 + ORDER BY max_bank_hack DESC, minalert ASC}); $c->forward('list'); } @@ -53,15 +53,16 @@ sub list : Private { , covop_alert(seccents,structures,size,guards,gov,0) AS minalert , covop_alert(seccents,structures,size,guards,gov,50) AS maxalert , distorters,gov,pstick,dstick - , MaxResHack,co.tick AS lastcovop + , 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 - ,(SELECT value FROM current_planet_stats WHERE id = ?)) AS MaxResHack + ,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 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 ) 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) @@ -70,11 +71,7 @@ sub list : Private { } . $c->stash->{where}); $query->execute($c->user->planet); - my @targets; - while (my $target = $query->fetchrow_hashref){ - push @targets,$target; - } - $c->stash(targets => \@targets); + $c->stash(targets => $query->fetchall_arrayref({})); $c->stash(template => 'covop/index.tt2'); } diff --git a/root/src/covop/index.tt2 b/root/src/covop/index.tt2 index 542f318..89f2871 100644 --- a/root/src/covop/index.tt2 +++ b/root/src/covop/index.tt2 @@ -15,7 +15,7 @@ CoordsTickMetalCrystalEonium GovAlertTickDists - Max (15 agents)Last covop (tick) + Max (5 agents)(15 agents)Last covop (tick) [% debug(targets.size) %] @@ -30,7 +30,8 @@ [% t.minalert %] - [% t.maxalert %] [% t.dstick %] [% t.distorters %] - [% t.maxreshack %] + [% t.max_bank_hack %] + [% t.hack15 %] [% t.lastcovop %] Did CovOp this tick