$show = '' if defined param('show') && param('show') eq 'all';
if (defined param('covop') && param('covop') =~ /^(\d+)$/){
my $update = $DBH->prepare(q{INSERT INTO covop_attacks (uid,id,tick) VALUES(?,?,tick())});
- $update->execute($ND::UID,$1);
+ $update->execute($ND::UID,$1) or warn $DBH->errstr;
}
my $list = '';
}else{
$where = qq{AND MaxResHack > 130000
$show
- ORDER BY COALESCE(seccents::float/structures*100,0) ASC,MaxResHack DESC,metal+crystal+eonium DESC};
+ ORDER BY minalert ASC,MaxResHack DESC};
}
$BODY->param(List => $list);
my $query = $DBH->prepare(qq{SELECT id, coords, metal, crystal, eonium
- , seccents::float/structures*100 AS seccents, distorters
+ , covop_alert(seccents,structures,gov,0) AS minalert
+ , covop_alert(seccents,structures,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,0) AS structures,distorters
+ 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
+ , planet_status, relationship,gov
FROM current_planet_stats p
LEFT OUTER JOIN planet_scans ps ON p.id = ps.planet
LEFT OUTER JOIN structure_scans ss ON p.id = ss.planet
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)
$where
- });
- $query->execute($self->{PLANET});
+ }) or warn $DBH->errstr;
+ $query->execute($self->{PLANET}) or warn $DBH->errstr;
my @targets;
while (my $target = $query->fetchrow_hashref){