'."\n", $race
- if $grouped and $race ne $_->{race};
- $_->{cat} = $_->{race} if not $grouped;
- my $sizechar = [qw/? s m l/]->[$_->{size}];
+ if ($grouped) {
+ printf '
massive â units
+ cannot be lifted or slowed and can break force fields<:
+} else {
+ :>abilities may hit only organic
+ or mechanic targets
+
affected by Small,
+ Medium, or
+ Large damage<:
+} :>
HP
total number of hitpoints (including shields)
shield
@@ -319,59 +445,54 @@ 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 ½)
-
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
-
splash damage+ hits nearby objects as well
-
explosive damage does only
- 50% damage to small units, 75% to medium, 100% to large
-
concussive/plasma damage does
- 25% to large, 50% medium, 100% to small units
+
reduction applies to initial damage, before size penalties
+ (so a plasma hit of 12 to 4 armor large deals 2 damage, not ½)
+
attack
+
damage per single hit
+
some weapons fire multiple à times, multiplying armor penalties
+
splash damage hits all objects nearby â
+ or in a straight line +.
+
<:
+if ($scver{major} > 1) {
+ :>does not include ≥bonus damage
+ dealt to susceptible unit types
+
â¢projectile shots are negated by
+ Point Defense Drones<:
+} else {
+ :>*explosive damage does only
+ 50% damage to Small units,
+ 75% to Medium,
+ 100% to Large
+
~concussive/plasma damage does
+ 25% to Large,
+ 50% Medium,
+ 100% to Small units<:
+} :>
+
dps indicates relative total amount of damage
+ done in 1 second of <:= $scver{major} > 1 ? 'Normal in-game time' :
+ 'time on Fast game speed' :>
+
targets â½ ground
+ and/or â³ air
+
range
+
maximum hex distance a weapon can fire (note Sieged Tank also has a minimum)
sight
range in which the unit detects other units
emphasis indicates ability to detect cloaked units
-
range
-
maximum range of weapon (note siege tank also has a minimum range)
speed
-
relative speed of movement (when in full motion, startup speed ignored)
+
top movement speed in hex per second
+
acceleration and deceleration ignored
specials
-
special abilities
-
parentheses () indicated that it needs to be researched first
+
parentheses () indicate that it needs to be researched first
+
passive abilities are always enabled
hover for description
-
range is maximum range required to activate
-
cost is percentage of total energy lost
+
range is maximum distance allowed to activate
+
cost describes energy loss percentage on spawn and when fully charged
-When two values are given (1-2), second value indicates attribute after all
-possible upgrades.
+When two values are given (1-2), the second value indicates the 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;
-}
-:>