sc: indicate cast cost with starting energy
[sheet.git] / sc.plp
diff --git a/sc.plp b/sc.plp
index d1c6fc8cddfff288cf41e28c0cc1e2755dd9b019..a1c885fd1a7f266f380aba591cd2695de9a1a1ee 100644 (file)
--- a/sc.plp
+++ b/sc.plp
@@ -115,16 +115,25 @@ sub showrange {
        my ($min, $max) = @_;
        return '' if not defined $min;
        $_ &&= int($_ + .5) for $min, $max;  # round halves up
        my ($min, $max) = @_;
        return '' if not defined $min;
        $_ &&= int($_ + .5) for $min, $max;  # round halves up
-       return $min || '-' if not defined $max or $min == $max;
+       return $min || '-' if !$max or $min == $max;
        return "$min-$max";
 }
 
        sub showcost {
                my ($row, $unit) = @_;
                return join(' ',
        return "$min-$max";
 }
 
        sub showcost {
                my ($row, $unit) = @_;
                return join(' ',
-                       sprintf('cost %.0f%%', 100 * $row->{cost} / $unit->{energy}),
-                       !defined $row->{maint} ? () :
-                               sprintf('+%.1f%%/s', 100 * $row->{maint} / $unit->{energy}),
+                       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('+%s%%/s', join '-',
+                               map { sprintf '%.1f', 100 * $row->{maint} / $_ } grep $_,
+                               $unit->{capacity},
+                               $unit->{upgraded}->{capacity},
+                       ),
                );
        }
 
                );
        }
 
@@ -454,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><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>
 </dl>
 
 <p>