use utf8;
use strict;
+my $V = v5.0.2; # some patch data for invisible attributes
+my $GATHER = "gather 5 minerals (7 gold) after 4s (upto 60/minute)\n or 4 gas (8 rich) after 3s (53/min)"; # lotv time scale
+
[
-'patch 2.1.10',
+'patch 2.1.9+',
# http://wiki.teamliquid.net/starcraft2/Unit_Statistics
# http://wiki.teamliquid.net/starcraft2/User:Roemy/Unit_Statistics_(detailed)
# http://starcraft.wikia.com/wiki/List_of_StarCraft_II_units
attack => [
{
anti => 1,
- name => 'Particle beam',
+ name => 'Particle Beam',
damage => 5,
cooldown => 1.5,
range => 0,
],
speed => 2.8125,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => "warp-in buildings\n- $GATHER",
+ },
+ ],
},
{
attack => [
{
anti => 3,
- name => 'Phase disruptor',
+ name => 'Phase Disruptor',
damage => 20,
cooldown => 1.25,
type => 'projectile',
],
speed => 1.875,
sight => 9,
+ energy => 50,
capacity => 200,
special => [
{
psionic => 1,
massive => 1,
flying => 1,
+ heroic => 1,
},
attack => [
{
anti => 3,
- name => 'Purifier beams',
+ name => 'Purifier Beams',
damage => 6,
upgrade => 1,
cooldown => 2.21,
],
speed => 1.4062,
sight => 14,
+ energy => 50,
capacity => 200,
special => [
{
race => 'protoss',
cat => 'base',
name => 'Nexus',
+ pop => -10,
min => 400,
gas => 0,
build => 100,
attack => [
{
anti => 3,
- name => 'Photon overcharge',
+ name => 'Photon Overcharge',
damage => 20,
cooldown => 1.25,
type => 'projectile',
],
speed => 0,
sight => 11,
+ energy => 0,
capacity => 100,
special => [
{
attack => [
{
anti => 1,
- name => 'Psi blades',
+ name => 'Psi Blades',
damage => 8,
upgrade => 1,
cooldown => 1.2,
min => 200,
gas => 200,
build => 140,
- speed => .5,
range => 4,
duration => 3.5,
cooldown => 10,
},
],
+ upgrade => [
+ {
+ name => 'Charge',
+ speed => .5,
+ },
+ ],
},
{
attack => [
{
anti => 3,
- name => 'Disruption beam',
+ name => 'Disruption Beam',
damage => 6,
upgrade => 1,
cooldown => 1.0,
],
speed => 2.25,
sight => 10,
+ energy => 50,
capacity => 200,
special => [
{
attack => [
{
anti => 3,
- name => 'Particle disruptors',
+ name => 'Particle Disruptors',
damage => 10,
upgrade => 1,
bonus => {
},
speed => 1.875,
sight => 10,
+ energy => 50,
capacity => 200,
special => [
{
attack => [
{
anti => 1,
- name => 'Warp blade',
+ name => 'Warp Blade',
damage => 45,
upgrade => 5,
cooldown => 1.694,
attack => [
{
anti => 3,
- name => 'Psionic shockwave',
+ name => 'Psionic Shockwave',
damage => 25,
upgrade => 3,
bonus => {
sight => 9,
},
+{
+ race => 'protoss',
+ cat => 'robotic',
+ name => 'Observer',
+ pop => 1,
+ min => 25,
+ gas => 75,
+ build => 30,
+ size => 1,
+ cargo => 0,
+ armor => 0,
+ hp => 40,
+ shield => 20,
+ attr => {
+ light => 1,
+ mech => 1,
+ flying => 1,
+ },
+ speed => 1.875,
+ sight => 11,
+ detect => 1,
+ special => [
+ {
+ name => 'Permanent Cloak',
+ abbr => 'cl',
+ desc => 'cloaked at all times',
+ duration => -1,
+ },
+ ],
+ upgrade => [
+ {
+ name => 'Gravitic Boosters',
+ min => 100,
+ gas => 100,
+ build => 80,
+ speed => $V ge v5.0.11 ? 1 : 0.9375, # 50% increase
+ },
+ ],
+},
+
+{
+ race => 'protoss',
+ cat => 'robotic',
+ name => 'Warp Prism',
+ pop => 2,
+ min => 200,
+ gas => 0,
+ build => 50,
+ size => 1.75,
+ cargo => -8,
+ armor => 0,
+ hp => 100,
+ shield => 100,
+ attr => {
+ armored => 1,
+ mech => 1,
+ psionic => 1,
+ flying => 1,
+ },
+ speed => 2.9531,
+ sight => 10,
+ special => [
+ {
+ name => 'Phasing Mode',
+ abbr => 'pm',
+ desc => 'basically transforms into a hovering pylon',
+ },
+ ],
+ upgrade => [
+ {
+ name => 'Gravitic Drive',
+ min => 100,
+ gas => 100,
+ build => 80,
+ speed => 0.422,
+ },
+ ],
+},
+
{
race => 'protoss',
cat => 'robotic',
attack => [
{
anti => 1,
- name => 'Phase disruptors',
+ name => 'Phase Disruptors',
damage => 20,
upgrade => 2,
bonus => {
],
},
-{
- race => 'protoss',
- cat => 'robotic',
- name => 'Observer',
- pop => 1,
- min => 25,
- gas => 75,
- build => 30,
- size => 1,
- cargo => 0,
- armor => 0,
- hp => 40,
- shield => 20,
- attr => {
- light => 1,
- mech => 1,
- flying => 1,
- },
- speed => 1.875,
- sight => 11,
- detect => 1,
- special => [
- {
- name => 'Permanent Cloak',
- abbr => 'cl',
- desc => 'cloaked at all times',
- duration => -1,
- },
- ],
- upgrade => [
- {
- name => 'Gravitic Boosters',
- min => 100,
- gas => 100,
- build => 80,
- speed => 0.9375,
- },
- ],
-},
-
-{
- race => 'protoss',
- cat => 'robotic',
- name => 'Warp Prism',
- pop => 2,
- min => 200,
- gas => 0,
- build => 50,
- size => 1.75,
- cargo => -8,
- armor => 0,
- hp => 100,
- shield => 100,
- attr => {
- armored => 1,
- mech => 1,
- psionic => 1,
- flying => 1,
- },
- speed => 2.9531,
- sight => 10,
- special => [
- {
- name => 'Phasing Mode',
- abbr => 'pm',
- desc => 'basically transforms into a hovering pylon',
- },
- ],
- upgrade => [
- {
- name => 'Gravitic Drive',
- min => 100,
- gas => 100,
- build => 80,
- speed => 0.422,
- },
- ],
-},
-
{
race => 'protoss',
cat => 'stargate',
],
speed => 4.25,
sight => 10,
+ energy => 50,
capacity => 200,
special => [
{
attack => [
{
anti => 3,
- name => 'Prismatic beam',
+ name => 'Prismatic Beam',
damage => 6,
upgrade => 1,
bonus => {
],
speed => 4,
sight => 10,
+ energy => 50, #XXX
capacity => 200,
special => [
{
attack => [
{
anti => 1,
- name => 'Fusion cutter',
+ name => 'Fusion Cutter',
damage => 5,
cooldown => 1.5,
range => 0,
],
speed => 2.8125,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => join("\n- ",
+ 'construct buildings',
+ 'repair mechanical units and buildings (speed as build time but 25% cost)',
+ $GATHER,
+ ),
+ },
+ ],
},
{
},
speed => 2.8,
sight => 8,
+ special => [
+ {
+ name => 'limited worker',
+ abbr => '⛏',
+ desc => join("\n- ",
+ 'repair like an SCV (but cannot build)',
+ 'gather 25 minerals after 6s: 200-225 over its 64s lifetime (equilavent to 3½ SCVs)',
+ ),
+ duration => 64,
+ energy => 50,
+ },
+ ],
},
{
attack => [
{
anti => 2,
- name => 'Longbolt missiles',
+ name => 'Longbolt Missiles',
damage => 12,
cooldown => 0.8608,
count => 2,
attack => [
{
anti => 1,
- name => 'Ibiks cannon',
+ name => 'Ibiks Cannon',
damage => 40,
splash => 1,
cooldown => 2,
attack => [
{
anti => 3,
- name => 'C-14 rifle',
+ name => 'C-14 Rifle',
damage => 6,
upgrade => 1,
cooldown => 0.8608,
attack => [
{
anti => 1,
- name => 'Punisher grenades',
+ name => 'Punisher Grenades',
damage => 10,
upgrade => 1,
bonus => {
],
duration => 15,
},
- ],
- upgrade => [
{
name => 'Concussive Shells',
abbr => 'cs',
attack => [
{
anti => 1,
- name => 'P-45 Reaper pistol',
+ name => 'P-45 Reaper Pistol',
damage => 4,
upgrade => 1,
cooldown => 1.1,
attack => [
{
anti => 3,
- name => 'C-10 rifle',
+ name => 'C-10 Rifle',
damage => 10,
upgrade => 1,
bonus => {
],
speed => 2.25,
sight => 11,
+ energy => $V ge v4.1.4 || $V lt v4.0.0 ? 75 : 50,
+ upgrade => [
+ $V ge v4.1.4 || $V lt v4.0.0 ? () : {
+ name => 'Moebius Reactor',
+ min => 100,
+ gas => 100,
+ build => 80,
+ energy => 25,
+ },
+ ],
capacity => 200,
special => [
{
desc => 'reveals cloaked units and removes up to 100 shields and energy',
cost => 75,
range => 10,
- radius => 1.5,
+ radius => 1.5, # 2 after upgrade
+ detect => 1,
},
{
name => 'Personal Cloaking',
{
name => 'Nuclear Strike',
abbr => 'ns',
- desc => 'guides a nuclear missile which will do 300 damage plus 200 to buildings',
+ desc => 'guides a missile which will do 300 damage plus 200 to buildings',
duration => 20,
+ cooldown => 20,
range => 12,
},
],
attack => [
{
anti => 1,
- name => 'Infernal flamethrower',
+ name => 'Infernal Flamethrower',
damage => 8,
upgrade => 1,
bonus => {
upgrade => [
{
name => 'Infernal Pre-Igniter',
- min => 150,
- gas => 150,
+ min => $V lt v4.11.0 ? 150 : 100,
+ gas => $V lt v4.11.0 ? 150 : 100,
build => 110,
attack => [
{
name => 'Napalm Spray',
damage => 18,
upgrade => 2,
+ bonus => {
+ light => 0, # visibility for upgrade
+ },
splash => 1,
cooldown => 2,
range => 2,
name => 'Hellion Mode',
abbr => 'hm',
desc => 'transform to Hellion',
- duration => 4,
+ transform => 4,
},
],
upgrade => [
{
name => 'Infernal Pre-Igniter',
- min => 150,
- gas => 150,
+ min => $V lt v4.11.0 ? 150 : 100,
+ gas => $V lt v4.11.0 ? 150 : 100,
build => 110,
attack => [
{
splash => 1,
cooldown => 40,
range => 5,
+ transform => 1.0, # time to burrow
},
],
speed => 2.8125,
attack => [
{
anti => 1,
- name => '90 mm twin cannon',
+ name => '90 mm Twin Cannon',
damage => 15,
upgrade => 2,
bonus => {
],
special => [
{
- name => 'siege mode',
- abbr => 'sg',
+ name => 'Siege Mode',
+ abbr => 'sm',
alt => 'Sieged Tank',
cargo => 0,
attack => [
{
anti => 1,
- name => '120 mm shock cannon',
+ name => '120 mm Shock Cannon',
damage => 35,
upgrade => 3,
bonus => {
},
],
speed => 0,
- duration => 4,
+ transform => 4,
},
],
speed => 2.25,
# name => 'High Impact Payload',
damage => 24,
upgrade => 2,
+ type => 'projectile',
cooldown => 2,
range => 10,
},
attack => [
{
anti => 2,
- name => 'Lanzer torpedoes',
+ name => 'Lanzer Torpedoes',
damage => 10,
upgrade => 1,
bonus => {
{
name => 'Assault Mode',
abbr => 'am',
- build => 3, # transformation time
+ transform => 3,
alt => 'Landed Viking',
cargo => 2,
attack => [
{
anti => 1,
- name => 'Twin gatling cannon',
+ name => 'Twin Gatling Cannon',
damage => 12,
upgrade => 1,
cooldown => 1,
flying => 1,
},
speed => 2.5,
+ energy => 50,
capacity => 200,
special => [
{
attack => [
{
anti => 1,
- name => 'Backlash rockets',
+ name => 'Backlash Rockets',
damage => 12,
upgrade => 1,
type => 'projectile',
],
speed => 2.75,
sight => 10,
+ energy => 50,
capacity => 200,
special => [
{
speed => 2.25,
sight => 11,
detect => 1,
+ energy => 50,
capacity => 200,
special => [
{
alt => 'Auto-Turret',
-# abbr => 'at',
+ abbr => 'at',
cost => 50,
size => 2,
cargo => 0,
attack => [
{
anti => 3,
- name => '12 mm gauss cannon',
+ name => '12 mm Gauss Cannon',
damage => 8,
cooldown => 0.8,
range => 6,
build => 140,
armor => 2,
},
+ {
+ name => 'Durable Materials',
+ min => 150,
+ gas => 150,
+ build => 110,
+ duration => 60,
+ },
],
+ duration => 180,
},
{
alt => 'Point Defense Drone',
cooldown => 0,
attack => [
{
- name => 'Point defense laser',
+ name => 'Point Defense Laser',
range => 8,
},
],
build => 140,
armor => 2,
},
+ {
+ name => 'Durable Materials',
+ min => 150,
+ gas => 150,
+ build => 110,
+ duration => 10,
+ },
],
duration => 20,
},
},
],
upgrade => [
- {
- name => 'Durable Materials',
- min => 150,
- gas => 150,
- build => 110,
-# special => {
-# at => {
-# duration => 240,
-# },
-# pd => {
-# duration => 30,
-# },
-# },
- },
{
name => 'Corvid Reactor',
min => 150,
attack => [
{
anti => 1,
- name => 'ATS laser batteries',
+ name => 'ATS Laser Batteries',
damage => 8,
upgrade => 1,
cooldown => 0.225,
},
{
anti => 2,
- name => 'ATS laser batteries',
+ name => 'ATA Laser Batteries',
damage => 6,
upgrade => 1,
cooldown => 0.225,
],
speed => 1.875,
sight => 12,
+ energy => 50,
capacity => 200,
special => [
{
speed => 2.8125,
creep => 1.0,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => "morph into buildings\n- $GATHER",
+ },
+ ],
},
{
speed => 0.9375,
creep => 2.7,
sight => 9,
+ energy => 25,
capacity => 200,
special => [
{
flying => 1,
},
speed => 0.586,
- creep => 0,
sight => 11,
special => [
{
upgrade => [
{
name => 'Pneumatized Carapace',
- min => 100,
- gas => 100,
+ min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
+ gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
build => 60,
speed => 1.294,
},
flying => 1,
},
speed => 1.875,
- creep => 0,
sight => 11,
detect => 1,
+ energy => 50,
capacity => 200,
special => [
{
name => 'Spawn Changeling',
+ abbr => 'sc',
alt => 'Changeling',
cost => 50,
duration => 150,
speed => 2.25,
creep => 1.0,
sight => 8,
+ range => 0,
},
{
name => 'Contaminate',
upgrade => [
{
name => 'Pneumatized Carapace',
- min => 100,
- gas => 100,
+ min => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
+ gas => $V lt v4.10.1 || $V ge v4.11.0 ? 100 : 75,
build => 60,
speed => 3.375 - 1.875,
},
damage => 16,
upgrade => 2,
cooldown => 2.0,
+ range => 4,
},
],
speed => 2.25,
attack => [
{
anti => 3,
- name => 'Needle spines', # Scythe melee
+ name => 'Needle Spines', # Scythe melee
damage => 12,
upgrade => 1,
type => 'projectile', # except melee
build => 100,
speed => 0.5625,
creep => -0.302,
+ speed => $V ge v5.0.11 ? .98 : .79, #TODO
},
],
},
speed => 2.25,
creep => 1.3,
sight => 10,
+ energy => 50,
capacity => 200,
special => [
{
range => 10,
duration => 4,
radius => 2.0,
+ detect => 1,
},
{
alt => 'Infested Terran',
cost => 25,
range => 9,
duration => 30,
- build => 5,
+ build => 4.8, # 5 normal but 3 faster
size => 0.75,
cargo => 0,
armor => 0,
},
attack => [
{
+ name => 'Infested Rockets',
anti => 3,
damage => 8,
cooldown => 0.8608,
race => 'zerg',
cat => 'lair',
name => 'Nydus Worm',
- min => 100,
+ min => 100, # Nydus Network costs 150/200
gas => 100,
build => 20,
size => 3,
special => [
{
alt => 'Locust',
- build => 5,
+ build => 4.8, # 5 normal but 3 faster
size => 0.75,
cargo => 0,
armor => 0,
duration => 25,
cooldown => 60,
count => 2,
+ upgrade => [
+ {
+ # Flying Locusts
+ attr => {
+ flying => 1,
+ },
+ },
+ ],
},
],
upgrade => [
min => 200,
gas => 200,
build => 160,
- attr => {
- flying => 1,
- },
},
],
},
damage => 9,
upgrade => 1,
splash => 'bounce',
+ type => 'projectile',
psionic => 1,
cooldown => 1.5246,
range => 3,
special => [
{
name => 'Swarm Seeds',
- abbr => 'ss',
desc => 'Broodlings are spawned upon each attack',
- duration => -1,
+ duration => $V ge v5.0.11 ? 2.55 : 4,
alt => 'Broodling',
pop => 0,
# build => 1,
},
speed => 2.9531,
sight => 11,
+ energy => 50, #XXX
capacity => 200,
special => [
{