From 011f00a2bb1ee8611b9fc8e4a1598c167f673c5f Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Tue, 30 Jun 2015 16:04:14 +0200 Subject: [PATCH] sc: include upgraded cast costs --- sc.plp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/sc.plp b/sc.plp index d1c6fc8..28d22d7 100644 --- a/sc.plp +++ b/sc.plp @@ -115,16 +115,24 @@ 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) = @_; + my $minmult = 100 / $unit->{energy}; # cost multiplier + my $maxmult = $unit->{upgraded}->{energy} && + 100 / $unit->{upgraded}->{energy}; + return join(' ', - sprintf('cost %.0f%%', 100 * $row->{cost} / $unit->{energy}), - !defined $row->{maint} ? () : - sprintf('+%.1f%%/s', 100 * $row->{maint} / $unit->{energy}), + sprintf('cost %s%%', + showrange($row->{cost} * $minmult, $row->{cost} * $maxmult), + ), + !defined $row->{maint} ? () : sprintf('+%.1f%s%%/s', + $row->{maint} * $minmult, + !!$maxmult && sprintf('-%.1f', $row->{maint} * $maxmult), + ), ); } -- 2.30.0