}
$BODY->param(Message => parseMarkup($raid->{message}));
$BODY->param(LandingTick => $raid->{tick});
- my $targetquery = $DBH->prepare(qq{SELECT r.id, r.planet, size, score, value, p.x,p.y,p.z, race, p.value - p.size*200 -coalesce(c.metal+c.crystal+c.eonium,0)/150 - coalesce(c.structures,(SELECT avg(structures) FROM covop_targets)::int)*1500 AS fleetvalue,(c.metal+c.crystal+c.eonium)/100 AS resvalue, comment
+ my $targetquery = $DBH->prepare(qq{SELECT r.id, r.planet, size, score, value
+ , p.x,p.y,p.z, race
+ , p.value - p.size*200 -
+ COALESCE(ps.metal+ps.crystal+ps.eonium,0)/150 -
+ COALESCE(ss.total ,(SELECT
+ COALESCE(avg(total),0) FROM
+ structure_scans)::int)*1500 AS fleetvalue
+ ,(metal+crystal+eonium)/100 AS resvalue, comment
FROM current_planet_stats p
JOIN raid_targets r ON p.id = r.planet
- LEFT OUTER JOIN covop_targets c ON p.id = c.planet
+ LEFT OUTER JOIN planet_scans ps ON p.id = ps.planet
+ LEFT OUTER JOIN structure_scans ss ON p.id = ss.planet
WHERE r.raid = ?
$noingal
ORDER BY size});
}
$target{comment} = parseMarkup($target->{comment}) if ($target->{comment});
- my $scans = $DBH->prepare(q{SELECT DISTINCT ON (type) type, tick, scan FROM scans
- WHERE planet = ? AND type ~ 'Unit|Planet|Advanced Unit|.* Analysis' AND tick + 24 > tick() AND scan is not null
- GROUP BY type, tick, scan ORDER BY type ,tick DESC});
- $scans->execute($target->{planet});
- my %scans;
- while (my $scan = $scans->fetchrow_hashref){
- $scans{$scan->{type}} = $scan;
- }
-
- my @scans;
- for my $type ('Planet','Unit','Advanced Unit','Surface Analysis','Technology Analysis'){
- next unless exists $scans{$type};
- my $scan = $scans{$type};
- if ($self->{TICK} - $scan->{tick} > 5){
- $scan->{scan} =~ s{<table( cellpadding="\d+")?>}{<table class="old">};
+ my $unitscans = $DBH->prepare(q{
+ SELECT i.id,i.name, i.tick, i.amount
+ FROM fleets i
+ WHERE i.uid = -1
+ AND i.sender = ?
+ AND i.mission = 'Full fleet'
+ GROUP BY i.id,i.tick,i.name,i.amount
+ ORDER BY i.tick,name
+ });
+ $unitscans->execute($target->{planet}) or warn $DBH->errstr;
+ my $ships = $DBH->prepare(q{SELECT ship,amount FROM fleet_ships WHERE id = ?});
+ my @missions;
+ my $i = 0;
+ while (my $mission = $unitscans->fetchrow_hashref){
+ $mission->{ODD} = $i++ % 2;
+ my @ships;
+ $ships->execute($mission->{id});
+ my $j = 0;
+ while (my $ship = $ships->fetchrow_hashref){
+ $ship->{ODD} = $j++ % 2;
+ push @ships,$ship;
}
- if ($type eq 'Planet'){
- $target{PlanetScan} = $scan->{scan};
- next;
- }
- push @scans,{Scan => $scan->{scan}};
+ push @ships, {ship => 'No', amount => 'ships'} if @ships == 0;
+ $mission->{ships} = \@ships;
+ $mission->{amount} =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; #Add comma for ever 3 digits, i.e. 1000 => 1,000
+ push @missions,$mission;
}
- $target{Scans} = \@scans;
+ $target{missions} = \@missions;
+ my $query = $DBH->prepare(q{SELECT DISTINCT ON(rid) tick,category,name,amount
+ FROM planet_data pd JOIN planet_data_types pdt ON pd.rid = pdt.id
+ WHERE pd.id = $1 AND rid in (1,2,3,4,5,6,9,10,14,15,16,17,18)
+ ORDER BY rid,tick DESC
+ });
+ $query->execute($target->{planet});
+ while (my $data = $query->fetchrow_hashref){
+ $data->{amount} =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; #Add comma for ever 3 digits, i.e. 1000 => 1,000
+ $target{$data->{category}.$data->{name}} = $data->{amount};
+ }
my @roids;
my @claims;
<TMPL_VAR NAME=Comment>
</fieldset>
</TMPL_IF>
- <TMPL_VAR NAME=PlanetScan>
+ <table>
+ <tr><th></th><th>Metal</th><th>Crystal</th><th>Eonium</th></tr>
+ <tr align="center">
+ <td>Roids</td>
+ <td><TMPL_VAR NAME=roidMetal></td>
+ <td><TMPL_VAR NAME=roidCrystal></td>
+ <td><TMPL_VAR NAME=roidEonium></td>
+ </tr>
+ <tr align="center">
+ <td>Resources</td>
+ <td><TMPL_VAR NAME=resourceMetal></td>
+ <td><TMPL_VAR NAME=resourceCrystal></td>
+ <td><TMPL_VAR NAME=resourceEonium></td>
+ </tr>
+
+ </table>
+ </div>
+ <div class="leftinfo">
+ <table>
+ <tr><th>Waves</th></tr>
+ <tr>
+ <td>Research</td>
+ <td><TMPL_VAR NAME=techWaves></td>
+ </tr>
+ <tr>
+ <td>Amps</td>
+ <td><TMPL_VAR NAME="strucWave Amplifier"></td>
+ </tr>
+ <tr>
+ <td>Dists</td>
+ <td><TMPL_VAR NAME="strucWave Distorter"></td>
+ </tr>
+ <tr><th>Production</th></tr>
+ <tr>
+ <td>Research</td>
+ <td><TMPL_VAR NAME=techHulls></td>
+ </tr>
+ <tr>
+ <td>Light factory</td>
+ <td><TMPL_VAR NAME="strucLight Factory"></td>
+ </tr>
+ <tr>
+ <td>Medium factory</td>
+ <td><TMPL_VAR NAME="strucMedium Factory"></td>
+ </tr>
+ <tr>
+ <td>Heavy factory</td>
+ <td><TMPL_VAR NAME="strucHeavy Factory"></td>
+ </tr>
+ </table>
</div>
- <TMPL_LOOP Scans>
- <div class="leftinfo">
- <TMPL_VAR NAME=Scan>
- </div>
+ <div class="leftinfo">
+<table>
+ <tr><th>Name</th><th>Tick</th><th>Amount</th></tr>
+ <TMPL_LOOP Missions>
+ <tr align="center" class="<TMPL_IF ODD>odd<TMPL_ELSE>even</TMPL_IF>" onclick="toggleVisibility('fleet<TMPL_VAR NAME=Id>')">
+ <td><TMPL_VAR NAME=Name></td>
+ <td><TMPL_VAR NAME=Tick></td>
+ <td><TMPL_VAR NAME=Amount></td>
+ </tr>
+ <tr id="fleet<TMPL_VAR NAME=Id>" style="z-index:1; display:none;">
+ <td/>
+ <td colspan="5"><table>
+ <TMPL_LOOP Ships>
+ <tr class="<TMPL_IF ODD>odd<TMPL_ELSE>even</TMPL_IF>">
+ <td><TMPL_VAR NAME=Ship></td><td><TMPL_VAR NAME=Amount></td>
+ </tr>
+ </TMPL_LOOP>
+ </table></td>
+ </tr>
</TMPL_LOOP>
+</table>
+ </div>
<div class="clear"> </div>
<form action="<TMPL_VAR NAME=PAGE>" method="post">
<p class="claimlinks">