]> ruin.nu Git - ndwebbie.git/commitdiff
Use new covert-op alert formula
authorMichael Andreen <harv@ruin.nu>
Sun, 24 Aug 2008 09:58:20 +0000 (11:58 +0200)
committerMichael Andreen <harv@ruin.nu>
Sun, 24 Aug 2008 09:58:20 +0000 (11:58 +0200)
database/covopalert.sql [new file with mode: 0644]
lib/NDWeb/Controller/CovOp.pm

diff --git a/database/covopalert.sql b/database/covopalert.sql
new file mode 100644 (file)
index 0000000..18ccc68
--- /dev/null
@@ -0,0 +1,15 @@
+
+CREATE OR REPLACE FUNCTION covop_alert(secs integer, strucs integer, roids integer
+       , 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
+                       + (CASE $5
+                               WHEN 'Dic' THEN 0.20
+                               WHEN 'Feu' THEN -0.20
+                               WHEN 'Uni' THEN -0.10
+                               ELSE 0
+                       END) + $6/100.0
+               ))::integer;
+$_$
+       LANGUAGE sql IMMUTABLE;
index 21a47ebeb571c3d4d3e16d5fcb54ab6152c7b5cc..faf4296660d9de465ec6436a44106b00b286e412 100644 (file)
@@ -50,12 +50,12 @@ sub list : Private {
        my $dbh = $c->model;
 
        my $query = $dbh->prepare(q{SELECT id, coords, metal, crystal, eonium
-               , covop_alert(seccents,structures,gov,0) AS minalert
-               , covop_alert(seccents,structures,gov,50) AS maxalert
+               , covop_alert(seccents,structures,size,guards,gov,0) AS minalert
+               , covop_alert(seccents,structures,size,guards,gov,50) AS maxalert
                , distorters,gov
                , MaxResHack,co.tick AS lastcovop
-               FROM (SELECT p.id,coords(x,y,z), metal,crystal,eonium,
-                       seccents,NULLIF(ss.total::integer,0) AS structures,distorters
+               FROM (SELECT p.id,coords(x,y,z),size, metal,crystal,eonium,guards
+                       ,seccents,NULLIF(ss.total::integer,0) AS structures,distorters
                        ,max_bank_hack(metal,crystal,eonium,p.value
                                ,(SELECT value FROM current_planet_stats WHERE id = ?)) AS MaxResHack
                        , planet_status, relationship,gov