index: release v1.18 with only altgr index linked
[sheet.git] / sc-units-hots.inc.pl
index 2f024b948af813f702a9d52155ff66f410f1a2fe..9b49af2d5460315abd9f883b9123dc19f1ba3ec2 100644 (file)
@@ -1,8 +1,11 @@
 use utf8;
 use strict;
 
+my $V = v5.0.2; # some patch data for invisible attributes
+my $GATHER = "gather 5 minerals (7 gold) after 4s (upto 60/minute)\n  or 4 gas (8 rich) after 3s (53/min)"; # lotv time scale
+
 [
-'patch 2.1.10',
+'patch 2.1.9+',
 # http://wiki.teamliquid.net/starcraft2/Unit_Statistics
 # http://wiki.teamliquid.net/starcraft2/User:Roemy/Unit_Statistics_(detailed)
 # http://starcraft.wikia.com/wiki/List_of_StarCraft_II_units
@@ -35,6 +38,13 @@ use strict;
        ],
        speed => 2.8125,
        sight => 8,
+       special => [
+               {
+                       name => 'worker',
+                       abbr => '⚒',
+                       desc => "warp-in buildings\n- $GATHER",
+               },
+       ],
 },
 
 {
@@ -147,6 +157,7 @@ use strict;
                psionic => 1,
                massive => 1,
                flying => 1,
+               heroic => 1,
        },
        attack => [
                {
@@ -272,12 +283,17 @@ use strict;
                        min => 200,
                        gas => 200,
                        build => 140,
-                       speed => .5,
                        range => 4,
                        duration => 3.5,
                        cooldown => 10,
                },
        ],
+       upgrade => [
+               {
+                       name => 'Charge',
+                       speed => .5,
+               },
+       ],
 },
 
 {
@@ -515,6 +531,85 @@ use strict;
        sight => 9,
 },
 
+{
+       race => 'protoss',
+       cat => 'robotic',
+       name => 'Observer',
+       pop => 1,
+       min => 25,
+       gas => 75,
+       build => 30,
+       size => 1,
+       cargo => 0,
+       armor => 0,
+       hp => 40,
+       shield => 20,
+       attr => {
+               light => 1,
+               mech => 1,
+               flying => 1,
+       },
+       speed => 1.875,
+       sight => 11,
+       detect => 1,
+       special => [
+               {
+                       name => 'Permanent Cloak',
+                       abbr => 'cl',
+                       desc => 'cloaked at all times',
+                       duration => -1,
+               },
+       ],
+       upgrade => [
+               {
+                       name => 'Gravitic Boosters',
+                       min => 100,
+                       gas => 100,
+                       build => 80,
+                       speed => $V ge v5.0.11 ? 1 : 0.9375, # 50% increase
+               },
+       ],
+},
+
+{
+       race => 'protoss',
+       cat => 'robotic',
+       name => 'Warp Prism',
+       pop => 2,
+       min => 200,
+       gas => 0,
+       build => 50,
+       size => 1.75,
+       cargo => -8,
+       armor => 0,
+       hp => 100,
+       shield => 100,
+       attr => {
+               armored => 1,
+               mech => 1,
+               psionic => 1,
+               flying => 1,
+       },
+       speed => 2.9531,
+       sight => 10,
+       special => [
+               {
+                       name => 'Phasing Mode',
+                       abbr => 'pm',
+                       desc => 'basically transforms into a hovering pylon',
+               },
+       ],
+       upgrade => [
+               {
+                       name => 'Gravitic Drive',
+                       min => 100,
+                       gas => 100,
+                       build => 80,
+                       speed => 0.422,
+               },
+       ],
+},
+
 {
        race => 'protoss',
        cat => 'robotic',
@@ -606,85 +701,6 @@ use strict;
        ],
 },
 
-{
-       race => 'protoss',
-       cat => 'robotic',
-       name => 'Observer',
-       pop => 1,
-       min => 25,
-       gas => 75,
-       build => 30,
-       size => 1,
-       cargo => 0,
-       armor => 0,
-       hp => 40,
-       shield => 20,
-       attr => {
-               light => 1,
-               mech => 1,
-               flying => 1,
-       },
-       speed => 1.875,
-       sight => 11,
-       detect => 1,
-       special => [
-               {
-                       name => 'Permanent Cloak',
-                       abbr => 'cl',
-                       desc => 'cloaked at all times',
-                       duration => -1,
-               },
-       ],
-       upgrade => [
-               {
-                       name => 'Gravitic Boosters',
-                       min => 100,
-                       gas => 100,
-                       build => 80,
-                       speed => 0.9375,
-               },
-       ],
-},
-
-{
-       race => 'protoss',
-       cat => 'robotic',
-       name => 'Warp Prism',
-       pop => 2,
-       min => 200,
-       gas => 0,
-       build => 50,
-       size => 1.75,
-       cargo => -8,
-       armor => 0,
-       hp => 100,
-       shield => 100,
-       attr => {
-               armored => 1,
-               mech => 1,
-               psionic => 1,
-               flying => 1,
-       },
-       speed => 2.9531,
-       sight => 10,
-       special => [
-               {
-                       name => 'Phasing Mode',
-                       abbr => 'pm',
-                       desc => 'basically transforms into a hovering pylon',
-               },
-       ],
-       upgrade => [
-               {
-                       name => 'Gravitic Drive',
-                       min => 100,
-                       gas => 100,
-                       build => 80,
-                       speed => 0.422,
-               },
-       ],
-},
-
 {
        race => 'protoss',
        cat => 'stargate',
@@ -1014,6 +1030,17 @@ use strict;
        ],
        speed => 2.8125,
        sight => 8,
+       special => [
+               {
+                       name => 'worker',
+                       abbr => '⚒',
+                       desc => join("\n- ",
+                               'construct buildings',
+                               'repair mechanical units and buildings (speed as build time but 25% cost)',
+                               $GATHER,
+                       ),
+               },
+       ],
 },
 
 {
@@ -1033,6 +1060,18 @@ use strict;
        },
        speed => 2.8,
        sight => 8,
+       special => [
+               {
+                       name => 'limited worker',
+                       abbr => '⛏',
+                       desc => join("\n- ",
+                               'repair like an SCV (but cannot build)',
+                               'gather 25 minerals after 6s: 200-225 over its 64s lifetime (equilavent to 3½ SCVs)',
+                       ),
+                       duration => 64,
+                       energy => 50,
+               },
+       ],
 },
 
 {
@@ -1262,8 +1301,6 @@ use strict;
                        ],
                        duration => 15,
                },
-       ],
-       upgrade => [
                {
                        name => 'Concussive Shells',
                        abbr => 'cs',
@@ -1350,7 +1387,16 @@ use strict;
        ],
        speed => 2.25,
        sight => 11,
-       energy => 75,
+       energy => $V ge v4.1.4 || $V lt v4.0.0 ? 75 : 50,
+       upgrade => [
+               $V ge v4.1.4 || $V lt v4.0.0 ? () : {
+                       name => 'Moebius Reactor',
+                       min => 100,
+                       gas => 100,
+                       build => 80,
+                       energy => 25,
+               },
+       ],
        capacity => 200,
        special => [
                {
@@ -1366,7 +1412,8 @@ use strict;
                        desc => 'reveals cloaked units and removes up to 100 shields and energy',
                        cost => 75,
                        range => 10,
-                       radius => 1.5,
+                       radius => 1.5, # 2 after upgrade
+                       detect => 1,
                },
                {
                        name => 'Personal Cloaking',
@@ -1381,8 +1428,9 @@ use strict;
                {
                        name => 'Nuclear Strike',
                        abbr => 'ns',
-                       desc => 'guides a nuclear missile which will do 300 damage plus 200 to buildings',
+                       desc => 'guides a missile which will do 300 damage plus 200 to buildings',
                        duration => 20,
+                       cooldown => 20,
                        range => 12,
                },
        ],
@@ -1432,8 +1480,8 @@ use strict;
        upgrade => [
                {
                        name => 'Infernal Pre-Igniter',
-                       min => 150,
-                       gas => 150,
+                       min => $V lt v4.11.0 ? 150 : 100,
+                       gas => $V lt v4.11.0 ? 150 : 100,
                        build => 110,
                        attack => [
                                {
@@ -1472,6 +1520,9 @@ use strict;
                        name => 'Napalm Spray',
                        damage => 18,
                        upgrade => 2,
+                       bonus => {
+                               light => 0, # visibility for upgrade
+                       },
                        splash => 1,
                        cooldown => 2,
                        range => 2,
@@ -1484,14 +1535,14 @@ use strict;
                        name => 'Hellion Mode',
                        abbr => 'hm',
                        desc => 'transform to Hellion',
-                       duration => 4,
+                       transform => 4,
                },
        ],
        upgrade => [
                {
                        name => 'Infernal Pre-Igniter',
-                       min => 150,
-                       gas => 150,
+                       min => $V lt v4.11.0 ? 150 : 100,
+                       gas => $V lt v4.11.0 ? 150 : 100,
                        build => 110,
                        attack => [
                                {
@@ -1532,6 +1583,7 @@ use strict;
                        splash => 1,
                        cooldown => 40,
                        range => 5,
+                       transform => 1.0, # time to burrow
                },
        ],
        speed => 2.8125,
@@ -1580,8 +1632,8 @@ use strict;
        ],
        special => [
                {
-                       name => 'siege mode',
-                       abbr => 'sg',
+                       name => 'Siege Mode',
+                       abbr => 'sm',
                        alt => 'Sieged Tank',
                        cargo => 0,
                        attack => [
@@ -1600,7 +1652,7 @@ use strict;
                                },
                        ],
                        speed => 0,
-                       duration => 4,
+                       transform => 4,
                },
        ],
        speed => 2.25,
@@ -1656,6 +1708,7 @@ use strict;
 #                      name => 'High Impact Payload',
                        damage => 24,
                        upgrade => 2,
+                       type => 'projectile',
                        cooldown => 2,
                        range => 10,
                },
@@ -1700,7 +1753,7 @@ use strict;
                {
                        name => 'Assault Mode',
                        abbr => 'am',
-                       build => 3, # transformation time
+                       transform => 3,
                        alt => 'Landed Viking',
                        cargo => 2,
                        attack => [
@@ -1840,7 +1893,7 @@ use strict;
        special => [
                {
                        alt => 'Auto-Turret',
-#                      abbr => 'at',
+                       abbr => 'at',
                        cost => 50,
                        size => 2,
                        cargo => 0,
@@ -1881,7 +1934,15 @@ use strict;
                                        build => 140,
                                        armor => 2,
                                },
+                               {
+                                       name => 'Durable Materials',
+                                       min => 150,
+                                       gas => 150,
+                                       build => 110,
+                                       duration => 60,
+                               },
                        ],
+                       duration => 180,
                },
                {
                        alt => 'Point Defense Drone',
@@ -1924,6 +1985,13 @@ use strict;
                                        build => 140,
                                        armor => 2,
                                },
+                               {
+                                       name => 'Durable Materials',
+                                       min => 150,
+                                       gas => 150,
+                                       build => 110,
+                                       duration => 10,
+                               },
                        ],
                        duration => 20,
                },
@@ -1943,20 +2011,6 @@ use strict;
                },
        ],
        upgrade => [
-               {
-                       name => 'Durable Materials',
-                       min => 150,
-                       gas => 150,
-                       build => 110,
-#                      special => {
-#                              at => {
-#                                      duration => 240,
-#                              },
-#                              pd => {
-#                                      duration => 30,
-#                              },
-#                      },
-               },
                {
                        name => 'Corvid Reactor',
                        min => 150,
@@ -1997,7 +2051,7 @@ use strict;
                },
                {
                        anti => 2,
-                       name => 'ATS Laser Batteries',
+                       name => 'ATA Laser Batteries',
                        damage => 6,
                        upgrade => 1,
                        cooldown => 0.225,
@@ -2068,6 +2122,13 @@ use strict;
        speed => 2.8125,
        creep => 1.0,
        sight => 8,
+       special => [
+               {
+                       name => 'worker',
+                       abbr => '⚒',
+                       desc => "morph into buildings\n- $GATHER",
+               },
+       ],
 },
 
 {
@@ -2173,8 +2234,8 @@ use strict;
        upgrade => [
                {
                        name => 'Pneumatized Carapace',
-                       min => 100,
-                       gas => 100,
+                       min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
+                       gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
                        build => 60,
                        speed => 1.294,
                },
@@ -2215,6 +2276,7 @@ use strict;
        special => [
                {
                        name => 'Spawn Changeling',
+                       abbr => 'sc',
                        alt => 'Changeling',
                        cost => 50,
                        duration => 150,
@@ -2230,6 +2292,7 @@ use strict;
                        speed => 2.25,
                        creep => 1.0,
                        sight => 8,
+                       range => 0,
                },
                {
                        name => 'Contaminate',
@@ -2243,8 +2306,8 @@ use strict;
        upgrade => [
                {
                        name => 'Pneumatized Carapace',
-                       min => 100,
-                       gas => 100,
+                       min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
+                       gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
                        build => 60,
                        speed => 3.375 - 1.875,
                },
@@ -2474,6 +2537,7 @@ use strict;
                        damage => 16,
                        upgrade => 2,
                        cooldown => 2.0,
+                       range => 4,
                },
        ],
        speed => 2.25,
@@ -2559,6 +2623,7 @@ use strict;
                        build => 100,
                        speed => 0.5625,
                        creep => -0.302,
+                       speed => $V ge v5.0.11 ? .98 : .79, #TODO
                },
        ],
 },
@@ -2605,13 +2670,14 @@ use strict;
                        range => 10,
                        duration => 4,
                        radius => 2.0,
+                       detect => 1,
                },
                {
                        alt => 'Infested Terran',
                        cost => 25,
                        range => 9,
                        duration => 30,
-                       build => 5,
+                       build => 4.8, # 5 normal but 3 faster
                        size => 0.75,
                        cargo => 0,
                        armor => 0,
@@ -2622,6 +2688,7 @@ use strict;
                        },
                        attack => [
                                {
+                                       name => 'Infested Rockets',
                                        anti => 3,
                                        damage => 8,
                                        cooldown => 0.8608,
@@ -2648,7 +2715,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Nydus Worm',
-       min => 100,
+       min => 100, # Nydus Network costs 150/200
        gas => 100,
        build => 20,
        size => 3,
@@ -2697,7 +2764,7 @@ use strict;
        special => [
                {
                        alt => 'Locust',
-                       build => 5,
+                       build => 4.8, # 5 normal but 3 faster
                        size => 0.75,
                        cargo => 0,
                        armor => 0,
@@ -2723,6 +2790,14 @@ use strict;
                        duration => 25,
                        cooldown => 60,
                        count => 2,
+                       upgrade => [
+                               {
+                                       # Flying Locusts
+                                       attr => {
+                                               flying => 1,
+                                       },
+                               },
+                       ],
                },
        ],
        upgrade => [
@@ -2731,9 +2806,6 @@ use strict;
                        min => 200,
                        gas => 200,
                        build => 160,
-                       attr => {
-                               flying => 1,
-                       },
                },
        ],
 },
@@ -2858,9 +2930,8 @@ use strict;
        special => [
                {
                        name => 'Swarm Seeds',
-                       abbr => 'ss',
                        desc => 'Broodlings are spawned upon each attack',
-                       duration => -1,
+                       duration => $V ge v5.0.11 ? 2.55 : 4,
                        alt => 'Broodling',
                        pop => 0,
 #                      build => 1,