X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/c09dbeb9c62930fc46ec793d4f18eda815cd8c34..aac22478e6a264e504af77c87af6db144daabc68:/sc.plp diff --git a/sc.plp b/sc.plp index 0534c04..9c271be 100644 --- a/sc.plp +++ b/sc.plp @@ -66,9 +66,11 @@ sub coltoggle { <:= coltoggle(qw'size size') :> HP shield - armor - ground - air + ⛨ + ground + dps + air + dps range sight speed @@ -164,8 +166,11 @@ sub showval { $_->{desc} ? ": $_->{desc}" : '', $_->{range} || $_->{cost} ? sprintf(' (%s)', join ', ', $_->{range} ? "range $_->{range}" : (), - $_->{cost} ? sprintf('cost %.0f%%', - 100 * $_->{cost} / $row->{energy} + $_->{cost} ? sprintf('cost %.0f%%%s', + 100 * $_->{cost} / $row->{energy}, + defined $_->{maint} && sprintf('+%.1f%%/s', + 100 * $_->{maint} / $row->{energy}, + ), ) : (), ) : '', ), @@ -178,7 +183,10 @@ sub showval { local $_ = $row; $_->{hp} += $_->{shield} if $_->{shield}; my $suitchar = ''; - if ($_->{suit}) { + if ($_->{attr}->{structure}) { + $suitchar = 'b'; + } + elsif ($_->{suit}) { $suitchar = [qw/? s m l/]->[$_->{suit}]; } elsif ($_->{cargo} > 0) { @@ -206,10 +214,10 @@ sub showval { defined $_->{unit} && $_->{unit} == .5 ? '½' : $_->{unit} ), '' . join('', grep { $_ } - (defined $_->{organic} || $_->{attr}->{organic}) - && 'o', (defined $_->{organic} ? !$_->{organic} : $_->{attr}->{mech}) && 'm', + ($_->{organic} || $_->{attr}->{organic}) + && 'o', $_->{attr}->{psionic} && 'ψ', ), @@ -220,10 +228,10 @@ sub showval { && 'L', ), '' . $_->{hp} // '', - '' . ( - $_->{shield} ? sprintf('%.0f%%', 100 * $_->{shield} / $_->{hp}) : ' ' - ), - '' . showval($_, 'armor'), + $_->{shield} ? sprintf('%.0f%%{shield} / $_->{hp} + ) : '' . showval($_, 'armor'), showattack($_, 'ground'), showattack($_, 'air'), '' . showval($_, 'attack', 'range'), @@ -232,7 +240,8 @@ sub showval { showval($_, 'sight') ), '' . showval($_, 'speed'), - $_->{attr}->{massive} && '☇', + $_->{attr}->{massive} + && '⚓', '' . showmagic($_), "\n" ); @@ -304,11 +313,22 @@ if ($scver{major} > 1) { or a single Huge unit<: } else { :>affected by Small, - Medium, - or Large unit damage<: + Medium, or + Large unit damage<: } :>
number of command points taken per unit -
organic/mechanic unit +
<: +if ($scver{major} > 1) { + :>received damage depends on + organic, + mechanic, + ψ(ps)ionic, + Light, and + Armored + attributes<: +} else { + :>organic/mechanic unit<: +} :>
HP
total number of hitpoints (including shields)
shield