sc: indicate cast cost with starting energy
authorMischa POSLAWSKY <perl@shiar.org>
Tue, 30 Jun 2015 14:49:25 +0000 (16:49 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 1 Jul 2015 17:32:34 +0000 (19:32 +0200)
sc.plp

diff --git a/sc.plp b/sc.plp
index c367da0..a1c885f 100644 (file)
--- a/sc.plp
+++ b/sc.plp
@@ -121,17 +121,18 @@ sub showrange {
 
        sub showcost {
                my ($row, $unit) = @_;
-               my $minmult = 100 / $unit->{capacity};  # cost multiplier
-               my $maxmult =       $unit->{upgraded}->{capacity} &&
-                             100 / $unit->{upgraded}->{capacity};
-
                return join(' ',
-                       sprintf('cost %s%%',
-                               showrange($row->{cost} * $minmult, $row->{cost} * $maxmult),
+                       sprintf('cost %s%%', join '-',
+                               map { $_ && sprintf '%.0f', 100 * $row->{cost} / $_ } grep { defined $_ }
+                               $unit->{energy},
+                               $unit->{upgraded}->{energy},
+                               $unit->{capacity},
+                               $unit->{upgraded}->{capacity},
                        ),
-                       !defined $row->{maint} ? () : sprintf('+%.1f%s%%/s',
-                               $row->{maint} * $minmult,
-                               !!$maxmult && sprintf('-%.1f', $row->{maint} * $maxmult),
+                       !defined $row->{maint} ? () : sprintf('+%s%%/s', join '-',
+                               map { sprintf '%.1f', 100 * $row->{maint} / $_ } grep $_,
+                               $unit->{capacity},
+                               $unit->{upgraded}->{capacity},
                        ),
                );
        }
@@ -462,7 +463,7 @@ if ($scver{major} > 1) {
        <dd><span class="magic-perma">passive</span> abilities are always enabled
        <dd>hover for description
        <dd>range is maximum range required to activate
-       <dd>cost is percentage of total energy lost
+       <dd>cost is energy loss percentage on spawn and when fully charged
 </dl>
 
 <p>