Html({
title => "$scver{title} unit cheat sheet",
- version => '1.1',
+ version => '1.2',
description => [
"Reference of $scver{game} unit properties,"
. " comparing various statistics of all the units in $scver{name}"
$scver{major} < 2 ? qw' bw broodwar brood war ' :
qw' starcraft2 lotv hots wol ',
],
- stylesheet => [qw'light'],
- raw => '<link rel="stylesheet" type="text/css" media="all" href="/sc.css?1.1" title="light">',
+ stylesheet => [qw( light dark )],
+ raw => '<link rel="stylesheet" type="text/css" media="all" href="/sc.css?1.2">',
data => [$datafile],
});
:><table class="units">
<thead><tr>
<th><:= coltoggle(exists $get{order} ? 'race' : 'source' => '') :></th>
- <th><:= coltoggle(name => 'name') :></th>
- <th class="val min" title=minerals><:= coltoggle(cost => 'cost') :></th>
- <th class="val gas">gas</th>
+ <th class="unit-name"><:= coltoggle(name => 'name') :></th>
+ <th class="val unit-min" title=minerals><:= coltoggle(cost => 'cost') :></th>
+ <th class="val unit-gas">gas</th>
<th class="val time"><:= coltoggle(build => 'build') :></th>
<th class="unit" colspan="2"><:= coltoggle(qw'size size') :></th>
- <th class="unit" colspan="2">attr</th>
+ <th class="unit unit-attr" colspan="2">attr</th>
<th class="val unit-hp"><:= coltoggle(HP => 'hp') :></th>
<th class="val unit-shield">shield</th>
<th class="val unit-armor" title="armor">⛨</th>
$_->{hp} += $_->{shield} if $_->{shield};
return (
- '<td class="val min">' . ($_->{min} // ''),
- '<td class="val gas">' . ($_->{gas} || ''),
+ '<td class="val unit-min">' . ($_->{min} // ''),
+ '<td class="val unit-gas">' . ($_->{gas} || ''),
+ defined $_->{transform} ? sprintf('<td class="val time">%.0f',
+ $_->{transform},
+ ) :
!defined $_->{build} ? '<td>' : sprintf('<td class="val time"%s>%s%.0f',
defined $_->{warp} && qq(title="$_->{build} without warpgate"),
!!$_->{base} && sprintf(
sprintf('<td class="unit unit-%s" title="%4$s%3$s">%s',
$_-> {cargo} < 0 ? ('supply', T => 'transport') :
$_->{upgraded}->{cargo} < 0 ? ('supply magic-opt', T => 'optional transport') :
- $_->{attr}->{flying} ? ('air', F => 'flying') :
+ $_-> {attr}->{flying} ? ('air', F => 'flying') :
+ $_->{upgraded}->{attr}->{flying} ? ('air magic-opt', F => 'potentially flying') :
$_->{attr}->{structure} ? ('x', B => 'building') :
(
[qw( x s m l l h h h h )]->[ $_->{cargo} ],
),
defined $_->{size} && sprintf('⌀%.1f ', $_->{size}),
),
- sprintf('<td class="val unit%s">%s',
+ sprintf('<td class="val unit unit-pop%s">%s',
defined $_->{pop} && $_->{pop} < 0 && ' unit-supply',
defined $_->{pop} && $_->{pop} == .5 ? '½' : $_->{pop},
),
$_->{attr}->{massive}
&& '<span class="unit-massive" title="massive">⚓</span>',
),
- '<td class="val unit-hp">' . $_->{hp} // '',
+ $_->{hp} < 0 ? '<td class="val unit-hp" title="invulnerable">∞' :
+ '<td class="val unit-hp">' . showrangeint($_->{hp}, $_->{upgraded}->{hp}),
$_->{shield} ? sprintf('<td class="val unit-shield">%.0f%%<td',
100 * $_->{shield} / $_->{hp}
) : '<td colspan=2',
&& qq'<span class="unit unit-jump" title="$_->{attr}->{jump}">↕</span>',
'<td class="unit-magic">' . showmagic($_),
!$_->{attack}->[1] ? () : (
- '<tr><td colspan=12>', showattack($_, 1), '<td colspan=3>'
+ '<tr><th class="cat" colspan="2"><td colspan=10>', showattack($_, 1), '<td colspan=3>'
),
!$_->{attack}->[2] ? () : (
- '<tr><td colspan=12>', showattack($_, 2), '<td colspan=3>'
+ '<tr><th class="cat" colspan="2"><td colspan=10>', showattack($_, 2), '<td colspan=3>'
),
"\n"
);
<dl>
<dt>cost
- <dd>minerals and gas required to create one unit
+ <dd><span class="unit-min">minerals</span> and
+ <span class="unit-gas">gas</span> required to create one unit
<dd>includes total expenses if based on existing units
<dt>build
<dd>relative time needed to create at least one unit