X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/24084c2319f2fd4f3b9ce3da6eddca31f935ee51..f5e535f48dc60fdcaa93b9b6ee523801448b9f82:/sc.plp diff --git a/sc.plp b/sc.plp index 3a11f0c..09ae989 100644 --- a/sc.plp +++ b/sc.plp @@ -129,7 +129,9 @@ sub showrange { $maxdamage += ($upattack->{upgrade} // $attack->{upgrade}) * 3; my $out = ''; - $out .= "$attack->{count}× " if $attack->{count} > 1; + $out .= sprintf('%s× ', + showrange($attack->{count}, $upattack->{count}), + ) if $attack->{count} > 1; $out .= '*' if $attack->{type} eq 'explosive'; $out .= '~' @@ -167,7 +169,10 @@ sub showrange { $out .= ''; if ($attack->{dps}) { - $out .= showrange($attack->{dps}->[0], $attack->{dps}->[-1]); + # precalculated dps, do not touch + $out .= showrange($attack->{dps}->[0], + $upattack->{dps}->[-1] // $attack->{dps}->[-1] + ); } elsif ($attack->{cooldown}) { if (my $type = $attack->{type}) { @@ -260,8 +265,9 @@ sub showrange { $_->{attr}->{massive} && '⚓', ), - '' . ( - defined $_->{unit} && $_->{unit} == .5 ? '½' : $_->{unit} + sprintf('%s', + defined $_->{pop} && $_->{pop} < 0 && ' unit-supply', + defined $_->{pop} && $_->{pop} == .5 ? '½' : $_->{pop}, ), '' . join('', grep { $_ } (defined $_->{organic} ? !$_->{organic} : $_->{attr}->{mech}) @@ -311,13 +317,13 @@ sub showrange { $get{order} ||= ''; if ($get{order} eq 'size') { $_->{order} = ( - $_->{unit}*16 + ($_->{size} // $_->{suit}) + $_->{cargo}/8 + $_->{pop}*16 + ($_->{size} // $_->{suit}) + $_->{cargo}/8 + $_->{hp}/512 + $_->{min}/8192 ) for @$units; } elsif ($get{order} eq 'cost') { $_->{order} = ( - $_->{gas}*1.5 + $_->{min} + $_->{unit}/8 + $_->{build}/256/8 + $_->{gas}*1.5 + $_->{min} + $_->{pop}/8 + $_->{build}/256/8 ) for @$units; } elsif ($get{order} eq 'attack') {