X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/637b7a6936d2937561bdbcd44595384fc5cc14f3..e162106cb6f2118c223c110ed2d69f3819458831:/sc.plp
diff --git a/sc.plp b/sc.plp
index 87befbd..01b4957 100644
--- a/sc.plp
+++ b/sc.plp
@@ -34,7 +34,7 @@ if (ref $requestver ne 'HASH') {
}
my %scver = %{$requestver};
-my $datafile = "sc-units-$Request.inc.pl";
+my $datafile = "sc-units-$Request";
Html({
title => "$scver{title} unit cheat sheet",
@@ -54,13 +54,12 @@ Html({
],
stylesheet => [qw( light dark )],
raw => '',
- data => [$datafile],
+ data => ["$datafile.inc.pl"],
});
say "
$scver{game} units
\n";
-my $units = do $datafile;
-Abort("Cannot open unit data", 501, $_) for $@ || $! || ();
+my $units = Data($datafile);
my $patch = shift @{$units}
or Abort("Cannot open unit data: metadata not found", 501);
@@ -179,15 +178,16 @@ sub showrangeint {
if $attack->{type} eq 'implosive';
if (my @bonus = sort grep { !/^-/ } keys %{ $attack->{bonus} }) {
$out .= sprintf('≥',
- (map {
+ (
$_ eq 'light' ? 'unit-s' :
$_ eq 'armored' ? 'unit-l' :
$_ eq 'organic' ? 'unit-o' :
$_ eq 'massive' ? 'unit-h' :
$_ eq 'shields' ? 'unit-shield' :
+ $_ eq 'structure' ? 'unit-x' :
'',
- } join '_', @bonus),
- join(', ', map {(
+ ),
+ (
sprintf('+%s vs %s',
showrangeint(
$attack->{bonus}->{$_},
@@ -196,8 +196,8 @@ sub showrangeint {
),
$_,
),
- )} @bonus),
- );
+ ),
+ ) for @bonus;
}
$out .= 'â¢'
if $attack->{type} eq 'projectile';
@@ -253,7 +253,7 @@ sub showrangeint {
sprintf '%s',
$_->{duration} < 0 && ' class="magic-perma"',
join('',
- $_->{name},
+ $_->{name} // $_->{alt},
$_->{desc} ? ": $_->{desc}" : '',
(map { $_ && " ($_)" } join ', ',
#TODO: apply upgrades