From: Michael Andreen Date: Mon, 29 Jun 2009 08:02:21 +0000 (+0200) Subject: Add support for variable cap X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=commitdiff_plain;h=2bfb812c02a2082d8801a7fbbb834992f49f961c Add support for variable cap --- diff --git a/lib/NDWeb/Controller/Raids.pm b/lib/NDWeb/Controller/Raids.pm index 944b691..ab1adb5 100644 --- a/lib/NDWeb/Controller/Raids.pm +++ b/lib/NDWeb/Controller/Raids.pm @@ -3,8 +3,10 @@ package NDWeb::Controller::Raids; use strict; use warnings; use parent 'Catalyst::Controller'; +use feature ':5.10'; use POSIX qw/floor pow/; +use List::Util qw/min/; use NDWeb::Include; use ND::Include; @@ -141,10 +143,11 @@ sub view : Local { if ($planet->{x} == $target->{x}){ $target->{style} = 'incluster'; } + $target->{cap} = min(0.25,0.25 * pow($target->{value}/$planet->{value} , 0.5)); $target->{scorebash} = 'bash' if ($target->{score}/$planet->{score} < 0.6); $target->{valuebash} = 'bash' if ($target->{value}/$planet->{value} < 0.4); - #next if ($target->{score}/$planet->{score} < 0.4) && ($target->{value}/$planet->{value} < 0.4); } + $target->{cap} //= 0.25; my $unitscans = $dbh->prepare(q{ SELECT DISTINCT ON (name) fid, name, tick, amount @@ -175,8 +178,8 @@ ORDER BY name,tick DESC my @claims; my $size = $target->{size}; for (my $i = 1; $i <= $raid->{waves}; $i++){ - my $roids = floor(0.25*$size); - $size -= $roids; + my $roids = floor($target->{cap}*$size); + $size -= floor(0.25*$size); my $xp = 0; if ($planet && $planet->{score}){ $xp = pa_xp($roids,$planet->{score},$planet->{value},$target->{score},$target->{value}); @@ -593,7 +596,7 @@ sub targetcalc : Local { my ($self, $c, $target) = @_; my $dbh = $c->model; - my $target = $dbh->selectrow_hashref(q{ + $target = $dbh->selectrow_hashref(q{ SELECT p.id,p.value,p.score,metal_roids, crystal_roids, eonium_roids, ds.total, race FROM raids r JOIN raid_targets rt ON r.id = rt.raid diff --git a/root/src/raids/view.tt2 b/root/src/raids/view.tt2 index d30885d..f076c8f 100644 --- a/root/src/raids/view.tt2 +++ b/root/src/raids/view.tt2 @@ -31,6 +31,7 @@
  • Hidden value: [% t.hidden %]
  • Factory Usage: [% t.light %], [% t.medium %], [% t.heavy %]
  • Race: [% t.race %]
  • +
  • Cap: [% t.cap * 100 | format('%.02f') %]
  • [% FOR r IN t.roids %]
  • Roids wave [% r.wave %]: [% r.roids %] ([% comma(r.xp) %] xp)
  • [% END %]