digits: egyptian hieroglyphs numerals
[sheet.git] / sc-units-bw.inc.pl
index 2d46ae50c3de80d616710dd15486f7c0e9640d1e..f4c1f7c9c9e1b0a1e11a73c5988cbe4e5cc682a8 100644 (file)
@@ -1,10 +1,12 @@
 use utf8;
 use strict;
 
-# time in fastest game seconds
-my $FPS = 24;  # frames per second
-# toss shield += .65 per second
-# zerg regen  += .37 per second
+my $PPT = 32;  # tile size in pixels
+my $FPS = 1000 / 56;  # frames per second on fast
+# energy      += 8HP/frame ≈ .74 per second
+# toss shield += 7HP/frame ≈ .65/s
+# zerg regen  += 4HP/frame ≈ .37/s
+my $SM = $FPS / $PPT;  # pixels per frame to tiles per second multiplication
 
 [
 '<span title="no known changes as of v1.16.1">version≥1.08</span>',
@@ -19,22 +21,27 @@ min => 50,
 gas => 0,
 build => 20,
 suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 20,
 shield => 20,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
                name => "Particle Beam",
                damage => 5,
-               cooldown => 22,
+               cooldown => 22 / $FPS,
+               range => 1,
        },
-       range => 1,
-},
+],
 sight => 8,
-speed => 14,
+speed => 4.92 * $SM,
 counter => ['vulture', 'dark templar'],
 },
 
@@ -49,18 +56,23 @@ min => 150,
 gas => 0,
 build => 50,
 suit => 3,
+size => 2, # 41x33
 race => 'protoss',
+attr => {
+       structure => 1,
+},
 hp => 100,
 shield => 100,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 3,
+               name => 'STS/A Photon Cannon',
                damage => 20,
-               cooldown => 22,
+               cooldown => 22 / $FPS,
+               range => 7,
        },
-       air => 'ground',
-       range => 7,
-},
+],
 sight => 11,
 detect => 1,
 speed => 0,
@@ -78,26 +90,33 @@ min => 100,
 gas => 0,
 build => 40,
 suit => 1,
-unit => 2,
+size => 23 / $PPT, # x19
+pop => 2,
+cargo => 2,
 race => 'protoss',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 100,
 shield => 60,
 armor => 1,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
                name => "Psi Blades",
-               damage => [16, 18, 20, 22],
-               cooldown => 22,
+               damage => 8,
+               count => 2,
+               upgrade => 1,
+               cooldown => 22 / $FPS,
+               range => 15 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 7,
-speed => 11,
+speed => 4 * $SM,
 upgrade => [
        {
                name => 'Leg Enhancements',
-               speed => 16 - 11,
+               speed => (6 - 4) * $SM,
                min => 150,
                gas => 150,
                build => 133,
@@ -117,33 +136,40 @@ min => 125,
 gas => 50,
 build => 50,
 suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 100,
 shield => 80,
 armor => 1,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 3,
                name => "Phase Disruptor",
-               damage => [20, 22, 24, 26],
+               damage => 20,
+               upgrade => 2,
                type => 'explosive',
-               cooldown => 30,
+               cooldown => 30 / $FPS,
+               range => 4,
        },
-       air => 'ground',
-       range => 4,
-},
+],
 sight => 8,
-speed => 15,
+speed => 5 * $SM,
 upgrade => [
        {
                name => 'Singularity Charge',
                min => 150,
                gas => 150,
                build => 166,
-               attack => {
-                       range => 6 - 4,
-               },
+               attack => [
+                       {
+                               range => 6 - 4,
+                       },
+               ],
        },
 ],
 counter => ['zergling', 'zealot', 'tank'],
@@ -160,21 +186,27 @@ min => 50,
 gas => 150,
 build => 50,
 suit => 1,
-unit => 2,
+size => 24 / $PPT,
+pop => 2,
+cargo => 2,
 race => 'protoss',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 40,
 shield => 40,
 armor => 0,
 sight => 7,
-speed => 9,
-energy => 200,
+speed => 3.2 * $SM,
+energy => 50,
+capacity => 200,
 upgrade => [
        {
                name => "Khaydarin Amulet",
                min => 150,
                gas => 150,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 special => [
@@ -215,22 +247,28 @@ min => 125,
 gas => 100,
 build => 50,
 suit => 1,
-unit => 2,
+size => 25 / $PPT, # 24x26
+pop => 2,
+cargo => 2,
 race => 'protoss',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 80,
 shield => 40,
 armor => 1,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
                name => "Warp Blades",
-               damage => [40, 43, 46, 49],
-               cooldown => 30,
+               damage => 40,
+               upgrade => 3,
+               cooldown => 30 / $FPS,
+               range => 15 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 7,
-speed => 15,
+speed => 4.92 * $SM,
 special => [
        {
                name => 'Cloaked',
@@ -253,24 +291,29 @@ gas => 300,
 build => 20,
 base => ['templar', 'templar'],
 suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 10,
 shield => 350,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 3,
                name => "Psionic Shockwave",
-               damage => [30, 33, 36, 39],
-               cooldown => 20,
+               damage => 30,
+               upgrade => 3,
+               cooldown => 20 / $FPS,
                splash => 1,
+               range => 2,
        },
-       air => 'ground',
-       range => 2,
-},
+],
 sight => 8,
-speed => 14,
+speed => 4.92 * $SM,
 },
 
 {
@@ -285,31 +328,34 @@ gas => 200,
 build => 20,
 base => ['dark templar', 'dark templar'],
 suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 25,
 shield => 200,
 armor => 1,
-attack => {
-},
 sight => 10,
-speed => 14,
-energy => 200,
+speed => 4.92 * $SM,
+energy => 50,
+capacity => 200,
 upgrade => [
        {
                name => "Argus Talisman",
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               capacity => 250-200,
        },
 ],
 special => [
        {
                name => 'Feedback',
                abbr => 'fb',
-               desc => 'targeted unit will lose its mana and receive damage equal to that amount',
+               desc => 'targeted unit will lose its energy and receive damage equal to that amount',
                range => 10,
                cost => 50,
                duration => 0,
@@ -350,27 +396,39 @@ min => 275,
 gas => 125,
 build => 80,
 suit => 3,
-unit => 3,
+size => 36 / $PPT, # x32
+pop => 3,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 150,
 shield => 100,
 armor => 0,
-attack => {
-       ground => {
-               damage => [8, 9, 10, 11],
-               cooldown => 30,
+attack => [
+       {
+               anti => 1,
+               name => 'Dual Photon Blasters',
+               damage => 8,
+               upgrade => 1,
+               cooldown => 30 / $FPS,
+               range => 4,
        },
-       air => {
-               damage => [28, 30, 32, 34],
+       {
+               anti => 2,
+               name => 'Anti-Matter Missiles',
+               damage => 14,
+               count => 2,
+               upgrade => 1,
                type => 'explosive',
-               cooldown => 22,
+               cooldown => 22 / $FPS,
+               range => 4,
        },
-       range => 4,
-},
+],
 sight => 8,
-speed => 13,
+speed => 5 * $SM,
 upgrade => [
        {
                name => 'Apial Sensors',
@@ -384,7 +442,7 @@ upgrade => [
                min => 200,
                gas => 200,
                build => 166,
-               speed => 18 - 13,
+               speed => (6.67 - 5) * $SM,
        },
 ],
 },
@@ -399,45 +457,54 @@ min => 150,
 gas => 100,
 build => 40,
 suit => 2,
-unit => 2,
+size => 36 / $PPT, # x32
+pop => 2,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 100,
 shield => 80,
 armor => 1,
-attack => {
-       air => {
-               damage => [5, 6, 7, 8],
-               cooldown => 8,
+attack => [
+       {
+               anti => 2,
+               name => 'Neutron Flare',
+               damage => 5,
+               upgrade => 1,
+               cooldown => 8 / $FPS,
                splash => 1,
                type => 'explosive',
+               range => 5,
        },
-       range => 5,
-},
+],
 sight => 9,
-speed => 17,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
 upgrade => [
        {
                name => 'Argus Jewel',
                min => 100,
                gas => 100,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 special => [
        {
-               name => 'Disruption web',
+               name => 'Disruption Web',
                abbr => 'dw',
                min => 200,
                gas => 200,
                build => 80,
                desc => 'creates a field in which no ground unit/structure can attack',
                range => 9,
-               cost => 62-50,
-               duration => undef, #XXX
+               cost => 125,
+               duration => 24,
        },
 ],
 counter => ['devourer', 'valkyrie'],
@@ -453,22 +520,26 @@ min => 350,
 gas => 250,
 build => 140,
 suit => 3,
-unit => 6,
+size => 64 / $PPT,
+pop => 6,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 hp => 300,
 shield => 150,
 armor => 4,
-attack => {
-       ground => {
-               dps => [17, undef, undef, 49],
+attack => [
+       {
+               anti => 3,
+               dps => [17, undef, undef, 25],
                count => 4,
+               range => 8,
        },
-       air => 'ground',
-       range => 8,
-},
+],
 sight => 11,
-speed => 10,
+speed => 3.33 * $SM,
 special => [
        {
                name => 'Build Interceptor',
@@ -476,31 +547,40 @@ special => [
                min => 25,
                build => 20,
                suit => 1,
-               unit => 0,
+               size => 16 / $PPT,
+               pop => 0,
                race => 'protoss',
-               organic => 0,
+               attr => {
+                       mech => 1,
+                       flying => 1,
+               },
                hp => 40,
                shield => 40,
                armor => 0,
-               attack => {
-                       ground => {
-                               damage => [6, 7, 8, 9],
-                               cooldown => 43, # approximately 37 according to liquipedia
+               attack => [
+                       {
+                               anti => 3,
+                               name => 'Pulse Cannon',
+                               damage => 6,
+                               upgrade => 1,
+                               cooldown => 43 / $FPS, # approximately 37 according to liquipedia
                                build => 20,
+                               range => 4,
                        },
-                       air => 'ground',
-                       range => 0,
-               },
-               sight => 0,
-               range => 0,
+               ],
+               sight => 6,
+               speed => 13.33 * $SM,
        },
 ],
 upgrade => [
        {
                name => 'Carrier Capacity',
-               damage => {
-                       count => 8-4,
-               },
+               attack => [
+                       {
+                               dps => [17, undef, undef, 24],
+                               count => 8-4,
+                       },
+               ],
        },
 ],
 counter => ['wraith', 'corsair', 'scourge'],
@@ -516,32 +596,40 @@ min => 100,
 gas => 350,
 build => 160,
 suit => 3,
-unit => 4,
+size => 44 / $PPT,
+pop => 4,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 200,
 shield => 150,
 armor => 1,
-attack => {
-       ground => {
-               damage => [10, 11, 12, 13],
-               cooldown => 45,
+attack => [
+       {
+               anti => 3,
+               name => 'Phase Disruptor Cannon',
+               damage => 10,
+               upgrade => 1,
+               cooldown => 45 / $FPS,
                type => 'explosive',
+               range => 5,
        },
-       air => 'ground',
-       range => 5,
-},
+],
 sight => 9,
-speed => 12,
-energy => 200,
+speed => 5 * $SM,
+energy => 50,
+capacity => 200,
 upgrade => [
        {
                name => 'Khaydarin Core',
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 special => [
@@ -582,54 +670,59 @@ min => 200,
 gas => 100,
 build => 70,
 suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 100,
 shield => 80,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
                damage => 100,
-               cooldown => 60,
+               cooldown => 60 / $FPS, # 30 after drop
                splash => 1,
-               cost => 15,
+               min => 15,
                build => 7,
                max => 5,
+               range => 8,
        },
-       range => 8,
-},
+],
 sight => 10,
-speed => 5,
+speed => 1.78 * $SM,
 upgrade => [
        {
                name => 'Scarab Damage',
                min => 200,
                gas => 200,
                build => 166,
-               attack => {
-                       ground => {
+               attack => [
+                       {
                                damage => 125 - 100,
                        },
-               },
+               ],
        },
        {
-               attack => {
-                       ground => {
+               attack => [
+                       {
                                splash => 2 - 1,
                        },
-               },
+               ],
        },
        {
                name => 'Increased Reaver Capacity',
                min => 200,
                gas => 200,
                build => 166,
-               attack => {
-                       ground => {
+               attack => [
+                       {
                                max => 10-5,
                        },
-               },
+               ],
        },
 ],
 },
@@ -644,16 +737,20 @@ min => 25,
 gas => 75,
 build => 40,
 suit => 1,
-unit => 1,
+size => 32 / $PPT,
+pop => 1,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 40,
 shield => 20,
 armor => 0,
 sight => 9,
 detect => 1,
-speed => 9,
+speed => 3.33 * $SM,
 upgrade => [
        {
                name => "Sensor Array",
@@ -667,7 +764,7 @@ upgrade => [
                min => 150,
                gas => 150,
                build => 166,
-               speed => 13 - 9,
+               speed => (5 - 3.33) * $SM,
        },
 ],
 special => [
@@ -690,16 +787,18 @@ min => 200,
 gas => 0,
 build => 60,
 suit => 3,
-unit => 2,
+size => 40 / $PPT, # x32
+pop => 2,
+cargo => -8,
 race => 'protoss',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 80,
 shield => 60,
 armor => 1,
-attack => {
-},
 sight => 8,
-speed => 13,
+speed => 4.43 * $SM,
 transport => 1,
 upgrade => [
        {
@@ -707,7 +806,7 @@ upgrade => [
                min => 200,
                gas => 200,
                build => 166,
-               speed => 19 - 13,
+               speed => (6.67 - 4.43) * $SM,
        }
 ],
 },
@@ -722,20 +821,27 @@ min => 50,
 gas => 0,
 build => 20,
 suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       organic => 1,
+},
 hp =>  60,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
+               name => 'Fusion Cutter',
                damage => 5,
-               cooldown => 15,
+               cooldown => 15 / $FPS,
+               range => 10 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 7,
-speed => 15,
+speed => 4.92 * $SM,
 },
 
 {
@@ -748,17 +854,23 @@ min => 75,
 gas => 0,
 build => 30,
 suit => 3,
+size => 2, # 33x49
 race => 'terran',
+attr => {
+       structure => 1,
+},
 hp => 200,
 armor => 0,
-attack => {
-       air => {
+attack => [
+       {
+               anti => 2,
+               name => 'Longbolt Missile',
                damage => 20,
-               cooldown => 15,
+               cooldown => 15 / $FPS,
                type => 'explosive',
+               range => 7,
        },
-       range => 7,
-},
+],
 sight => 11,
 detect => 1,
 speed => 0,
@@ -774,47 +886,55 @@ min => 50,
 gas => 0,
 build => 24,
 suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
+cargo => 1,
 race => 'terran',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp =>  40,
 armor => 0,
-attack => {
-       ground => {
-               damage => [6, 7, 8, 9],
-               cooldown => 15,
+attack => [
+       {
+               anti => 3,
+               name => 'Gauss Rifle',
+               damage => 6,
+               upgrade => 1,
+               cooldown => 15 / $FPS,
+               range => 4,
        },
-       air => 'ground',
-       range => 4,
-},
+],
 sight => 7,
-speed => 11,
+speed => 4 * $SM,
 upgrade => [
        {
                name => 'U-238 Shells',
                min => 150,
                gas => 150,
                build => 100,
-               attack => {
-                       range => 5 - 4,
-               },
+               attack => [
+                       {
+                               range => 5 - 4,
+                       },
+               ],
        },
 ],
 special => [
        {
-               name => 'stim pack',
+               name => 'Stim Pack',
                abbr => 'sp',
                min => 100,
                gas => 100,
                build => 80,
                desc => 'doubles attack speed and faster movement for a few seconds at the cost of 10 health',
-               speed => 17,
-               attack => {
-                       ground => {
-                               cooldown => 7.5,
+               speed => (6 - 4) * $SM,
+               attack => [
+                       {
+                               anti => 3,
+                               cooldown => 7.5 / $FPS,
                        },
-                       air => 'ground',
-               },
+               ],
                duration => 220 / $FPS,
        },
 ],
@@ -827,22 +947,29 @@ min => 50,
 gas => 25,
 build => 24,
 suit => 1,
-unit => 1,
+size => 23 / $PPT, # x22
+pop => 1,
+cargo => 1,
 race => 'terran',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp =>  50,
 armor => 1,
-attack => {
-       ground => {
-               damage => [16, 18, 20, 22],
-               cooldown => 22,
+attack => [
+       {
+               anti => 1,
+               name => 'Flame Thrower',
+               damage => 16,
+               upgrade => 2,
+               cooldown => 22 / $FPS,
                splash => 1,
                type => 'implosive',
+               range => 1,
        },
-       range => 2,
-},
+],
 sight => 7,
-speed => 11,
+speed => 4 * $SM,
 upgrade => [
 ],
 special => [
@@ -853,12 +980,13 @@ special => [
                gas => 100,
                build => 80,
                desc => 'doubles attack speed and faster movement for a few seconds at the cost of 10 health',
-               speed => 17,
-               attack => {
-                       ground => {
-                               cooldown => 11,
+               speed => (6 - 4) * $SM,
+               attack => [
+                       {
+                               anti => 1,
+                               cooldown => 11 / $FPS,
                        },
-               },
+               ],
                duration => 220 / $FPS,
        },
 ],
@@ -874,22 +1002,30 @@ min => 25,
 gas => 75,
 build => 50,
 suit => 1,
-unit => 1,
+size => 15 / $PPT, # x22
+pop => 1,
+cargo => 1,
 race => 'terran',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp =>  45,
 armor => 0,
-attack => {
-       ground => {
-               damage => [10, 11, 12, 13],
-               cooldown => 22,
+attack => [
+       {
+               anti => 3,
+               name => 'C-10 Canister Rifle',
+               damage => 10,
+               upgrade => 1,
+               cooldown => 22 / $FPS,
                type => 'implosive',
+               range => 7,
        },
-       air => 'ground',
-       range => 7,
-},
+],
 sight => 9,
-speed => 11,
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
 upgrade => [
        {
                name => 'Ocular Implants',
@@ -897,22 +1033,22 @@ upgrade => [
                gas => 150,
                build => 166,
                sight => 11 - 9,
-               special => {
-                       ns => {
-                               # nuke
-                               range => 10-8,
-                       },
-               },
+#              special => {
+#                      ns => {
+#                              # nuke
+#                              range => 10-8,
+#                      },
+#              },
        },
        {
                name => 'Moebius Reactor',
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
-energy => 200,
 special => [
        {
                name => 'Personal Cloaking',
@@ -940,7 +1076,7 @@ special => [
                abbr => 'ns',
                min => 200,
                gas => 200,
-               unit => 8,
+               pop => 8,
                desc => 'guides a nuclear missile which will do 500 damage',
                duration => 14+3,
                range => 8,
@@ -955,23 +1091,27 @@ min => 50,
 gas => 25,
 build => 30,
 suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
+cargo => 1,
 race => 'terran',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp =>  60,
 armor => 1,
-attack => {
-},
 sight => 9,
-speed => 11,
-energy => 200,
-update => [
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
+upgrade => [
        {
                name => 'Caduceus Reactor',
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 special => [
@@ -1018,28 +1158,35 @@ min => 75,
 gas => 0,
 build => 30,
 suit => 2,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 2,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp =>  80,
 armor => 0,
-attack => {
-       ground => {
-               damage => [20, 22, 24, 26],
-               cooldown => 30,
+attack => [
+       {
+               anti => 1,
+               name => 'Fragmentation Grenade',
+               damage => 20,
+               upgrade => 2,
+               cooldown => 30 / $FPS,
                type => 'implosive',
+               range => 5,
        },
-       range => 5,
-},
+],
 sight => 8,
-speed => 20,
+speed => 6.4 * $SM,
 upgrade => [
        {
                name => 'Ion Thrusters',
                min => 100,
                gas => 100,
                build => 100,
-               speed => 28 - 20,
+               speed => (10 - 6.4) * $SM,
        },
 ],
 special => [
@@ -1052,20 +1199,24 @@ special => [
                alt => 'Spider Mine',
                desc => 'burrows a mine which will automaticaly target non-hovering enemy units',
                amount => 3,
-               organic => 0,
+               attr => {
+                       mech => 1,
+               },
                hp => 20,
                suit => 1,
+               size => 15 / $PPT,
                armor => 0,
-               attack => {
-                       ground => {
+               attack => [
+                       {
+                               anti => 1,
                                damage => 125,
                                splash => 1,
                                type => 'explosive',
+                               range => 3, # to walk, melee to explode
                        },
-                       range => 3,
-               },
+               ],
                sight => 3,
-               speed => 25,
+               speed => 16 * $SM,
     },
 ],
 },
@@ -1080,21 +1231,28 @@ min => 150,
 gas => 100,
 build => 50,
 suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 150,
 armor => 1,
-attack => {
-       ground => {
-               damage => [30, 33, 36, 39],
-               cooldown => 37,
+attack => [
+       {
+               anti => 1,
+               name => 'Arclite Cannon',
+               damage => 30,
+               upgrade => 3,
+               cooldown => 37 / $FPS, # 15 after drop
                type => 'explosive',
+               range => 7,
        },
-       range => 7,
-},
+],
 sight => 10,
-speed => 12,
+speed => 4 * $SM,
 special => [
        {
                name => 'Siege Mode',
@@ -1103,15 +1261,18 @@ special => [
                gas => 150,
                build => 80,
                alt => 'Sieged Tank',
-               attack => {
-                       ground => {
-                               damage => [70, 75, 80, 85],
-                               cooldown => 75,
+               attack => [
+                       {
+                               anti => 1,
+                               name => 'Arclite Shock Cannon',
+                               damage => 70,
+                               upgrade => 5,
+                               cooldown => 75 / $FPS,
                                splash => 1,
                                type => 'explosive',
+                               range => 12, # minimum 2
                        },
-                       range => 12,
-               },
+               ],
                speed => 0,
        },
 ],
@@ -1127,36 +1288,49 @@ min => 100,
 gas => 50,
 build => 40,
 suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 2,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+},
 hp => 125,
 armor => 1,
-attack => {
-       ground => {
-               damage => [12, 13, 14, 15],
-               cooldown => 22,
+attack => [
+       {
+               anti => 1,
+               name => 'Twin Autocannons',
+               damage => 12,
+               upgrade => 1,
+               cooldown => 22 / $FPS, # 15 after drop
+               range => 6,
        },
-       air => {
-               damage => [20, 24, 28, 32],
+       {
+               anti => 2,
+               name => 'Hellfire Missile Pack',
+               damage => 10,
+               count => 2,
+               upgrade => 2,
                type => 'explosive',
-               cooldown => 22,
+               cooldown => 22 / $FPS,
+               range => 5,
        },
-       range => 5,
-},
+],
 sight => 8,
-speed => 13,
+speed => 4.57 * $SM,
 upgrade => [
        {
                name => 'Charon Boosters',
                min => 100,
                gas => 100,
                build => 133,
-               attack => {
-#                      air => {
+               attack => [
+                       {},
+                       {
                                range => 8 - 5,
-#                      },
-               },
+                       },
+               ],
        },
 ],
 },
@@ -1168,27 +1342,39 @@ min => 150,
 gas => 100,
 build => 60,
 suit => 3,
-unit => 2,
+size => 38 / $PPT, # x30
+pop => 2,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 120,
 armor => 0,
-attack => {
-       ground => {
-               damage => [8, 9, 10, 11],
-               cooldown => 30,
-       },
-       air => {
-               damage => [20, 22, 24, 26],
-               cooldown => 22,
+attack => [
+       {
+               anti => 1,
+               name => 'Burst Lasers',
+               damage => 8,
+               upgrade => 1,
+               cooldown => 30 / $FPS,
+               range => 5,
+       },
+       {
+               anti => 2,
+               name => 'Gemini Missiles',
+               damage => 20,
+               upgrade => 2,
+               cooldown => 22 / $FPS,
                type => 'explosive',
+               range => 5,
        },
-       range => 5,
-},
+],
 sight => 7,
-speed => 17,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
 special => [
        {
                name => 'Cloak',
@@ -1207,7 +1393,8 @@ upgrade => [
                min => 200,
                gas => 200,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 },
@@ -1222,23 +1409,30 @@ min => 400,
 gas => 300,
 build => 133,
 suit => 3,
-unit => 6,
+size => 75 / $PPT, # x59
+pop => 6,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 500,
 armor => 3,
-attack => {
-       ground => {
-               damage => [25, 28, 31, 34],
-               cooldown => 30,
+attack => [
+       {
+               anti => 3,
+               name => 'ATS/A Laser Battery',
+               damage => 25,
+               upgrade => 3,
+               cooldown => 30 / $FPS,
+               range => 6,
        },
-       air => 'ground',
-       range => 6,
-},
+],
 sight => 11,
-speed => 7,
-energy => 200,
+speed => 2.5 * $SM,
+energy => 50,
+capacity => 200,
 special => [
        {
                name => 'Yamato Gun',
@@ -1246,14 +1440,15 @@ special => [
                min => 100,
                gas => 100,
                build => 120,
-               desc => 'blast doing 260 damage to a target',
-               attack => {
-                       ground => {
+               desc => 'blast doing 260 explosive damage to a target',
+               attack => [
+                       {
+                               anti => 3,
                                damage => 260,
+                               type => 'explosive',
+                               range => 10,
                        },
-                       air => 'ground',
-                       range => 10,
-               },
+               ],
                cost => 150,
        },
 ],
@@ -1263,7 +1458,8 @@ upgrade => [
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 },
@@ -1278,16 +1474,21 @@ min => 100,
 gas => 225,
 build => 80,
 suit => 3,
-unit => 2,
+size => 65 / $PPT, # x50
+pop => 2,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 200,
 armor => 1,
 sight => 10,
 detect => 1,
-speed => 15,
-energy => 200,
+speed => 5 * $SM,
+energy => 50,
+capacity => 200,
 special => [
        {
                name => 'Defensive Matrix',
@@ -1329,7 +1530,8 @@ upgrade => [
                min => 150,
                gas => 150,
                build => 166,
-               energy => 250-200,
+               energy => 62.5-50,
+               capacity => 250-200,
        },
 ],
 },
@@ -1344,24 +1546,31 @@ min => 250,
 gas => 125,
 build => 50,
 suit => 3,
-unit => 3,
+size => 49 / $PPT, # x37
+pop => 3,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 200,
 armor => 2,
-attack => {
-       air => {
-               damage => [6, 7, 8, 9],
-               cooldown => 64,
+attack => [
+       {
+               anti => 2,
+               name => 'Halo Rockets',
+               damage => 6,
+               upgrade => 1,
+               cooldown => 64 / $FPS,
                splash => 1,
                type => 'explosive',
                count => 8,
+               range => 6,
        },
-       range => 6,
-},
+],
 sight => 8,
-speed => 19,
+speed => 6.6 * $SM,
 },
 
 {
@@ -1371,14 +1580,19 @@ min => 100,
 gas => 100,
 build => 50,
 suit => 3,
-unit => 2,
+size => 49 / $PPT, # x37
+pop => 2,
+cargo => -8,
 race => 'terran',
-organic => 0,
+attr => {
+       mech => 1,
+       flying => 1,
+},
 air => 1,
 hp => 150,
 armor => 1,
 sight => 8,
-speed => 15,
+speed => 5.47 * $SM,
 transport => 1,
 },
 
@@ -1392,20 +1606,26 @@ min => 50,
 gas => 0,
 build => 20,
 suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 40,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
+               name => 'Spines',
                damage => 5,
-               cooldown => 22,
+               cooldown => 22 / $FPS,
+               range => 1,
        },
-       range => 1,
-},
+],
 sight => 7,
-speed => 14,
+speed => 4.92 * $SM,
 },
 
 {
@@ -1415,16 +1635,21 @@ min => 100,
 gas => 0,
 build => 40,
 suit => 3,
-unit => -9,
+size => 50 / $PPT,
+pop => -9,
+cargo => 0,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 200,
 armor => 0,
 cargo => 0,
 sight => 9,
 detect => 1,
-speed => 2,
+speed => .83 * $SM,
 transport => 1,
 upgrade => [
        {
@@ -1446,7 +1671,7 @@ upgrade => [
                min => 150,
                gas => 150,
                build => 133,
-               speed => 10 - 2,
+               speed => (3.33 - .83) * $SM,
        },
 ],
 },
@@ -1459,9 +1684,12 @@ trans => {
 },
 build => 20,
 suit => 1,
-unit => 0,
+size => 16 / $PPT,
+pop => 0,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 25,
 armor => 10,
 sight => 4,
@@ -1491,17 +1719,23 @@ min => 175,
 gas => 0,
 build => 20,
 suit => 3,
+size => 2, # 48x48
 race => 'zerg',
+attr => {
+       structure => 1,
+},
 hp => 300,
 armor => 2,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
+               name => 'Subterranean Tentacle',
                damage => 40,
-               cooldown => 32,
+               cooldown => 32 / $FPS,
                type => 'explosive',
+               range => 7,
        },
-       range => 7,
-},
+],
 sight => 10,
 speed => 0,
 },
@@ -1513,16 +1747,22 @@ min => 175,
 gas => 0,
 build => 20,
 suit => 3,
+size => 2, # 48x48
 race => 'zerg',
+attr => {
+       structure => 1,
+},
 hp => 400,
 armor => 0,
-attack => {
-       air => {
+attack => [
+       {
+               anti => 2,
+               name => 'Seeker Spores',
                damage => 15,
-               cooldown => 15,
+               cooldown => 15 / $FPS,
+               range => 7,
        },
-       range => 7,
-},
+],
 sight => 10,
 detect => 1,
 speed => 0,
@@ -1535,38 +1775,45 @@ min => 25,
 gas => 0,
 build => 28, # for 2
 suit => 1,
-unit => 0.5,
+size => 16 / $PPT,
+pop => 0.5,
+cargo => 1,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 35,
 armor => 0,
-attack => {
-       ground => {
-               damage => [5, 6, 7, 8],
-               cooldown => 8,
+attack => [
+       {
+               anti => 1,
+               name => 'Claws',
+               damage => 5,
+               upgrade => 1,
+               cooldown => 8 / $FPS,
+               range => 15 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 5,
-speed => 14,
+speed => 5.49 * $SM,
 upgrade => [
        {
                name => 'Metabolic Boost',
                min => 100,
                gas => 100,
                build => 80,
-               speed => 22 - 14,
+               speed => (8.36 - 5.49) * $SM,
        },
        {
                name => 'Adrenal Glands',
                min => 200,
                gas => 200,
                build => 80,
-               attack => {
-                       ground => {
-                               cooldown => 6,
+               attack => [
+                       {
+                               cooldown => (6 - 8) / $FPS,
                        },
-               },
+               ],
        },
 ],
 counter => ['archon', 'templar', 'firebat'],
@@ -1579,38 +1826,46 @@ min => 75,
 gas => 25,
 build => 28,
 suit => 2,
-unit => 1,
+size => 21 / $PPT, # x23
+pop => 1,
+cargo => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 80,
 armor => 0,
-attack => {
-       ground => {
-               damage => [10, 11, 12, 13],
-               cooldown => 15,
+attack => [
+       {
+               anti => 3,
+               name => 'Needle Spines',
+               damage => 10,
+               upgrade => 1,
+               cooldown => 15 / $FPS,
                type => 'explosive',
+               range => 4,
        },
-       air => 'ground',
-       range => 4,
-},
+],
 sight => 6,
-speed => 11,
+speed => 3.66 * $SM,
 upgrade => [
        {
                name => 'Grooved Spines',
                min => 150,
                gas => 150,
                build => 100,
-               attack => {
-                       range => 5 - 4,
-               },
+               attack => [
+                       {
+                               range => 5 - 4,
+                       },
+               ],
        },
        {
                name => 'Muscular Augments',
                min => 150,
                gas => 150,
                build => 100,
-               speed => 16 - 11,
+               speed => (5.57 - 3.66) * $SM,
        },
        {
                name => 'Lurker Aspect',
@@ -1629,21 +1884,28 @@ gas => 125,
 base => 'hydralisk',
 build => 40,
 suit => 2,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 125,
 armor => 1,
-attack => {
-       ground => {
-               damage => [20, 22, 24, 26],
-               cooldown => 37,
+attack => [
+       {
+               anti => 1,
+               name => 'Subterranean Spines',
+               damage => 20,
+               upgrade => 2,
+               cooldown => 37 / $FPS,
                splash => 'line',
+               range => 6,
        },
-       range => 6,
-},
+],
 sight => 8,
-speed => 17,
+speed => 5.82 * $SM,
 },
 
 {
@@ -1653,15 +1915,20 @@ min => 100,
 gas => 100,
 build => 50,
 suit => 2,
-unit => 2,
+size => 48 / $PPT,
+pop => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 120,
 armor => 0,
 sight => 10,
-speed => 18,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
 special => [
        {
                name => 'Infest CC',
@@ -1700,19 +1967,25 @@ special => [
                count => 2,
                alt => 'Broodling',
                suit => 1,
-               unit => 0,
-               organic => 1,
+               size => 19 / $PPT,
+               pop => 0,
+               attr => {
+                       organic => 1,
+               },
                hp => 30,
                armor => 0,
-               attack => {
-                       ground => {
-                               damage => [4, 5, 6, 7],
-                               cooldown => 15,
+               attack => [
+                       {
+                               anti => 1,
+                               name => 'Toxic Spores',
+                               damage => 4,
+                               upgrade => 1,
+                               cooldown => 15 / $FPS,
+                               range => 2 / $PPT,
                        },
-                       range => 1,
-               },
+               ],
                sight => 5,
-               speed => 19,
+               speed => 6 * $SM,
        },
 ],
 },
@@ -1724,21 +1997,26 @@ min => 100,
 gas => 50,
 build => 40,
 suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 60,
 armor => 0,
-attack => {
-       ground => {
+attack => [
+       {
+               anti => 1,
+               name => 'Suicide',
                damage => 500,
                splash => 1,
                type => 'explosive',
+               range => 3 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 5,
-speed => 17,
+speed => 5.82 * $SM,
 },
 
 {
@@ -1748,20 +2026,26 @@ min => 12,
 gas => 38,
 build => 30, # for 2
 suit => 1,
-unit => 0.5,
+size => 24 / $PPT,
+pop => 0.5,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 25,
 armor => 0,
-attack => {
-       air => {
+attack => [
+       {
+               anti => 2,
+               name => 'Suicide',
                damage => 110,
+               range => 3 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 5,
-speed => 18,
+speed => 6.67 * $SM,
 counter => ['cannon', 'goliath', 'hydralisk'],
 },
 
@@ -1772,28 +2056,38 @@ min => 100,
 gas => 100,
 build => 40,
 suit => 1,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 120,
 armor => 0,
-attack => {
-       ground => {
-               damage => [9 .. 12],
-               cooldown => 30,
+attack => [
+       {
+               anti => 3,
+               name => 'Glave Wurm',
+               damage => 9,
+               upgrade => 1,
+               cooldown => 30 / $FPS,
                splash => 'bounce',
+               range => 3,
        },
-       air => 'ground',
-       range => 3,
-},
+],
 sight => 7,
-speed => 18,
+speed => 6.67 * $SM,
 special => [
        {
                alt => 'Cocoon',
                suit => 3,
-               organic => 1,
+               size => 32 / $PPT,
+               attr => {
+                       organic => 1,
+                       flying => 1,
+               },
                hp => 200,
                armor => 0,
                sight => 4,
@@ -1812,21 +2106,28 @@ gas => 200,
 build => 40,
 base => 'mutalisk',
 suit => 3,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 150,
 armor => 2,
-attack => {
-       ground => {
-               damage => [20, 22, 24, 26],
-               cooldown => 30,
+attack => [
+       {
+               anti => 1,
+               name => 'Acid Spore',
+               damage => 20,
+               upgrade => 2,
+               cooldown => 30 / $FPS,
+               range => 8,
        },
-       range => 8,
-},
+],
 sight => 11,
-speed => 7,
+speed => 2.5 * $SM,
 },
 
 {
@@ -1837,22 +2138,29 @@ gas => 150,
 build => 40,
 base => 'mutalisk',
 suit => 3,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+       flying => 1,
+},
 air => 1,
 hp => 250,
 armor => 2,
-attack => {
-       air => {
-               damage => [25, 27, 29, 31],
-               cooldown => 100,
+attack => [
+       {
+               anti => 2,
+               name => 'Corrosive Acid',
+               damage => 25,
+               upgrade => 2,
+               cooldown => 100 / $FPS,
                type => 'explosive',
+               range => 6,
        },
-       range => 6,
-},
+],
 sight => 10,
-speed => 15,
+speed => 5 * $SM,
 counter => ['goliath', 'dragoon', 'scourge'],
 },
 
@@ -1863,14 +2171,19 @@ min => 50,
 gas => 150,
 build => 50,
 suit => 2,
-unit => 2,
+size => 27 / $PPT, # x25
+pop => 2,
+cargo => 2,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 80,
 armor => 1,
 sight => 10,
-speed => 12,
-energy => 200,
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
 special => [
        {
                name => 'Consume',
@@ -1902,6 +2215,16 @@ special => [
                duration => 12,
        },
 ],
+upgrade => [
+       {
+               name => 'Metasynaptic Node',
+               min => 150,
+               gas => 50,
+               build => 166,
+               energy => 62.5-50,
+               capacity => 250-200,
+       },
+],
 counter => ['archon', 'firebat'],
 },
 
@@ -1912,20 +2235,27 @@ min => 200,
 gas => 200,
 build => 60,
 suit => 3,
-unit => 4,
+size => 38 / $PPT, # x32
+pop => 4,
+cargo => 4,
 race => 'zerg',
-organic => 1,
+attr => {
+       organic => 1,
+},
 hp => 400,
 armor => 1,
-attack => {
-       ground => {
-               damage => [20, 23, 26, 29],
-               cooldown => 15,
+attack => [
+       {
+               anti => 1,
+               name => 'Kaiser Blades',
+               damage => 20,
+               upgrade => 3,
+               cooldown => 15 / $FPS,
+               range => 25 / $PPT,
        },
-       range => 1,
-},
+],
 sight => 7,
-speed => 16,
+speed => 5.12 * $SM,
 upgrade => [
        {
                name => 'Chitinous Plating',
@@ -1939,7 +2269,7 @@ upgrade => [
                min => 200,
                gas => 200,
                build => 133,
-               speed => 21 - 16,
+               speed => (8.1 - 5.12) * $SM,
        },
 ],
 },