X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FAlliances.pm;h=833143aaab2364738f79fc9564d47e0339cbc930;hb=f5639def9af1ddcef6c9d17d6c6ab534aeb6adda;hp=bd25d9bd2a051ca245610db8079140699b69c996;hpb=c5850fd2283ea0188583075f0e3afdb248307c8c;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Alliances.pm b/lib/NDWeb/Controller/Alliances.pm index bd25d9b..833143a 100644 --- a/lib/NDWeb/Controller/Alliances.pm +++ b/lib/NDWeb/Controller/Alliances.pm @@ -216,17 +216,33 @@ sub resources : Local { ,r.resources,r.hidden,r.planets ,(resources/planets)::bigint AS resplanet ,(hidden/planets)::bigint AS hidplanet - ,((resources / 300) + (hidden / 100))::bigint AS scoregain ,(score + (resources / 300) + (hidden / 100))::bigint AS nscore - ,((resources/planets*scoremem)/300 + (hidden/planets*scoremem)/100)::bigint AS scoregain2 - ,(score + (resources/planets*scoremem)/300 - + (hidden/planets*scoremem)/100)::bigint AS nscore2 - ,((s.size::int8*(1400-tick())*250)/100 + score + (resources/planets*scoremem)/300 - + (hidden/planets*scoremem)/100)::bigint AS nscore3 - ,(s.size::int8*(1400-tick())*250)/100 AS scoregain3 - FROM (SELECT alliance_id AS id,sum(metal+crystal+eonium) AS resources, sum(hidden) AS hidden, count(*) AS planets - FROM planets p join planet_scans c ON p.id = c.planet GROUP by alliance_id) r - NATURAL JOIN alliances a + ,(SELECT sum(score)::bigint FROM ( +SELECT score + (metal+crystal+eonium)/300 + hidden/100 AS score +FROM current_planet_stats p + JOIN current_planet_scans ps ON p.id = ps.planet +WHERE alliance_id = r.id +ORDER BY score DESC +LIMIT 60) a + ) AS nscore2 + ,(SELECT sum(score)::bigint FROM ( +SELECT score + (metal+crystal+eonium)/300 + hidden/100 + (endtick()-tick())*( + 250*size + COALESCE(metal_ref + crystal_ref + eonium_ref,7)* 1000 + + CASE extraction WHEN 0 THEN 3000 WHEN 1 THEN 11500 ELSE COALESCE(extraction,3)*3000*3 END + )*(1.35+0.005*COALESCE(fincents,20))/100 AS score +FROM current_planet_stats p + JOIN current_planet_scans ps ON p.id = ps.planet + LEFT OUTER JOIN current_development_scans ds ON p.id = ds.planet +WHERE alliance_id = r.id +ORDER BY score DESC +LIMIT 60) a + ) AS nscore3 + FROM (SELECT alliance_id AS id,sum(metal+crystal+eonium) AS resources + , sum(hidden) AS hidden, count(*) AS planets + FROM planets p join current_planet_scans c ON p.id = c.planet + GROUP by alliance_id + ) r + NATURAL JOIN alliances a LEFT OUTER JOIN (SELECT *,LEAST(members,60) AS scoremem FROM alliance_stats WHERE tick = (SELECT max(tick) FROM alliance_stats)) s ON a.id = s.id ORDER BY $order @@ -237,6 +253,7 @@ sub resources : Local { push @alliances,$alliance; } $c->stash(alliances => \@alliances); + $c->stash( comma => \&comma_value) }