charset: omit unassigned half of ascii table
[sheet.git] / sc-units-hots.inc.pl
index 107f103..524ed12 100644 (file)
@@ -11,7 +11,7 @@ use strict;
        race => 'protoss',
        cat => 'base',
        name => 'Probe',
-       unit => 1,
+       pop => 1,
        min => 50,
        gas => 0,
        build => 17,
@@ -27,9 +27,8 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Particle beam',
+                       name => 'Particle Beam',
                        damage => 5,
-                       dps => 3.3,
                        cooldown => 1.5,
                        range => 0,
                },
@@ -56,9 +55,8 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Phase disruptor',
+                       name => 'Phase Disruptor',
                        damage => 20,
-                       dps => 16,
                        cooldown => 1.25,
                        type => 'projectile',
                        range => 7,
@@ -73,7 +71,7 @@ use strict;
        race => 'protoss',
        cat => 'base',
        name => 'Mothership Core',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 100,
        build => 30,
@@ -92,8 +90,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Repulsor Cannon',
-                       damage => [8 .. 11],
-                       dps => [9.4, 10.6, 11.8, 13.0],
+                       damage => 8,
+                       upgrade => 1,
                        type => 'projectile',
                        cooldown => 0.85,
                        range => 5,
@@ -101,7 +99,8 @@ use strict;
        ],
        speed => 1.875,
        sight => 9,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Photon Overcharge',
@@ -134,7 +133,7 @@ use strict;
        race => 'protoss',
        cat => 'base',
        name => 'Mothership',
-       unit => 8,
+       pop => 8,
        min => 300,
        gas => 300,
        build => 100,
@@ -152,9 +151,9 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Purifier beams',
-                       damage => [6 .. 9],
-                       dps => [16.3, 19.0, 21.7, 24.4],
+                       name => 'Purifier Beams',
+                       damage => 6,
+                       upgrade => 1,
                        cooldown => 2.21,
                        count => 6,
                        range => 7,
@@ -162,7 +161,8 @@ use strict;
        ],
        speed => 1.4062,
        sight => 14,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Cloaking Field',
@@ -210,9 +210,8 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Photon overcharge',
+                       name => 'Photon Overcharge',
                        damage => 20,
-                       dps => 16,
                        cooldown => 1.25,
                        type => 'projectile',
                        range => 13,
@@ -220,7 +219,8 @@ use strict;
        ],
        speed => 0,
        sight => 11,
-       energy => 100,
+       energy => 0,
+       capacity => 100,
        special => [
                {
                        name => 'Chrono Boost',
@@ -236,7 +236,7 @@ use strict;
        race => 'protoss',
        cat => 'gateway',
        name => 'Zealot',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 0,
        build => 38,
@@ -253,9 +253,9 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Psi blades',
-                       damage => [8 .. 11],
-                       dps => [13.3, 15.0, 16.7, 18.4],
+                       name => 'Psi Blades',
+                       damage => 8,
+                       upgrade => 1,
                        cooldown => 1.2,
                        count => 2,
                        range => 0,
@@ -283,7 +283,7 @@ use strict;
        race => 'protoss',
        cat => 'gateway',
        name => 'Sentry',
-       unit => 2,
+       pop => 2,
        min => 50,
        gas => 100,
        build => 37,
@@ -301,16 +301,17 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Disruption beam',
-                       damage => [6 .. 9],
-                       dps => [6 .. 9],
+                       name => 'Disruption Beam',
+                       damage => 6,
+                       upgrade => 1,
                        cooldown => 1.0,
                        range => 5,
                },
        ],
        speed => 2.25,
        sight => 10,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Force Field',
@@ -344,7 +345,7 @@ use strict;
        race => 'protoss',
        cat => 'gateway',
        name => 'Stalker',
-       unit => 2,
+       pop => 2,
        min => 125,
        gas => 50,
        build => 42,
@@ -361,9 +362,9 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Particle disruptors',
-                       damage => [10 .. 13],
-                       dps => [6.9, 7.6, 8.3, 9.0],
+                       name => 'Particle Disruptors',
+                       damage => 10,
+                       upgrade => 1,
                        bonus => {
                                armored => 4,
                        },
@@ -392,7 +393,7 @@ use strict;
        race => 'protoss',
        cat => 'gateway',
        name => 'High Templar',
-       unit => 2,
+       pop => 2,
        min => 50,
        gas => 150,
        build => 55,
@@ -409,7 +410,8 @@ use strict;
        },
        speed => 1.875,
        sight => 10,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Feedback',
@@ -438,7 +440,7 @@ use strict;
        race => 'protoss',
        cat => 'gateway',
        name => 'Dark Templar',
-       unit => 2,
+       pop => 2,
        min => 125,
        gas => 125,
        build => 55,
@@ -456,9 +458,9 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Warp blade',
-                       damage => [45, 50, 55, 60],
-                       dps => [26.6, 29.6, 32.6, 35.6],
+                       name => 'Warp Blade',
+                       damage => 45,
+                       upgrade => 5,
                        cooldown => 1.694,
                        range => 0,
                },
@@ -481,7 +483,7 @@ use strict;
        name => 'Archon',
        min => 100, # or 175 or 250
        gas => 300, # or 275 or 250
-       unit => 4,
+       pop => 4,
        build => 12,
        base => ['Templar', 'Templar'],
        size => 1.5,
@@ -496,11 +498,12 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Psionic shockwave',
-                       damage => [25, 28, 31, 34],
-                       dps => [14.3, 16.0, 17.7, 19.4],
+                       name => 'Psionic Shockwave',
+                       damage => 25,
+                       upgrade => 3,
                        bonus => {
-                               organic => [10 .. 13],
+                               organic => 10,
+                               -organic => 1,
                        },
                        splash => 1,
                        cooldown => 1.754,
@@ -515,7 +518,7 @@ use strict;
        race => 'protoss',
        cat => 'robotic',
        name => 'Immortal',
-       unit => 4,
+       pop => 4,
        min => 250,
        gas => 100,
        build => 55,
@@ -531,12 +534,13 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Phase disruptors',
-                       damage => [20, 22, 24, 26],
+                       name => 'Phase Disruptors',
+                       damage => 20,
+                       upgrade => 2,
                        bonus => {
-                               armored => [30, 33, 36, 39],
+                               armored => 30,
+                               -armored => 3,
                        },
-                       dps => [13.8, 15.2, 16.6, 18.0],
                        cooldown => 1.45,
                        range => 6,
                },
@@ -557,7 +561,7 @@ use strict;
        race => 'protoss',
        cat => 'robotic',
        name => 'Colossus',
-       unit => 6,
+       pop => 6,
        min => 300,
        gas => 200,
        build => 75,
@@ -576,8 +580,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Thermal Lances',
-                       damage => [15, 17, 19, 21],
-                       dps => [18.2, 20.6, 23.0, 25.4],
+                       damage => 15,
+                       upgrade => 2,
                        splash => 'line',
                        cooldown => 1.65,
                        count => 2,
@@ -605,7 +609,7 @@ use strict;
        race => 'protoss',
        cat => 'robotic',
        name => 'Observer',
-       unit => 1,
+       pop => 1,
        min => 25,
        gas => 75,
        build => 30,
@@ -645,7 +649,7 @@ use strict;
        race => 'protoss',
        cat => 'robotic',
        name => 'Warp Prism',
-       unit => 2,
+       pop => 2,
        min => 200,
        gas => 0,
        build => 50,
@@ -684,7 +688,7 @@ use strict;
        race => 'protoss',
        cat => 'stargate',
        name => 'Phoenix',
-       unit => 2,
+       pop => 2,
        min => 150,
        gas => 100,
        build => 35,
@@ -702,8 +706,8 @@ use strict;
                {
                        anti => 2,
                        name => 'Ion Cannons',
-                       damage => [5 .. 8],
-                       dps => [9, 10.8, 12.6, 14.4],
+                       damage => 5,
+                       upgrade => 1,
                        bonus => {
                                light => 5,
                        },
@@ -715,7 +719,8 @@ use strict;
        ],
        speed => 4.25,
        sight => 10,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Graviton Beam',
@@ -745,7 +750,7 @@ use strict;
        race => 'protoss',
        cat => 'stargate',
        name => 'Void Ray',
-       unit => 4,
+       pop => 4,
        min => 250,
        gas => 150,
        build => 60,
@@ -762,12 +767,13 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Prismatic beam',
-                       damage => [6 .. 9],
+                       name => 'Prismatic Beam',
+                       damage => 6,
+                       upgrade => 1,
                        bonus => {
-                               armored => [4 .. 7],
+                               armored => 4,
+                               -armored => 1,
                        },
-                       dps => [12, 14, 16, 18],
                        cooldown => 0.5,
                        range => 6, # keeps firing until range 8
                },
@@ -784,7 +790,7 @@ use strict;
                        attack => [
                                {
                                        bonus => {
-                                               armored => 6, # total +10 .. 13
+                                               armored => 6,
                                        },
                                },
                        ],
@@ -796,7 +802,7 @@ use strict;
        race => 'protoss',
        cat => 'stargate',
        name => 'Oracle',
-       unit => 3,
+       pop => 3,
        min => 150,
        gas => 150,
        build => 50,
@@ -820,7 +826,6 @@ use strict;
                        bonus => {
                                light => 10,
                        },
-                       dps => 17.4,
                        cooldown => 0.86,
                        cost => 25,
                        maint => 1.4,
@@ -829,7 +834,8 @@ use strict;
        ],
        speed => 4,
        sight => 10,
-       energy => 200,
+       energy => 50, #XXX
+       capacity => 200,
        special => [
                {
                        name => 'Revelation',
@@ -856,7 +862,7 @@ use strict;
        race => 'protoss',
        cat => 'stargate',
        name => 'Tempest',
-       unit => 4,
+       pop => 4,
        min => 300,
        gas => 200,
        build => 60,
@@ -873,13 +879,23 @@ use strict;
        },
        attack => [
                {
-                       anti => 3,
+                       anti => 2,
                        name => 'Kinetic Overload',
-                       damage => [30, 33, 36, 39],
+                       damage => 30,
+                       upgrade => 3,
                        bonus => {
-                               'massive air' => 14,
+                               massive => 14,
+                               -massive => 2,
                        },
-                       dps => [9.1, 10.0, 10.9, 11.8],
+                       type => 'projectile',
+                       cooldown => 3.3,
+                       range => 15,
+               },
+               {
+                       anti => 1,
+                       name => 'Resonance Coil',
+                       damage => 30,
+                       upgrade => 3,
                        type => 'projectile',
                        cooldown => 3.3,
                        range => 15,
@@ -893,7 +909,7 @@ use strict;
        race => 'protoss',
        cat => 'stargate',
        name => 'Carrier',
-       unit => 6,
+       pop => 6,
        min => 350,
        gas => 250,
        build => 120,
@@ -910,7 +926,11 @@ use strict;
        },
        attack => [
                {
+                       anti => 3,
+                       count => 8,
                        range => 8, # leash range 14
+                       dps => [26.7, undef, undef, 42.6],
+                       cooldown => 0.5,
                },
        ],
        speed => 1.875,
@@ -918,7 +938,7 @@ use strict;
        special => [
                {
                        alt => 'Interceptor',
-                       unit => 0,
+                       pop => 0,
                        min => 25,
                        gas => 0,
                        build => 8,
@@ -936,10 +956,8 @@ use strict;
                                {
                                        anti => 3,
                                        name => 'Interceptor Beams',
-                                       damage => [5 .. 8],
-#                                      dps => 26.7 (+5.3),
-                                       dps => [3.3, 4.0, 4.7, 5.4],
-#                                      cooldown => 0.5 (0.125/ 0.25),
+                                       damage => 5,
+                                       upgrade => 1,
                                        cooldown => 3.0,
                                        count => 2,
                                        range => 2,
@@ -956,6 +974,11 @@ use strict;
                        gas => 150,
                        build => 80,
                        desc => 'increases Interceptor launch speed from 2/s to 4-8/s',
+                       attack => [
+                               {
+                                       cooldown => -0.375, # -0.25
+                               },
+                       ],
                },
        ],
 },
@@ -966,7 +989,7 @@ use strict;
        race => 'terran',
        cat => 'base',
        name => 'SCV', # T-280 Space Construction Vehicle
-       unit => 1,
+       pop => 1,
        min => 50,
        gas => 0,
        build => 17,
@@ -982,9 +1005,8 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Fusion cutter',
+                       name => 'Fusion Cutter',
                        damage => 5,
-                       dps => 3.3,
                        cooldown => 1.5,
                        range => 0,
                },
@@ -997,7 +1019,8 @@ use strict;
        race => 'terran',
        cat => 'base',
        name => 'Mule',
-       unit => 0,
+       pop => 0,
+       cargo => 0,
        min => 0,
        build => 0,
        size => 0.75,
@@ -1030,9 +1053,8 @@ use strict;
        attack => [
                {
                        anti => 2,
-                       name => 'Longbolt missiles',
+                       name => 'Longbolt Missiles',
                        damage => 12,
-                       dps => 27.9,
                        cooldown => 0.8608,
                        count => 2,
                        type => 'projectile',
@@ -1069,7 +1091,7 @@ use strict;
        cat => 'base',
        name => 'Planetary Fortress',
        base => ['Command Center'],
-       unit => -11,
+       pop => -11,
        min => 150,
        gas => 150,
        build => 50,
@@ -1085,9 +1107,8 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Ibiks cannon',
+                       name => 'Ibiks Cannon',
                        damage => 40,
-                       dps => 20,
                        splash => 1,
                        cooldown => 2,
                        range => 6,
@@ -1128,7 +1149,7 @@ use strict;
        race => 'terran',
        cat => 'barracks',
        name => 'Marine',
-       unit => 1,
+       pop => 1,
        min => 50,
        gas => 0,
        build => 25,
@@ -1143,9 +1164,9 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'C-14 rifle',
-                       damage => [6 .. 9],
-                       dps => [7, 8.2, 9.4, 10.6],
+                       name => 'C-14 Rifle',
+                       damage => 6,
+                       upgrade => 1,
                        cooldown => 0.8608,
                        range => 5,
                },
@@ -1172,8 +1193,8 @@ use strict;
                        attack => [
                                {
                                        anti => 3,
-                                       damage => [6 .. 9],
-                                       dps => [10.5, 12.2, 13.9, 15.6],
+                                       damage => 6,
+                                       upgrade => 1,
                                        cooldown => 0.5739,
                                        range => 5,
                                },
@@ -1188,7 +1209,7 @@ use strict;
        race => 'terran',
        cat => 'barracks',
        name => 'Marauder',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 25,
        build => 30,
@@ -1203,12 +1224,13 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Punisher grenades',
-                       damage => [10 .. 13],
+                       name => 'Punisher Grenades',
+                       damage => 10,
+                       upgrade => 1,
                        bonus => {
-                               armored => [10 .. 13],
+                               armored => 10,
+                               -armored => 1,
                        },
-                       dps => [6.7, 7.4, 8.1, 8.8],
                        type => 'projectile',
                        cooldown => 1.5,
                        range => 6,
@@ -1226,11 +1248,12 @@ use strict;
                        attack => [
                                {
                                        anti => 1,
-                                       damage => [10 .. 13],
+                                       damage => 10,
+                                       upgrade => 1,
                                        bonus => {
-                                               armored => [10 .. 13],
+                                               armored => 10,
+                                               -armored => 1,
                                        },
-                                       dps => [10 .. 13],
                                        type => 'projectile',
                                        cooldown => 1.0,
                                        range => 6,
@@ -1258,7 +1281,7 @@ use strict;
        race => 'terran',
        cat => 'barracks',
        name => 'Reaper',
-       unit => 1,
+       pop => 1,
        min => 50,
        gas => 50,
        build => 40,
@@ -1274,9 +1297,9 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'P-45 Reaper pistol',
-                       damage => [4 .. 7],
-                       dps => [7.3, 9.1, 10.9, 12.7],
+                       name => 'P-45 Reaper Pistol',
+                       damage => 4,
+                       upgrade => 1,
                        cooldown => 1.1,
                        count => 2,
                        range => 4.5,
@@ -1298,7 +1321,7 @@ use strict;
        race => 'terran',
        cat => 'barracks',
        name => 'Ghost',
-       unit => 2,
+       pop => 2,
        min => 200,
        gas => 100,
        build => 40,
@@ -1313,19 +1336,21 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'C-10 rifle',
-                       damage => [10 .. 13],
+                       name => 'C-10 Rifle',
+                       damage => 10,
+                       upgrade => 1,
                        bonus => {
-                               light => [10 .. 13],
+                               light => 10,
+                               -light => 1,
                        },
-                       dps => [6.7, 7.4, 8.1, 8.8],
                        cooldown => 1.5,
                        range => 6,
                },
        ],
        speed => 2.25,
        sight => 11,
-       energy => 200,
+       energy => 75,
+       capacity => 200,
        special => [
                {
                        name => 'Sniper Round',
@@ -1366,7 +1391,7 @@ use strict;
        race => 'terran',
        cat => 'factory',
        name => 'Hellion',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 0,
        build => 30,
@@ -1381,12 +1406,13 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Infernal flamethrower',
-                       damage => [8 .. 11],
+                       name => 'Infernal Flamethrower',
+                       damage => 8,
+                       upgrade => 1,
                        bonus => {
-                               light => [6 .. 9],
+                               light => 6,
+                               -light => 1,
                        },
-                       dps => [3.2, 3.6, 4.0, 4.4],
                        splash => 'line',
                        cooldown => 2.5,
                        range => 5,
@@ -1410,9 +1436,11 @@ use strict;
                        build => 110,
                        attack => [
                                {
-                                       damage => [6 .. 9],
+                                       damage => 6,
+                                       upgrade => 1,
                                        bonus => {
-                                               light => [5, 5, 5, 5], # total [11 .. 14]
+                                               light => 5,
+                                               -light => 0,
                                        },
                                },
                        ],
@@ -1424,7 +1452,7 @@ use strict;
        race => 'terran',
        cat => 'factory',
        name => 'Hellbat',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 0,
        build => 30,
@@ -1441,8 +1469,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Napalm Spray',
-                       damage => [18, 20, 22, 24],
-                       dps => [9 .. 12],
+                       damage => 18,
+                       upgrade => 2,
                        splash => 1,
                        cooldown => 2,
                        range => 2,
@@ -1467,7 +1495,8 @@ use strict;
                        attack => [
                                {
                                        bonus => {
-                                               light => [12 .. 15],
+                                               light => 12,
+                                               -light => 1,
                                        },
                                },
                        ],
@@ -1479,7 +1508,7 @@ use strict;
        race => 'terran',
        cat => 'factory',
        name => 'Widow Mine',
-       unit => 2,
+       pop => 2,
        min => 75,
        gas => 25,
        build => 40,
@@ -1522,7 +1551,7 @@ use strict;
        race => 'terran',
        cat => 'factory',
        name => 'Siege Tank',
-       unit => 3,
+       pop => 3,
        min => 150,
        gas => 125,
        build => 45,
@@ -1537,12 +1566,13 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => '90 mm twin cannon',
-                       damage => [15, 17, 19, 21],
+                       name => '90 mm Twin Cannon',
+                       damage => 15,
+                       upgrade => 2,
                        bonus => {
-                               armored => [10 .. 13],
+                               armored => 10,
+                               -armored => 1,
                        },
-                       dps => [14.4, 16.3, 18.2, 20.1],
                        cooldown => 1.04,
                        range => 7,
                },
@@ -1556,12 +1586,13 @@ use strict;
                        attack => [
                                {
                                        anti => 1,
-                                       name => '120 mm shock cannon',
-                                       damage => [35, 38, 41, 44],
+                                       name => '120 mm Shock Cannon',
+                                       damage => 35,
+                                       upgrade => 3,
                                        bonus => {
-                                               armored => [15, 17, 19, 21],
+                                               armored => 15,
+                                               -armored => 2,
                                        },
-                                       dps => [11.7, 12.7, 13.7, 14.7],
                                        splash => 1,
                                        cooldown => 3,
                                        range => 13,
@@ -1579,7 +1610,7 @@ use strict;
        race => 'terran',
        cat => 'factory',
        name => 'Thor',
-       unit => 6,
+       pop => 6,
        min => 300,
        gas => 200,
        build => 60,
@@ -1596,8 +1627,8 @@ use strict;
                {
                        anti => 1,
                        name => "Thor's Hammer",
-                       damage => [30, 33, 36, 39],
-                       dps => [46.9, 51.6, 56.3, 61.0],
+                       damage => 30,
+                       upgrade => 3,
                        cooldown => 1.28,
                        range => 7,
                        count => 2,
@@ -1606,11 +1637,12 @@ use strict;
                        anti => 2,
                        name => 'Javelin Missiles',
 #                      name => 'Explosive Payload',
-                       damage => [6 .. 9],
+                       damage => 6,
+                       upgrade => 1,
                        bonus => {
-                               'light air' => [6 .. 9],
+                               light => 6,
+                               -light => 1,
                        },
-                       dps => [8, 9.3, 10.6, 11.9],
                        splash => 1,
                        type => 'projectile',
                        cooldown => 3,
@@ -1621,8 +1653,8 @@ use strict;
                        anti => 2,
                        name => 'Punisher Cannons',
 #                      name => 'High Impact Payload',
-                       damage => [24, 26, 28, 30],
-                       dps => [12 .. 15],
+                       damage => 24,
+                       upgrade => 2,
                        cooldown => 2,
                        range => 10,
                },
@@ -1635,7 +1667,7 @@ use strict;
        race => 'terran',
        cat => 'starport',
        name => 'Viking',
-       unit => 2,
+       pop => 2,
        min => 150,
        gas => 75,
        build => 42,
@@ -1651,12 +1683,12 @@ use strict;
        attack => [
                {
                        anti => 2,
-                       name => 'Lanzer torpedoes',
-                       damage => [10 .. 13],
+                       name => 'Lanzer Torpedoes',
+                       damage => 10,
+                       upgrade => 1,
                        bonus => {
                                armored => 4,
                        },
-                       dps => [10 .. 13],
                        type => 'projectile',
                        cooldown => 2,
                        count => 2,
@@ -1673,9 +1705,9 @@ use strict;
                        attack => [
                                {
                                        anti => 1,
-                                       name => 'Twin gatling cannon',
-                                       damage => [12 .. 15],
-                                       dps => [12 .. 15],
+                                       name => 'Twin Gatling Cannon',
+                                       damage => 12,
+                                       upgrade => 1,
                                        cooldown => 1,
                                        range => 6,
                                },
@@ -1690,7 +1722,7 @@ use strict;
        race => 'terran',
        cat => 'starport',
        name => 'Medivac',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 100,
        build => 42,
@@ -1704,7 +1736,8 @@ use strict;
                flying => 1,
        },
        speed => 2.5,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Heal',
@@ -1729,7 +1762,7 @@ use strict;
                        min => 100,
                        gas => 100,
                        build => 80,
-                       starting_energy => 25,
+                       energy => 25,
                },
        ],
 },
@@ -1738,7 +1771,7 @@ use strict;
        race => 'terran',
        cat => 'starport',
        name => 'Banshee', # AH/G-24
-       unit => 3,
+       pop => 3,
        min => 150,
        gas => 100,
        build => 60,
@@ -1754,9 +1787,9 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'Backlash rockets',
-                       damage => [12 .. 15],
-                       dps => [19.2, 20.8, 22.4, 24.0],
+                       name => 'Backlash Rockets',
+                       damage => 12,
+                       upgrade => 1,
                        type => 'projectile',
                        cooldown => 1.25,
                        count => 2,
@@ -1765,7 +1798,8 @@ use strict;
        ],
        speed => 2.75,
        sight => 10,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Cloak',
@@ -1784,7 +1818,7 @@ use strict;
        race => 'terran',
        cat => 'starport',
        name => 'Raven',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 200,
        build => 60,
@@ -1800,7 +1834,8 @@ use strict;
        speed => 2.25,
        sight => 11,
        detect => 1,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        alt => 'Auto-Turret',
@@ -1818,9 +1853,8 @@ use strict;
                        attack => [
                                {
                                        anti => 3,
-                                       name => '12 mm gauss cannon',
+                                       name => '12 mm Gauss Cannon',
                                        damage => 8,
-                                       dps => 10,
                                        cooldown => 0.8,
                                        range => 6,
                                },
@@ -1865,7 +1899,7 @@ use strict;
                        cooldown => 0,
                        attack => [
                                {
-                                       name => 'Point defense laser',
+                                       name => 'Point Defense Laser',
                                        range => 8,
                                },
                        ],
@@ -1927,7 +1961,7 @@ use strict;
                        min => 150,
                        gas => 150,
                        build => 110,
-                       starting_energy => 25,
+                       energy => 25,
                },
        ],
 },
@@ -1936,7 +1970,7 @@ use strict;
        race => 'terran',
        cat => 'starport',
        name => 'Battlecruiser',
-       unit => 6,
+       pop => 6,
        min => 400,
        gas => 300,
        build => 90,
@@ -1953,18 +1987,18 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       name => 'ATS laser batteries',
-                       damage => [8 .. 11],
-                       dps => [35.6, 40.0, 44.4, 48.8],
+                       name => 'ATS Laser Batteries',
+                       damage => 8,
+                       upgrade => 1,
                        cooldown => 0.225,
                        type => 'projectile',
                        range => 6,
                },
                {
                        anti => 2,
-                       name => 'ATS laser batteries',
-                       damage => [6 .. 9],
-                       dps => [26.7, 31.1, 35.5, 39.9],
+                       name => 'ATS Laser Batteries',
+                       damage => 6,
+                       upgrade => 1,
                        cooldown => 0.225,
                        type => 'projectile',
                        range => 6,
@@ -1972,7 +2006,8 @@ use strict;
        ],
        speed => 1.875,
        sight => 12,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Yamato Cannon',
@@ -1997,7 +2032,7 @@ use strict;
                        min => 150,
                        gas => 150,
                        build => 80,
-                       starting_energy => 25,
+                       energy => 25,
                },
        ],
 },
@@ -2008,7 +2043,7 @@ use strict;
        race => 'zerg',
        cat => 'base',
        name => 'Drone',
-       unit => 1,
+       pop => 1,
        min => 50,
        gas => 0,
        build => 17,
@@ -2025,7 +2060,6 @@ use strict;
                        anti => 1,
                        name => 'Claws',
                        damage => 5,
-                       dps => 3.3,
                        cooldown => 1.5,
                        range => 0,
                },
@@ -2039,7 +2073,7 @@ use strict;
        race => 'zerg',
        cat => 'base',
        name => 'Queen',
-       unit => 2,
+       pop => 2,
        min => 150,
        gas => 0,
        build => 50,
@@ -2055,8 +2089,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Claws',
-                       damage => [4 .. 7],
-                       dps => [8, 10, 12, 14],
+                       damage => 4,
+                       upgrade => 1,
                        cooldown => 1.0,
                        type => 'projectile', # except if range < 3
                        range => 5,
@@ -2065,8 +2099,8 @@ use strict;
                {
                        anti => 2,
                        name => 'Acid Spines',
-                       damage => [9 .. 12],
-                       dps => [9 .. 12],
+                       damage => 9,
+                       upgrade => 1,
                        cooldown => 1.0,
                        type => 'projectile', # except if range < 3
                        range => 7,
@@ -2075,7 +2109,8 @@ use strict;
        speed => 0.9375,
        creep => 2.7,
        sight => 9,
-       energy => 200,
+       energy => 25,
+       capacity => 200,
        special => [
                {
                        name => 'Spawn Larva',
@@ -2109,7 +2144,7 @@ use strict;
        race => 'zerg',
        cat => 'base',
        name => 'Overlord',
-       unit => -9,
+       pop => -9,
        min => 100,
        gas => 0,
        build => 25,
@@ -2123,7 +2158,6 @@ use strict;
                flying => 1,
        },
        speed => 0.586,
-       creep => 0,
        sight => 11,
        special => [
                {
@@ -2159,7 +2193,7 @@ use strict;
        cat => 'base',
        name => 'Overseer',
        base => ['Overlord'],
-       unit => -9,
+       pop => -9,
        min => 100+50,
        gas => 50,
        build => 17,
@@ -2173,10 +2207,10 @@ use strict;
                flying => 1,
        },
        speed => 1.875,
-       creep => 0,
        sight => 11,
        detect => 1,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Spawn Changeling',
@@ -2220,7 +2254,7 @@ use strict;
        race => 'zerg',
        cat => 'creep',
        name => 'Larva',
-       unit => 0,
+       pop => 0,
        build => 15,
        size => 0.25,
        cargo => 0,
@@ -2272,7 +2306,6 @@ use strict;
                        bonus => {
                                armored => 5,
                        },
-                       dps => 13.5,
                        cooldown => 1.85,
                        range => 7,
                },
@@ -2306,7 +2339,6 @@ use strict;
                        bonus => {
                                organic => 30,
                        },
-                       dps => 17.4,
                        type => 'projectile',
                        cooldown => 0.8608,
                        range => 7,
@@ -2322,7 +2354,7 @@ use strict;
        race => 'zerg',
        cat => 'hatchery',
        name => 'Zergling',
-       unit => 0.5,
+       pop => 0.5,
        min => 25,
        gas => 0,
        build => 24,
@@ -2338,8 +2370,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Claws',
-                       damage => [5 .. 8],
-                       dps => [7.2, 8.6, 10.0, 11.4],
+                       damage => 5,
+                       upgrade => 1,
                        cooldown => 0.696,
                },
        ],
@@ -2356,7 +2388,6 @@ use strict;
                        attack => [
                                {
                                        anti => 1,
-                                       dps => [8.5, 10.2, 11.9, 13.6],
                                        cooldown => -0.109,
                                },
                        ],
@@ -2377,7 +2408,7 @@ use strict;
        cat => 'hatchery',
        name => 'Baneling',
        base => ['Zergling'],
-       unit => 0.5,
+       pop => 0.5,
        min => 25+25,
        gas => 25,
        build => 20,
@@ -2392,10 +2423,13 @@ use strict;
                {
                        anti => 1,
                        name => 'Volatile Burst',
-                       damage => [20, 22, 24, 26],
+                       damage => 20,
+                       upgrade => 2,
                        bonus => {
-                               light => [15, 17, 19, 21],
-                               structure => [60, 63, 66, 69],
+                               light => 15,
+                               -light => 2,
+                               structure => 60,
+                               -structure => 3,
                        },
                        splash => 1,
                        range => 0,
@@ -2420,7 +2454,7 @@ use strict;
        race => 'zerg',
        cat => 'hatchery',
        name => 'Roach',
-       unit => 2,
+       pop => 2,
        min => 75,
        gas => 25,
        build => 27,
@@ -2436,8 +2470,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Acid Saliva', # Claws melee
-                       damage => [16, 18, 20, 22],
-                       dps => [8 .. 11],
+                       damage => 16,
+                       upgrade => 2,
                        cooldown => 2.0,
                },
        ],
@@ -2479,7 +2513,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Hydralisk',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 50,
        build => 33,
@@ -2494,9 +2528,9 @@ use strict;
        attack => [
                {
                        anti => 3,
-                       name => 'Needle spines', # Scythe melee
-                       damage => [12 .. 15],
-                       dps => [16, 17.3, 18.6, 19.9],
+                       name => 'Needle Spines', # Scythe melee
+                       damage => 12,
+                       upgrade => 1,
                        type => 'projectile', # except melee
                        cooldown => 0.75,
                        range => 5,
@@ -2532,7 +2566,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Infestor',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 150,
        build => 50,
@@ -2548,7 +2582,8 @@ use strict;
        speed => 2.25,
        creep => 1.3,
        sight => 10,
-       energy => 200,
+       energy => 50,
+       capacity => 200,
        special => [
                {
                        name => 'Neural Parasite',
@@ -2588,7 +2623,6 @@ use strict;
                                {
                                        anti => 3,
                                        damage => 8,
-                                       dps => 9.3,
                                        cooldown => 0.8608,
                                        range => 5,
                                },
@@ -2604,7 +2638,7 @@ use strict;
                        min => 150,
                        gas => 150,
                        build => 80,
-                       starting_energy => 25,
+                       energy => 25,
                },
        ],
 },
@@ -2633,7 +2667,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Swarm Host',
-       unit => 4,
+       pop => 4,
        min => 100,
        gas => 200,
        build => 40,
@@ -2648,9 +2682,12 @@ use strict;
        attack => [
                {
                        anti => 1,
-                       dps => [27.9, 30.2, 32.5, 34.8],
+                       dps => [16.7, undef, undef, 20.8], # 20/.6 * 2 /60*25
                        type => 'projectile',
-                       cooldown => 0.86,
+                       count => 2,
+                       cooldown => 60,
+                       duration => 25,
+                       range => 3*25, # locust speed * duration = theoretical walk limit
                },
        ],
        speed => 2.95,
@@ -2672,8 +2709,8 @@ use strict;
                                {
                                        anti => 1,
                                        name => 'Acid Spit',
-                                       damage => [12 .. 15],
-                                       dps => [14.0, 15.2, 16.4, 17.6],
+                                       damage => 12,
+                                       upgrade => 1,
                                        type => 'projectile',
                                        cooldown => 0.6,
                                        range => 3,
@@ -2704,7 +2741,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Mutalisk',
-       unit => 2,
+       pop => 2,
        min => 100,
        gas => 100,
        build => 33,
@@ -2721,9 +2758,10 @@ use strict;
                {
                        anti => 3,
                        name => 'Glaive Wurm',
-                       damage => [9 .. 12],
-                       dps => [5.9, 6.6, 7.3, 8.0],
+                       damage => 9,
+                       upgrade => 1,
                        splash => 'bounce',
+                       type => 'projectile',
                        psionic => 1,
                        cooldown => 1.5246,
                        range => 3,
@@ -2744,7 +2782,7 @@ use strict;
        race => 'zerg',
        cat => 'lair',
        name => 'Corruptor',
-       unit => 2,
+       pop => 2,
        min => 150,
        gas => 100,
        build => 40,
@@ -2761,11 +2799,12 @@ use strict;
                {
                        anti => 2,
                        name => 'Parasite Spores',
-                       damage => [14 .. 17],
+                       damage => 14,
+                       upgrade => 1,
                        bonus => {
-                               massive => [6 .. 9],
+                               massive => 6,
+                               -massive => 1,
                        },
-                       dps => [7.4, 7.9, 8.4, 8.9],
                        type => 'projectile',
                        cooldown => 1.9,
                        range => 6,
@@ -2789,7 +2828,7 @@ use strict;
        cat => 'hive',
        name => 'Brood Lord',
        base => ['Corruptor'],
-       unit => 4,
+       pop => 4,
        min => 150+150,
        gas => 100+150,
        build => 34,
@@ -2807,8 +2846,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Broodling Strike',
-                       damage => [20, 22, 24, 26],
-                       dps => [8.0, 8.8, 9.6, 10.4],
+                       damage => 20,
+                       upgrade => 2,
                        cooldown => 2.5,
                        range => 9.5,
                },
@@ -2822,7 +2861,7 @@ use strict;
                        desc => 'Broodlings are spawned upon each attack',
                        duration => -1,
                        alt => 'Broodling',
-                       unit => 0,
+                       pop => 0,
 #                      build => 1,
                        size => 0.75,
                        cargo => 0,
@@ -2836,8 +2875,8 @@ use strict;
                                {
                                        anti => 1,
                                        name => 'Claws',
-                                       damage => [4 .. 7],
-                                       dps => [6.2, 7.7, 9.2, 10.7],
+                                       damage => 4,
+                                       upgrade => 1,
                                        cooldown => 0.6455,
                                        range => 0,
                                },
@@ -2859,7 +2898,7 @@ use strict;
        race => 'zerg',
        cat => 'hive',
        name => 'Viper',
-       unit => 3,
+       pop => 3,
        min => 100,
        gas => 200,
        build => 40,
@@ -2875,7 +2914,8 @@ use strict;
        },
        speed => 2.9531,
        sight => 11,
-       energy => 200,
+       energy => 50, #XXX
+       capacity => 200,
        special => [
                {
                        name => 'Blinding Cloud',
@@ -2910,7 +2950,7 @@ use strict;
        race => 'zerg',
        cat => 'hive',
        name => 'Ultralisk',
-       unit => 6,
+       pop => 6,
        min => 300,
        gas => 200,
        build => 55,
@@ -2927,8 +2967,8 @@ use strict;
                {
                        anti => 1,
                        name => 'Kaiser Blades',
-                       damage => [35, 38, 41, 44],
-                       dps => [40.7, 44.2, 47.7, 51.2],
+                       damage => 35,
+                       upgrade => 3,
                        splash => 1,
                        cooldown => 0.861,
                        range => 1,