4 my $V = v5.0.2; # some patch data for invisible attributes
5 my $GATHER = "gather 5 minerals (7 gold) after 4s (upto 60/minute)\n or 4 gas (8 rich) after 3s (53/min)"; # lotv time scale
9 # http://wiki.teamliquid.net/starcraft2/Unit_Statistics
10 # http://wiki.teamliquid.net/starcraft2/User:Roemy/Unit_Statistics_(detailed)
11 # http://starcraft.wikia.com/wiki/List_of_StarCraft_II_units
33 name => 'Particle Beam',
45 desc => "warp-in buildings\n- $GATHER",
53 name => 'Photon Cannon',
68 name => 'Phase Disruptor',
83 name => 'Mothership Core',
102 name => 'Repulsor Cannon',
105 type => 'projectile',
116 name => 'Photon Overcharge',
118 desc => 'activate Nexus weapon for 1 minute',
123 name => 'Mass Recall',
125 desc => 'teleports itself and nearby units to targeted Nexus',
133 desc => 'create a temporal field which slows ground units by 50%',
145 name => 'Mothership',
165 name => 'Purifier Beams',
179 name => 'Cloaking Field',
181 desc => 'cloaks all nearby friendly units and buildings',
186 name => 'Mass Recall',
188 desc => 'teleports itself and nearby units to targeted Nexus',
196 desc => 'create a temporal field which slows ground units by 50%',
225 name => 'Photon Overcharge',
228 type => 'projectile',
238 name => 'Chrono Boost',
240 desc => '50% faster production speed at a targeted building',
268 name => 'Psi Blades',
282 desc => 'on attack, increases movement speed to 6.05 for 3.5s',
321 name => 'Disruption Beam',
334 name => 'Force Field',
336 desc => 'erect a barries that impedes ground movement for 15s',
343 name => 'Guardian Shield',
345 desc => 'reduces ranged damage by 2 for friendly units within 4 radius',
351 name => 'Hallucination',
353 desc => 'create fake replica of a protoss unit for one minute',
382 name => 'Particle Disruptors',
388 type => 'projectile',
399 desc => 'teleport to visible location',
412 name => 'High Templar',
436 desc => 'target will lose its energy and receive damage equal to that amount',
441 name => 'Psionic Storm',
443 desc => 'deals 80 damage over 4 seconds to units in targeted area',
459 name => 'Dark Templar',
478 name => 'Warp Blade',
489 name => 'Permanent Cloak',
491 desc => 'cloaked at all times',
501 min => 100, # or 175 or 250
502 gas => 300, # or 275 or 250
505 base => ['Templar', 'Templar'],
518 name => 'Psionic Shockwave',
557 name => 'Permanent Cloak',
559 desc => 'cloaked at all times',
565 name => 'Gravitic Boosters',
569 speed => $V ge v5.0.11 ? 1 : 0.9375, # 50% increase
577 name => 'Warp Prism',
597 name => 'Phasing Mode',
599 desc => 'basically transforms into a hovering pylon',
604 name => 'Gravitic Drive',
633 name => 'Phase Disruptors',
648 name => 'Hardened Shield',
650 desc => 'reduce all damage on shields to a maximum of 10',
673 jump => 'Cliff Walk',
678 name => 'Thermal Lances',
691 name => 'Extended Thermal Lance',
725 name => 'Ion Cannons',
731 type => 'projectile',
743 name => 'Graviton Beam',
745 desc => 'lifts a ground unit into the air for 10s',
753 name => 'Anion Pulse-Crystals',
787 name => 'Prismatic Beam',
795 range => 6, # keeps firing until range 8
802 name => 'Prismatic Alignment',
804 desc => 'increases damage to armored by 6 for 20 seconds',
840 name => 'Pulsar Beam',
858 name => 'Revelation',
860 desc => 'hit enemy units and buildings are revealed for 1 minute',
870 desc => 'temporary detection within sight range',
900 name => 'Kinetic Overload',
907 type => 'projectile',
913 name => 'Resonance Coil',
916 type => 'projectile',
948 range => 8, # leash range 14
949 dps => [26.7, undef, undef, 42.6],
957 alt => 'Interceptor',
975 name => 'Interceptor Beams',
989 name => 'Graviton Catapult',
993 desc => 'increases Interceptor launch speed from 2/s to 4-8/s',
996 cooldown => -0.375, # -0.25
1008 name => 'SCV', # T-280 Space Construction Vehicle
1025 name => 'Fusion Cutter',
1037 desc => join("\n- ",
1038 'construct buildings',
1039 'repair mechanical units and buildings (speed as build time but 25% cost)',
1065 name => 'limited worker',
1067 desc => join("\n- ",
1068 'repair like an SCV (but cannot build)',
1069 'gather 25 minerals after 6s: 200-225 over its 64s lifetime (equilavent to 3½ SCVs)',
1080 name => 'Missile Turret',
1096 name => 'Longbolt Missiles',
1100 type => 'projectile',
1109 name => 'Hi-Sec Auto Tracking',
1120 name => 'Building Armor',
1132 name => 'Planetary Fortress',
1133 base => ['Command Center'],
1150 name => 'Ibiks Cannon',
1161 name => 'Neosteel Frame',
1165 desc => 'increase load space by 5',
1168 name => 'Building Armor',
1175 name => 'Hi-Sec Auto Tracking',
1207 name => 'C-14 Rifle',
1217 name => 'Combat Shield',
1226 name => 'Stim Pack',
1228 desc => 'increases attack and movement speed by 50% for 15s at the cost of 10 health',
1267 name => 'Punisher Grenades',
1274 type => 'projectile',
1281 name => 'Stim Pack',
1283 desc => 'increases attack and movement speed by 50% for 15s at the cost of 10 health',
1297 type => 'projectile',
1305 name => 'Concussive Shells',
1307 desc => 'slows non-massive enemy movement speed by 50% for 1.5s when hit',
1338 name => 'P-45 Reaper Pistol',
1350 name => 'Combat Drugs',
1352 desc => 'heal 2 HP per second after 10 seconds out of combat',
1377 name => 'C-10 Rifle',
1390 energy => $V ge v4.1.4 || $V lt v4.0.0 ? 75 : 50,
1392 $V ge v4.1.4 || $V lt v4.0.0 ? () : {
1393 name => 'Moebius Reactor',
1403 name => 'Sniper Round',
1405 desc => '25 damage to a single biological unit, or 50 to psionic',
1410 name => 'EMP Round',
1412 desc => 'reveals cloaked units and removes up to 100 shields and energy',
1415 radius => 1.5, # 2 after upgrade
1419 name => 'Personal Cloaking',
1421 desc => 'has the ability to cloak',
1429 name => 'Nuclear Strike',
1431 desc => 'guides a missile which will do 300 damage plus 200 to buildings',
1458 name => 'Infernal Flamethrower',
1474 name => 'Hellbat Mode',
1476 desc => 'transform to Hellbat',
1482 name => 'Infernal Pre-Igniter',
1483 min => $V lt v4.11.0 ? 150 : 100,
1484 gas => $V lt v4.11.0 ? 150 : 100,
1520 name => 'Napalm Spray',
1524 light => 0, # visibility for upgrade
1535 name => 'Hellion Mode',
1537 desc => 'transform to Hellion',
1543 name => 'Infernal Pre-Igniter',
1544 min => $V lt v4.11.0 ? 150 : 100,
1545 gas => $V lt v4.11.0 ? 150 : 100,
1562 name => 'Widow Mine',
1578 name => 'Sentinel Missiles',
1586 transform => 1.0, # time to burrow
1593 name => 'Drilling Claws',
1595 desc => 'decreases burrow time from 3 to 1 second',
1606 name => 'Siege Tank',
1622 name => '90 mm Twin Cannon',
1635 name => 'Siege Mode',
1637 alt => 'Sieged Tank',
1642 name => '120 mm Shock Cannon',
1682 name => "Thor's Hammer",
1691 name => 'Javelin Missiles',
1692 # name => 'Explosive Payload',
1700 type => 'projectile',
1707 name => 'Punisher Cannons',
1708 # name => 'High Impact Payload',
1711 type => 'projectile',
1740 name => 'Lanzer Torpedoes',
1746 type => 'projectile',
1754 name => 'Assault Mode',
1757 alt => 'Landed Viking',
1762 name => 'Twin Gatling Cannon',
1799 desc => 'automatically heals nearby biological allies for 9 HP per second',
1804 name => 'Ignite Afterburners',
1806 desc => 'boost speed and accelleration to 4.25 for 8s',
1815 name => 'Caduceus Reactor',
1827 name => 'Banshee', # AH/G-24
1844 name => 'Backlash Rockets',
1847 type => 'projectile',
1861 desc => 'has the ability to cloak',
1895 alt => 'Auto-Turret',
1910 name => '12 mm Gauss Cannon',
1920 name => 'Hi-Sec Auto Tracking',
1931 name => 'Building Armor',
1938 name => 'Durable Materials',
1948 alt => 'Point Defense Drone',
1964 name => 'Point Defense Laser',
1971 name => 'Hi-Sec Auto Tracking',
1982 name => 'Building Armor',
1989 name => 'Durable Materials',
1999 name => 'Seeker Missile',
2001 desc => 'launches missile to do 100 damage plus splash'
2002 . ' unless targeted unit moves to 13 range within 5 seconds of charging',
2015 name => 'Corvid Reactor',
2027 name => 'Battlecruiser',
2045 name => 'ATS Laser Batteries',
2049 type => 'projectile',
2054 name => 'ATA Laser Batteries',
2058 type => 'projectile',
2068 name => 'Yamato Cannon',
2070 desc => '300 damage to a single target',
2086 name => 'Behemoth Reactor',
2129 desc => "morph into buildings\n- $GATHER",
2157 type => 'projectile', # except if range < 3
2163 name => 'Acid Spines',
2167 type => 'projectile', # except if range < 3
2178 name => 'Spawn Larva',
2180 desc => 'injects a Hatchery to produce 4 Larvae after 40 seconds',
2187 name => 'Spawn Creep Tumor',
2189 desc => 'place a tumor on creep which will expand it',
2195 name => 'Transfusion',
2197 desc => 'heal a friendly biological unit or building for 125 HP',
2226 name => 'Generate Creep',
2228 desc => 'place Zerg creep at current location',
2236 name => 'Pneumatized Carapace',
2237 min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
2238 gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
2243 name => 'Ventral Sacs',
2257 base => ['Overlord'],
2278 name => 'Spawn Changeling',
2280 alt => 'Changeling',
2298 name => 'Contaminate',
2300 desc => 'covers an enemy structure in slime, preventing production and research for 30 seconds',
2308 name => 'Pneumatized Carapace',
2309 min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
2310 gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
2312 speed => 3.375 - 1.875,
2352 name => 'Spine Crawler',
2368 name => 'Impaler Tentacle',
2385 name => 'Spore Crawler',
2401 name => 'Seeker Spores',
2406 type => 'projectile',
2448 name => 'Adrenal Glands',
2461 name => 'Metabolic Boost',
2474 base => ['Zergling'],
2489 name => 'Volatile Burst',
2507 name => 'Centrifugal Hooks',
2536 name => 'Acid Saliva', # Claws melee
2549 name => 'Rapid Regeneration',
2551 desc => 'regenerates health at 5 HP/s while burrowed',
2555 name => 'Tunneling Claws',
2560 desc => 'move while burrowed at speed of 2.0 and increase regeneration to 10 HP/s',
2567 name => 'Glial Reconstitution',
2580 name => 'Hydralisk',
2596 name => 'Needle Spines', # Scythe melee
2599 type => 'projectile', # except melee
2609 name => 'Grooved Spines',
2620 name => 'Muscular Augments',
2626 speed => $V ge v5.0.11 ? .98 : .79, #TODO
2655 name => 'Neural Parasite',
2657 desc => 'take control of target enemy unit for 15s (while within 14 range)',
2666 name => 'Fungal Growth',
2668 desc => 'for 4 seconds, immobilize enemy units in target area and deal 30 damage',
2676 alt => 'Infested Terran',
2680 build => 4.8, # 5 normal but 3 faster
2691 name => 'Infested Rockets',
2705 name => 'Pathogen Glands',
2717 name => 'Nydus Worm',
2718 min => 100, # Nydus Network costs 150/200
2737 name => 'Swarm Host',
2753 dps => [16.7, undef, undef, 20.8], # 20/.6 * 2 /60*25
2754 type => 'projectile',
2758 range => 3*25, # locust speed * duration = theoretical walk limit
2767 build => 4.8, # 5 normal but 3 faster
2779 name => 'Acid Spit',
2782 type => 'projectile',
2805 name => 'Flying Locusts',
2833 name => 'Glaive Wurm',
2837 type => 'projectile',
2847 name => 'Tissue Regeneration',
2849 desc => 'health regeneration rate increased to 1 HP per second',
2857 name => 'Corruptor',
2874 name => 'Parasite Spores',
2881 type => 'projectile',
2890 name => 'Corruption',
2891 desc => 'target unit takes 20% more damage for 30 seconds',
2902 name => 'Brood Lord',
2903 base => ['Corruptor'],
2921 name => 'Broodling Strike',
2932 name => 'Swarm Seeds',
2933 desc => 'Broodlings are spawned upon each attack',
2934 duration => $V ge v5.0.11 ? 2.55 : 4,
2963 desc => 'immune to snare, stun, mind control, and movement altering effects',
2993 name => 'Blinding Cloud',
2995 desc => 'all attacks from within cloud are reduced to melee range',
3004 desc => 'pull target unit to Viper\'s location',
3012 desc => 'leaches 200 life of friendly building over 20s to gain 50 energy',
3024 name => 'Ultralisk',
3041 name => 'Kaiser Blades',
3056 desc => 'immune to snare, stun, mind control, and movement altering effects',
3062 name => 'Chitinous Plating',