perl: version descriptions after release dates
[sheet.git] / sc.plp
diff --git a/sc.plp b/sc.plp
index 8d021b793a7eec2e2ffdcee31df65a3146077a65..3c19fce353db8aff37c84b24153adeae9192e0da 100644 (file)
--- a/sc.plp
+++ b/sc.plp
@@ -178,15 +178,16 @@ sub showrangeint {
                        if $attack->{type} eq 'implosive';
        if (my @bonus = sort grep { !/^-/ } keys %{ $attack->{bonus} }) {
                $out .= sprintf('<span class="%s" title="%s">&ge;</span>',
-                       (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}->{$_},
@@ -195,8 +196,8 @@ sub showrangeint {
                                        ),
                                        $_,
                                ),
-                       )} @bonus),
-               );
+                       ),
+               ) for @bonus;
        }
                $out .= '<span class="unit-pdd" title="projectile">•</span>'
                        if $attack->{type} eq 'projectile';
@@ -252,7 +253,7 @@ sub showrangeint {
                        sprintf '<span%s title="%s">%s</span>',
                                $_->{duration} < 0 && ' class="magic-perma"',
                                join('',
-                                       $_->{name},
+                                       $_->{name} // $_->{alt},
                                        $_->{desc} ? ": $_->{desc}" : '',
                                        (map { $_ && " ($_)" } join ', ',
                                                #TODO: apply upgrades
@@ -355,12 +356,11 @@ sub showrangeint {
                        $_->{attr}->{jump}
                                && qq'<span class="unit unit-jump" title="$_->{attr}->{jump}">↕</span>',
                        '<td class="unit-magic">' . showmagic($_),
-                       !$_->{attack}->[1] ? () : (
-                               '<tr><th class="cat" colspan="2"><td colspan=10>', showattack($_, 1), '<td colspan=3>'
-                       ),
-                       !$_->{attack}->[2] ? () : (
-                               '<tr><th class="cat" colspan="2"><td colspan=10>', showattack($_, 2), '<td colspan=3>'
-                       ),
+                       (map {(
+                               '<tr class="sub"><th class="cat"><td><td colspan=10>',
+                               showattack($row, $_),
+                               '<td colspan=3>',
+                       )} 1 .. $#{ $_->{attack} }),
                        "\n"
                );
        }
@@ -399,7 +399,7 @@ sub showrangeint {
                        ) for @rows;
                }
                elsif ($get{order} eq 'attack') {
-                       $_->{order} = $_->{hp} / 1024 + $_->{shield} / 1008 + max(
+                       $_->{order} = $_->{hp} / 16384 + max(
                                map {
                                        ($_->{dps} ? $_->{dps}->[-1] :
                                                ($_->{damage} + $_->{upgrade} * 3)