X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/ce2e637541f303d2967f7d424c3ea8240e579172..dd526b56391929a69bb47a5f7d4b911b61f463f8:/sc.plp diff --git a/sc.plp b/sc.plp index d1c6fc8..a1dc143 100644 --- 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 - 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(' ', - 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}, + ), ); } @@ -443,7 +452,7 @@ if ($scver{major} > 1) {
targets ▽ ground and/or △ air
range -
maximum range of weapon (note siege tank also has a minimum range) +
maximum range of weapon (note Sieged Tank also has a minimum range)
sight
range in which the unit detects other units
emphasis indicates ability to detect cloaked units @@ -454,7 +463,7 @@ if ($scver{major} > 1) {
passive abilities are always enabled
hover for description
range is maximum range required to activate -
cost is percentage of total energy lost +
cost is energy loss percentage on spawn and when fully charged