'."\n", $race
- if $grouped and $race ne $_->{race};
- $_->{cat} = $_->{race} if not $grouped;
- my $sizechar = [qw/? s m l/]->[$_->{size}];
+ if ($grouped) {
+ printf '
includes total expenses if based on existing units
build
relative time needed to create at least one unit
+
excludes construction of dependencies such as buildings
+ and +parent units
size
-
Small,
+
<:
+if ($scver{major} > 1) {
+ :>transports can fit 8 Small,
+ 4 Medium,
+ 2 Large,
+ or a single Huge unit<:
+} else {
+ :>affected by Small,
Medium,
- or Large unit damage
+ or Large unit damage<:
+} :>
number of command points taken per unit
-
organic/mechanic unit
+
organic/mechanic unit
HP
total number of hitpoints (including shields)
shield
@@ -319,12 +319,11 @@ sub showrange {
base unit armor
can be increased by upto 3 at various facilities
each point decreases damage per hit by one, upto a minimum of ½
-
reduction applies to initial damage, before size penalties (so a large plasma hit of 12 to 4 armor deals 2 damage, not ½)
+
reduction applies to initial damage, before size penalties (so a plasma hit of 12 to 4 armor large deals 2 damage, not ½)
ground/air
damage done per single attack against ground/air units
2nd column indicates relative amount of damage done in
- a certain
- amount of time
+ 1 second of fastest game time
splash damage+ hits nearby objects as well
explosive damage does only
50% damage to small units, 75% to medium, 100% to large
@@ -338,8 +337,8 @@ sub showrange {
speed
relative speed of movement (when in full motion, startup speed ignored)
specials
-
special abilities
-
parentheses () indicated that it needs to be researched first
+
special abilities are usually casted manually, but some are always active
+
parentheses () indicate that it needs to be researched first
hover for description
range is maximum range required to activate
cost is percentage of total energy lost
@@ -350,28 +349,5 @@ When two values are given (1-2), second value indicates attribute after all
possible upgrades.
-<: exit :>
-
Magic
-
-
<:
-for (@$units) {
- print '
', $_->{name};
- print ' ';
-# my $units = {qw/protoss W zerg B terran R/}->{$_->{race}} x int($_->{unit} + .5);
-# my $cost = int(($_->{min} + $_->{gas}) / 50 - $_->{unit}) || '';
- my $units = {qw/protoss W zerg B terran R/}->{$_->{race}} x int($_->{gas} / 50) || '';
- my $cost = int($_->{min} / 50) || 0;
- my @desc;
- push @desc, "Flying" if $_->{flying};
- push @desc, "Cloaking" if $_->{cloak};
- push @desc, "First Strike" if $_->{range} and $_->{range} >= 4;
- my $att = $_->{attack}->{ground};
- push @desc, "Trample" if $att and $att->{splash};
- $att = $att->{damage} if $att;
- $att = $att->[0] if ref $att eq "ARRAY";
- $att = int($att / 5);
- my $def = int($_->{hp} / 45);
- printf "%s %s %s/%s", $cost . $units, join(",", @desc), $att, $def;
-}
-:>