X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/4a625d5eed49b9c5b46fa9c7d4b6e04fa355fc64..962d9b682969c139ab48ad8158adcaf01fef7730:/sc.plp diff --git a/sc.plp b/sc.plp index 5d82a8d..a1c885f 100644 --- a/sc.plp +++ b/sc.plp @@ -115,10 +115,28 @@ 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 %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}, + ), + ); + } + sub showattack { my ($row, $area) = @_; my $attack = $row->{attack}->[$area] @@ -130,6 +148,8 @@ sub showrange { $maxdamage += ($upattack->{upgrade} // $attack->{upgrade}) * 3; my $out = '